diff --git a/meta-oe/recipes-dbs/mysql/mariadb/0001-disable-ucontext-on-musl.patch b/meta-oe/recipes-dbs/mysql/mariadb/0001-disable-ucontext-on-musl.patch
index 60e9199..f0768de 100644
--- a/meta-oe/recipes-dbs/mysql/mariadb/0001-disable-ucontext-on-musl.patch
+++ b/meta-oe/recipes-dbs/mysql/mariadb/0001-disable-ucontext-on-musl.patch
@@ -1,4 +1,4 @@
-From 5bc3e7ef9700d12054e0125a126f1bb093f01ef9 Mon Sep 17 00:00:00 2001
+From 48d3da164a14d59f09e2b8c7ef73343859ae5d32 Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Sun, 26 Mar 2017 14:30:33 -0700
 Subject: [PATCH] disable ucontext on musl
@@ -6,6 +6,7 @@ Subject: [PATCH] disable ucontext on musl
 musl does not have *contex() APIs even though it has ucontext.h header
 
 Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
 ---
  include/my_context.h | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)
@@ -23,6 +24,3 @@ index dd44103..9b28c17 100644
  #define MY_CONTEXT_USE_UCONTEXT
  #else
  #define MY_CONTEXT_DISABLE
--- 
-2.12.1
-
diff --git a/meta-oe/recipes-dbs/mysql/mariadb/change-cc-to-cc-version.patch b/meta-oe/recipes-dbs/mysql/mariadb/change-cc-to-cc-version.patch
index 02bda24..2951234 100644
--- a/meta-oe/recipes-dbs/mysql/mariadb/change-cc-to-cc-version.patch
+++ b/meta-oe/recipes-dbs/mysql/mariadb/change-cc-to-cc-version.patch
@@ -1,4 +1,8 @@
-mariadb: replace the CC with CC_VERSION and CXX with CXX_VERSION
+From 9f3e0d8c8fc874bc13e1a34f92c8df6b31914e83 Mon Sep 17 00:00:00 2001
+From: Yue Tao <Yue.Tao@windriver.com>
+Date: Wed, 28 Sep 2016 22:49:11 -0400
+Subject: [PATCH] mariadb: replace the CC with CC_VERSION and CXX with
+ CXX_VERSION
 
 mysqlbug.sh is a bug report script. It makes a report with the build information,
 including gcc version. The CC is the local path of gcc, which is useless for bug
@@ -9,9 +13,14 @@ Upstream-Status: Pending
 Signed-off-by: Yue Tao <Yue.Tao@windriver.com>
 Signed-off-by: Wenzong Fan <wenzong.fan@windriver.com>
 ================================
-diff --git a/scripts/mysqlbug.sh.old b/scripts/mysqlbug.sh
-index e9df210..d4b8d53 100644
---- a/scripts/mysqlbug.sh.old
+
+---
+ scripts/mysqlbug.sh | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/scripts/mysqlbug.sh b/scripts/mysqlbug.sh
+index e9df210..7177915 100644
+--- a/scripts/mysqlbug.sh
 +++ b/scripts/mysqlbug.sh
 @@ -24,8 +24,8 @@ VERSION="@VERSION@@MYSQL_SERVER_SUFFIX@"
  COMPILATION_COMMENT="@COMPILATION_COMMENT@"
diff --git a/meta-oe/recipes-dbs/mysql/mariadb/configure.cmake-fix-valgrind.patch b/meta-oe/recipes-dbs/mysql/mariadb/configure.cmake-fix-valgrind.patch
index e97def6..9448b6e 100644
--- a/meta-oe/recipes-dbs/mysql/mariadb/configure.cmake-fix-valgrind.patch
+++ b/meta-oe/recipes-dbs/mysql/mariadb/configure.cmake-fix-valgrind.patch
@@ -1,4 +1,4 @@
-From 5effba0d7d47071a3f1bca56823190d5a95bb1a6 Mon Sep 17 00:00:00 2001
+From eda09f35a23a2580f1e6f9667387e1d198a7cca7 Mon Sep 17 00:00:00 2001
 From: Jackie Huang <jackie.huang@windriver.com>
 Date: Wed, 12 Nov 2014 03:09:10 -0500
 Subject: [PATCH] configure.cmake: fix valgrind
@@ -15,15 +15,16 @@ PACKAGECONFIG to decide if valgrind is needed or not.
 Upstream-Status: Inappropriate [oe specific]
 
 Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
+
 ---
  configure.cmake | 4 ++--
  1 file changed, 2 insertions(+), 2 deletions(-)
 
 diff --git a/configure.cmake b/configure.cmake
-index 0bd7bbe..51a098f 100644
+index 4051b55..01410ad 100644
 --- a/configure.cmake
 +++ b/configure.cmake
-@@ -1047,10 +1047,10 @@ MARK_AS_ADVANCED(WITH_ATOMIC_LOCKS MY_ATOMIC_MODE_RWLOCK MY_ATOMIC_MODE_DUMMY)
+@@ -1057,10 +1057,10 @@ MARK_AS_ADVANCED(WITH_ATOMIC_LOCKS MY_ATOMIC_MODE_RWLOCK MY_ATOMIC_MODE_DUMMY)
  
  IF(WITH_VALGRIND)
    SET(HAVE_valgrind 1)
@@ -36,6 +37,3 @@ index 0bd7bbe..51a098f 100644
  
  #--------------------------------------------------------------------
  # Check for IPv6 support
--- 
-2.0.0
-
diff --git a/meta-oe/recipes-dbs/mysql/mariadb/fix-a-building-failure.patch b/meta-oe/recipes-dbs/mysql/mariadb/fix-a-building-failure.patch
index 0c4e102..3811029 100644
--- a/meta-oe/recipes-dbs/mysql/mariadb/fix-a-building-failure.patch
+++ b/meta-oe/recipes-dbs/mysql/mariadb/fix-a-building-failure.patch
@@ -1,4 +1,7 @@
-[PATCH] fix a building failure
+From b36d327b12a3e2f7b712b22fdd4e69f941bdd01d Mon Sep 17 00:00:00 2001
+From: Roy Li <rongqing.li@windriver.com>
+Date: Wed, 6 May 2015 11:05:40 +0800
+Subject: [PATCH] [PATCH] fix a building failure
 
 Upstream-Status: Inappropriate [configuration]
 
@@ -6,15 +9,16 @@ building failed since native does not generate import_executables.cmake
 In fact, our building system will export the needed commands
 
 Signed-off-by: Roy Li <rongqing.li@windriver.com>
+
 ---
  CMakeLists.txt | 5 -----
  1 file changed, 5 deletions(-)
 
 diff --git a/CMakeLists.txt b/CMakeLists.txt
-index c1ce1c5..83b3a7e 100644
+index 11103c8..7557a00 100644
 --- a/CMakeLists.txt
 +++ b/CMakeLists.txt
-@@ -350,11 +350,6 @@ MYSQL_CHECK_READLINE()
+@@ -352,11 +352,6 @@ MYSQL_CHECK_READLINE()
  
  CHECK_JEMALLOC()
  
@@ -26,6 +30,3 @@ index c1ce1c5..83b3a7e 100644
  #
  # Setup maintainer mode options by the end. Platform checks are
  # not run with the warning options as to not perturb fragile checks
--- 
-1.9.1
-
diff --git a/meta-oe/recipes-dbs/mysql/mariadb/fix-cmake-module-path.patch b/meta-oe/recipes-dbs/mysql/mariadb/fix-cmake-module-path.patch
index 8d9f558..a4fe02b 100644
--- a/meta-oe/recipes-dbs/mysql/mariadb/fix-cmake-module-path.patch
+++ b/meta-oe/recipes-dbs/mysql/mariadb/fix-cmake-module-path.patch
@@ -1,4 +1,7 @@
-Avoid CMAKE_MODULE_PATH being overwritten
+From 8bd396589ffe0e68181e92995a27cd30acd4f8a8 Mon Sep 17 00:00:00 2001
+From: Paul Eggleton <paul.eggleton@linux.intel.com>
+Date: Fri, 8 Aug 2014 15:16:40 +0100
+Subject: [PATCH] Avoid CMAKE_MODULE_PATH being overwritten
 
 OE-Core's setting of CMAKE_MODULE_PATH stomps on MariaDB's value unless
 we set it after setting the project name.
@@ -7,9 +10,133 @@ Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
 
 Upstream-Status: Inappropriate [working around OE-Core bug]
 
---- mariadb/CMakeLists.txt	2014-07-17 11:01:07.676353047 +0100
-+++ mariadb/CMakeLists.txt	2014-07-17 11:01:31.299353107 +0100
-@@ -28,8 +28,6 @@
+---
+ CMakeLists.txt                                     |     4 +-
+ Docs/INFO_SRC                                      |     8 +
+ dbug/user.r                                        |  1121 +
+ sql/sql_yacc.cc                                    | 37809 +++++++++++++++++++
+ sql/sql_yacc.h                                     |  1348 +
+ storage/maria/unittest/ma_test_all-t               |   766 +
+ storage/ndb/ndbapi-examples/Makefile               |    27 +
+ .../ndb/ndbapi-examples/mgmapi_logevent/Makefile   |    24 +
+ .../ndb/ndbapi-examples/mgmapi_logevent2/Makefile  |    24 +
+ storage/ndb/ndbapi-examples/ndbapi_async/Makefile  |    24 +
+ storage/ndb/ndbapi-examples/ndbapi_async1/Makefile |    23 +
+ storage/ndb/ndbapi-examples/ndbapi_event/Makefile  |    24 +
+ .../ndb/ndbapi-examples/ndbapi_retries/Makefile    |    23 +
+ storage/ndb/ndbapi-examples/ndbapi_scan/Makefile   |    24 +
+ storage/ndb/ndbapi-examples/ndbapi_simple/Makefile |    24 +
+ .../ndbapi-examples/ndbapi_simple_dual/Makefile    |    24 +
+ .../ndbapi-examples/ndbapi_simple_index/Makefile   |    24 +
+ storage/ndb/src/common/logger/listtest/Makefile    |    14 +
+ storage/ndb/src/common/logger/loggertest/Makefile  |    16 +
+ .../ndb/src/common/mgmcommon/printConfig/Makefile  |    16 +
+ .../ndb/src/common/transporter/basictest/Makefile  |    15 +
+ .../src/common/transporter/failoverSCI/Makefile    |    18 +
+ .../ndb/src/common/transporter/perftest/Makefile   |    15 +
+ .../ndb/src/common/transporter/priotest/Makefile   |    15 +
+ .../common/transporter/priotest/prioSCI/Makefile   |    17 +
+ .../common/transporter/priotest/prioSHM/Makefile   |    13 +
+ .../common/transporter/priotest/prioTCP/Makefile   |    13 +
+ storage/ndb/src/common/util/filetest/Makefile      |    14 +
+ .../ndb/src/common/util/testConfigValues/Makefile  |    12 +
+ .../ndb/src/common/util/testProperties/Makefile    |     9 +
+ .../src/common/util/testSimpleProperties/Makefile  |    12 +
+ storage/ndb/src/cw/test/socketclient/Makefile      |    24 +
+ storage/ndb/src/cw/util/Makefile                   |    10 +
+ .../src/kernel/blocks/dbdih/printSysfile/Makefile  |    12 +
+ .../src/kernel/blocks/ndbfs/AsyncFileTest/Makefile |    27 +
+ .../kernel/blocks/ndbfs/MemoryChannelTest/Makefile |    13 +
+ storage/ndb/src/kernel/vm/al_test/Makefile         |    12 +
+ storage/ndb/src/kernel/vm/testCopy/Makefile        |     9 +
+ storage/ndb/src/kernel/vm/testDataBuffer/Makefile  |    10 +
+ storage/ndb/src/kernel/vm/testLongSig/Makefile     |     9 +
+ .../kernel/vm/testSimplePropertiesSection/Makefile |    10 +
+ storage/ndb/src/mgmapi/test/Makefile               |    13 +
+ storage/ndb/src/mgmclient/test_cpcd/Makefile       |    17 +
+ storage/ndb/src/mgmsrv/mkconfig/Makefile           |    13 +
+ storage/ndb/src/ndbapi/signal-sender/Makefile      |    19 +
+ storage/ndb/test/newtonapi/basic_test/Makefile     |    25 +
+ .../ndb/test/newtonapi/basic_test/basic/Makefile   |    14 +
+ .../test/newtonapi/basic_test/bulk_read/Makefile   |    14 +
+ .../test/newtonapi/basic_test/ptr_binding/Makefile |    14 +
+ storage/ndb/test/newtonapi/perf_test/Makefile      |    14 +
+ storage/ndb/test/odbc/SQL99_test/Makefile          |    26 +
+ storage/ndb/test/odbc/client/Makefile              |    95 +
+ storage/ndb/test/odbc/dm-iodbc/Makefile            |    38 +
+ storage/ndb/test/odbc/dm-unixodbc/Makefile         |    39 +
+ storage/ndb/test/odbc/driver/Makefile              |    30 +
+ storage/ndb/test/odbc/test_compiler/Makefile       |    21 +
+ .../ft-index/third_party/xz-4.999.9beta/configure  | 23074 +++++++++++
+ .../third_party/xz-4.999.9beta/dos/Makefile        |   255 +
+ .../third_party/xz-4.999.9beta/windows/Makefile    |   308 +
+ storage/tokudb/tests/Makefile                      |    53 +
+ 60 files changed, 65736 insertions(+), 2 deletions(-)
+ create mode 100644 Docs/INFO_SRC
+ create mode 100644 dbug/user.r
+ create mode 100644 sql/sql_yacc.cc
+ create mode 100644 sql/sql_yacc.h
+ create mode 100755 storage/maria/unittest/ma_test_all-t
+ create mode 100644 storage/ndb/ndbapi-examples/Makefile
+ create mode 100644 storage/ndb/ndbapi-examples/mgmapi_logevent/Makefile
+ create mode 100644 storage/ndb/ndbapi-examples/mgmapi_logevent2/Makefile
+ create mode 100644 storage/ndb/ndbapi-examples/ndbapi_async/Makefile
+ create mode 100644 storage/ndb/ndbapi-examples/ndbapi_async1/Makefile
+ create mode 100644 storage/ndb/ndbapi-examples/ndbapi_event/Makefile
+ create mode 100644 storage/ndb/ndbapi-examples/ndbapi_retries/Makefile
+ create mode 100644 storage/ndb/ndbapi-examples/ndbapi_scan/Makefile
+ create mode 100644 storage/ndb/ndbapi-examples/ndbapi_simple/Makefile
+ create mode 100644 storage/ndb/ndbapi-examples/ndbapi_simple_dual/Makefile
+ create mode 100644 storage/ndb/ndbapi-examples/ndbapi_simple_index/Makefile
+ create mode 100644 storage/ndb/src/common/logger/listtest/Makefile
+ create mode 100644 storage/ndb/src/common/logger/loggertest/Makefile
+ create mode 100644 storage/ndb/src/common/mgmcommon/printConfig/Makefile
+ create mode 100644 storage/ndb/src/common/transporter/basictest/Makefile
+ create mode 100644 storage/ndb/src/common/transporter/failoverSCI/Makefile
+ create mode 100644 storage/ndb/src/common/transporter/perftest/Makefile
+ create mode 100644 storage/ndb/src/common/transporter/priotest/Makefile
+ create mode 100644 storage/ndb/src/common/transporter/priotest/prioSCI/Makefile
+ create mode 100644 storage/ndb/src/common/transporter/priotest/prioSHM/Makefile
+ create mode 100644 storage/ndb/src/common/transporter/priotest/prioTCP/Makefile
+ create mode 100644 storage/ndb/src/common/util/filetest/Makefile
+ create mode 100644 storage/ndb/src/common/util/testConfigValues/Makefile
+ create mode 100644 storage/ndb/src/common/util/testProperties/Makefile
+ create mode 100644 storage/ndb/src/common/util/testSimpleProperties/Makefile
+ create mode 100644 storage/ndb/src/cw/test/socketclient/Makefile
+ create mode 100644 storage/ndb/src/cw/util/Makefile
+ create mode 100644 storage/ndb/src/kernel/blocks/dbdih/printSysfile/Makefile
+ create mode 100644 storage/ndb/src/kernel/blocks/ndbfs/AsyncFileTest/Makefile
+ create mode 100644 storage/ndb/src/kernel/blocks/ndbfs/MemoryChannelTest/Makefile
+ create mode 100644 storage/ndb/src/kernel/vm/al_test/Makefile
+ create mode 100644 storage/ndb/src/kernel/vm/testCopy/Makefile
+ create mode 100644 storage/ndb/src/kernel/vm/testDataBuffer/Makefile
+ create mode 100644 storage/ndb/src/kernel/vm/testLongSig/Makefile
+ create mode 100644 storage/ndb/src/kernel/vm/testSimplePropertiesSection/Makefile
+ create mode 100644 storage/ndb/src/mgmapi/test/Makefile
+ create mode 100644 storage/ndb/src/mgmclient/test_cpcd/Makefile
+ create mode 100644 storage/ndb/src/mgmsrv/mkconfig/Makefile
+ create mode 100644 storage/ndb/src/ndbapi/signal-sender/Makefile
+ create mode 100644 storage/ndb/test/newtonapi/basic_test/Makefile
+ create mode 100644 storage/ndb/test/newtonapi/basic_test/basic/Makefile
+ create mode 100644 storage/ndb/test/newtonapi/basic_test/bulk_read/Makefile
+ create mode 100644 storage/ndb/test/newtonapi/basic_test/ptr_binding/Makefile
+ create mode 100644 storage/ndb/test/newtonapi/perf_test/Makefile
+ create mode 100644 storage/ndb/test/odbc/SQL99_test/Makefile
+ create mode 100644 storage/ndb/test/odbc/client/Makefile
+ create mode 100644 storage/ndb/test/odbc/dm-iodbc/Makefile
+ create mode 100644 storage/ndb/test/odbc/dm-unixodbc/Makefile
+ create mode 100644 storage/ndb/test/odbc/driver/Makefile
+ create mode 100644 storage/ndb/test/odbc/test_compiler/Makefile
+ create mode 100755 storage/tokudb/ft-index/third_party/xz-4.999.9beta/configure
+ create mode 100644 storage/tokudb/ft-index/third_party/xz-4.999.9beta/dos/Makefile
+ create mode 100644 storage/tokudb/ft-index/third_party/xz-4.999.9beta/windows/Makefile
+ create mode 100644 storage/tokudb/tests/Makefile
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 6ab17eb..11103c8 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -38,8 +38,6 @@ ENDIF()
  
  MESSAGE(STATUS "Running cmake version ${CMAKE_VERSION}")
  
@@ -18,7 +145,7 @@ Upstream-Status: Inappropriate [working around OE-Core bug]
  # Distinguish between community and non-community builds, with the
  # default being a community build. This does not impact the feature
  # set that will be compiled in; it's merely provided as a hint to
-@@ -77,6 +75,8 @@
+@@ -87,6 +85,8 @@ ELSE()
  ENDIF()
  PROJECT(${MYSQL_PROJECT_NAME})
  
@@ -27,3 +154,66092 @@ Upstream-Status: Inappropriate [working around OE-Core bug]
  IF(BUILD_CONFIG)
    INCLUDE(
    ${CMAKE_SOURCE_DIR}/cmake/build_configurations/${BUILD_CONFIG}.cmake)
+diff --git a/Docs/INFO_SRC b/Docs/INFO_SRC
+new file mode 100644
+index 0000000..7887ce5
+--- /dev/null
++++ b/Docs/INFO_SRC
+@@ -0,0 +1,8 @@
++commit: 59fca5806af65c8379a993f9e604cb0b20a76e2b
++date: 2017-07-18 19:50:11 +0200
++build-date: 2017-07-18 20:33:21 +0000 
++short: 59fca58
++branch: HEAD
++
++
++MySQL source 5.5.57
+diff --git a/dbug/user.r b/dbug/user.r
+new file mode 100644
+index 0000000..8d8a9ce
+--- /dev/null
++++ b/dbug/user.r
+@@ -0,0 +1,1121 @@
++.\"           @(#)user.r      1.13 10/29/86
++.\"
++.\" 2004-10-29: documented features implemented since 10/29/86
++.\"             formatting cleanup
++.\"                                               - Sergei Golubchik
++.\"
++.\"           DBUG (Macro Debugger Package) nroff source
++.\"
++.\"           nroff -mm user.r >user.t
++.\"           groff -mm user.r >user.ps
++.\"
++.\" ===================================================
++.\"
++.\"           === Some sort of black magic, but I forget...
++.tr ~
++.\"           === Hyphenation control (1 = on)
++.\".nr Hy 1
++.\"           === Force all first level headings to start on new page
++.nr Ej 1
++.\"           === Set for breaks after headings for levels 1-3
++.nr Hb 3
++.\"           === Set for space after headings for levels 1-3
++.nr Hs 3
++.\"           === Set standard indent for one/half inch
++.nr Si 10
++.\"           === Set page header
++.PH "/DBUG User Manual//\*(DT/"
++.\"           === Set page footer
++.PF "// - % - //"
++.\"           === Set page offset
++.\".po 0.60i
++.\"           === Set line length
++.\".ll 6.5i
++.TL
++.warn 0
++D B U G
++.P 0
++C Program Debugging Package
++.P 0
++by
++.AU "Fred Fish"
++.AF ""
++.SA 1
++.\"           === All paragraphs indented.
++.nr Pt 1
++.AS 1
++This document introduces
++.I dbug ,
++a macro based C debugging
++package which has proven to be a very flexible and useful tool
++for debugging, testing, and porting C programs.
++
++.P
++All of the features of the
++.I dbug
++package can be enabled or disabled dynamically at execution time.
++This means that production programs will run normally when
++debugging is not enabled, and eliminates the need to maintain two
++separate versions of a program.
++
++.P
++Many of the things easily accomplished with conventional debugging
++tools, such as symbolic debuggers, are difficult or impossible with this
++package, and vice versa.
++Thus the
++.I dbug
++package should 
++.I not
++be thought of as a replacement or substitute for
++other debugging tools, but simply as a useful
++.I addition
++to the
++program development and maintenance environment.
++
++.AE
++.MT 4
++.SK
++.B
++INTRODUCTION
++.R
++
++.P
++Almost every program development environment worthy of the name
++provides some sort of debugging facility.
++Usually this takes the form of a program which is capable of
++controlling execution of other programs and examining the internal
++state of other executing programs.
++These types of programs will be referred to as external debuggers
++since the debugger is not part of the executing program.
++Examples of this type of debugger include the
++.B adb
++and
++.B sdb
++debuggers provided with the 
++.B UNIX\*F
++.FS
++UNIX is a trademark of AT&T Bell Laboratories.
++.FE
++operating system.
++
++.P
++One of the problems associated with developing programs in an environment
++with good external debuggers is that developed programs tend to have 
++little or no internal instrumentation.
++This is usually not a problem for the developer since he is,
++or at least should be, intimately familiar with the internal organization,
++data structures, and control flow of the program being debugged.
++It is a serious problem for maintenance programmers, who
++are unlikely to have such familiarity with the program being
++maintained, modified, or ported to another environment.
++It is also a problem, even for the developer, when the program is
++moved to an environment with a primitive or unfamiliar debugger,
++or even no debugger.
++
++.P
++On the other hand,
++.I dbug
++is an example of an internal debugger.
++Because it requires internal instrumentation of a program,
++and its usage does not depend on any special capabilities of
++the execution environment, it is always available and will
++execute in any environment that the program itself will
++execute in.
++In addition, since it is a complete package with a specific
++user interface, all programs which use it will be provided
++with similar debugging capabilities.
++This is in sharp contrast to other forms of internal instrumentation
++where each developer has their own, usually less capable, form
++of internal debugger.
++In summary,
++because 
++.I dbug
++is an internal debugger it provides consistency across operating
++environments, 
++and because it is available to all developers it provides
++consistency across all programs in the same environment.
++
++.P
++The
++.I dbug
++package imposes only a slight speed penalty on executing
++programs, typically much less than 10 percent, and a modest size
++penalty, typically 10 to 20 percent.
++By defining a specific C preprocessor symbol both of these
++can be reduced to zero with no changes required to the
++source code.
++
++.P
++The following list is a quick summary of the capabilities
++of the
++.I dbug
++package.
++Each capability can be individually enabled or disabled
++at the time a program is invoked by specifying the appropriate
++command line arguments.
++.SP 1
++.ML o 1i
++.LI
++Execution trace showing function level control flow in a
++semi-graphically manner using indentation to indicate nesting
++depth.
++.LI
++Output the values of all, or any subset of, key internal variables.
++.LI
++Limit actions to a specific set of named functions.
++.LI
++Limit function trace to a specified nesting depth.
++.LI
++Label each output line with source file name and line number.
++.LI
++Label each output line with name of current process.
++.LI
++Push or pop internal debugging state to allow execution with
++built in debugging defaults.
++.LI
++Redirect the debug output stream to standard output (stdout)
++or a named file.
++The default output stream is standard error (stderr).
++The redirection mechanism is completely independent of
++normal command line redirection to avoid output conflicts.
++.LE
++
++.SK
++.B
++PRIMITIVE DEBUGGING TECHNIQUES
++.R
++
++.P
++Internal instrumentation is already a familiar concept
++to most programmers, since it is usually the first debugging
++technique learned.
++Typically, "print\ statements" are inserted in the source
++code at interesting points, the code is recompiled and executed,
++and the resulting output is examined in an attempt to determine
++where the problem is.
++
++The procedure is iterative, with each iteration yielding more
++and more output, and hopefully the source of the problem is
++discovered before the output becomes too large to deal with
++or previously inserted statements need to be removed.
++Figure 1 is an example of this type of primitive debugging
++technique.
++.DS I N
++.SP 2
++\fC
++.so example1.r
++\fR
++.SP 2
++.ll -5
++.ce
++Figure 1
++.ce
++Primitive Debugging Technique
++.ll +5
++.SP 2
++.DE
++
++.P
++Eventually, and usually after at least several iterations, the
++problem will be found and corrected.
++At this point, the newly inserted print statements must be 
++dealt with.
++One obvious solution is to simply delete them all.
++Beginners usually do this a few times until they have to
++repeat the entire process every time a new bug pops up.
++The second most obvious solution is to somehow disable
++the output, either through the source code comment facility,
++creation of a debug variable to be switched on or off, or by using the
++C preprocessor.
++Figure 2 is an example of all three techniques.
++.DS I N
++.SP 2
++\fC
++.so example2.r
++\fR
++.SP 2
++.ll -5
++.ce
++Figure 2
++.ce
++Debug Disable Techniques
++.ll +5
++.SP 2
++.DE
++
++.P
++Each technique has its advantages and disadvantages with respect
++to dynamic vs static activation, source code overhead, recompilation
++requirements, ease of use, program readability, etc.
++Overuse of the preprocessor solution quickly leads to problems with
++source code readability and maintainability when multiple 
++.B #ifdef
++symbols are to be defined or undefined based on specific types
++of debug desired.
++The source code can be made slightly more readable by suitable indentation
++of the 
++.B #ifdef
++arguments to match the indentation of the code, but
++not all C preprocessors allow this.
++The only requirement for the standard 
++.B UNIX
++C preprocessor is for the '#' character to appear
++in the first column, but even this seems
++like an arbitrary and unreasonable restriction.
++Figure 3 is an example of this usage.
++.DS I N
++.SP 2
++\fC
++.so example3.r
++\fR
++.SP 2
++.ll -5
++.ce
++Figure 3
++.ce
++More Readable Preprocessor Usage
++.ll +5
++.SP 2
++.DE
++
++.SK
++.B
++FUNCTION TRACE EXAMPLE
++.R
++
++.P
++We will start off learning about the capabilities of the
++.I dbug
++package by using a simple minded program which computes the
++factorial of a number.
++In order to better demonstrate the function trace mechanism, this
++program is implemented recursively.
++Figure 4 is the main function for this factorial program.
++.DS I N
++.SP 2
++\fC
++.so main.r
++\fR
++.SP 2
++.ll -5
++.ce
++Figure 4
++.ce
++Factorial Program Mainline
++.ll +5
++.SP 2
++.DE
++
++.P
++The 
++.B main
++function is responsible for processing any command line
++option arguments and then computing and printing the factorial of
++each non-option argument.
++.P
++First of all, notice that all of the debugger functions are implemented
++via preprocessor macros.
++This does not detract from the readability of the code and makes disabling
++all debug compilation trivial (a single preprocessor symbol, 
++.B DBUG_OFF ,
++forces the macro expansions to be null).
++.P
++Also notice the inclusion of the header file
++.B dbug.h
++from the local header file directory.
++(The version included here is the test version in the dbug source
++distribution directory).
++This file contains all the definitions for the debugger macros, which
++all have the form 
++.B DBUG_XX...XX .
++
++.P
++The 
++.B DBUG_ENTER 
++macro informs that debugger that we have entered the
++function named 
++.B main .
++It must be the very first "executable" line in a function, after
++all declarations and before any other executable line.
++The 
++.B DBUG_PROCESS
++macro is generally used only once per program to
++inform the debugger what name the program was invoked with.
++The
++.B DBUG_PUSH
++macro modifies the current debugger state by
++saving the previous state and setting a new state based on the
++control string passed as its argument.
++The
++.B DBUG_PRINT
++macro is used to print the values of each argument
++for which a factorial is to be computed.
++The 
++.B DBUG_RETURN
++macro tells the debugger that the end of the current
++function has been reached and returns a value to the calling
++function.
++All of these macros will be fully explained in subsequent sections.
++.P
++To use the debugger, the factorial program is invoked with a command
++line of the form:
++.DS CB N
++\fCfactorial -#d:t 1 2 3
++.DE
++The 
++.B main
++function recognizes the "-#d:t" string as a debugger control
++string, and passes the debugger arguments ("d:t") to the 
++.I dbug
++runtime support routines via the
++.B DBUG_PUSH 
++macro.
++This particular string enables output from the
++.B DBUG_PRINT
++macro with the 'd' flag and enables function tracing with the 't' flag.
++The factorial function is then called three times, with the arguments
++"1", "2", and "3".
++Note that the DBUG_PRINT takes exactly
++.B two
++arguments, with the second argument (a format string and list
++of printable values) enclosed in parentheses.
++.P
++Debug control strings consist of a header, the "-#", followed
++by a colon separated list of debugger arguments.
++Each debugger argument is a single character flag followed
++by an optional comma separated list of arguments specific
++to the given flag.
++Some examples are:
++.DS CB N
++\fC
++-#d:t:o
++-#d,in,out:f,main:F:L
++.DE
++Note that previously enabled debugger actions can be disabled by the
++control string "-#".
++
++.P
++The definition of the factorial function, symbolized as "N!", is
++given by:
++.DS CB N
++N! = N * N-1 * ... 2 * 1
++.DE
++Figure 5 is the factorial function which implements this algorithm
++recursively.
++Note that this is not necessarily the best way to do factorials
++and error conditions are ignored completely.
++.DS I N
++.SP 2
++\fC
++.so factorial.r
++\fR
++.SP 2
++.ll -5
++.ce
++Figure 5
++.ce
++Factorial Function
++.ll +5
++.SP 2
++.DE
++
++.P
++One advantage (some may not consider it so) to using the
++.I dbug
++package is that it strongly encourages fully structured coding
++with only one entry and one exit point in each function.
++Multiple exit points, such as early returns to escape a loop,
++may be used, but each such point requires the use of an
++appropriate 
++.B DBUG_RETURN
++or
++.B DBUG_VOID_RETURN
++macro.
++
++.P
++To build the factorial program on a 
++.B UNIX
++system, compile and
++link with the command:
++.DS CB N
++\fCcc -o factorial main.c factorial.c -ldbug
++.DE
++The "-ldbug" argument tells the loader to link in the
++runtime support modules for the
++.I dbug
++package.
++Executing the factorial program with a command of the form:
++.DS CB N
++\fCfactorial 1 2 3 4 5
++.DE
++generates the output shown in figure 6.
++.DS I N
++.SP 2
++\fC
++.so output1.r
++\fR
++.SP 2
++.ll -5
++.ce
++Figure 6
++.ce
++\fCfactorial 1 2 3 4 5
++.ll +5
++.SP 2
++.DE
++
++.P
++Function level tracing is enabled by passing the debugger
++the 't' flag in the debug control string.
++Figure 7 is the output resulting from the command
++"factorial\ -#t:o\ 2\ 3".
++.DS I N
++.SP 2
++\fC
++.so output2.r
++\fR
++.SP 2
++.ll -5
++.ce
++Figure 7
++.ce
++\fCfactorial -#t:o 2 3
++.ll +5
++.SP 2
++.DE
++
++.P
++Each entry to or return from a function is indicated by '>' for the
++entry point and '<' for the exit point, connected by
++vertical bars to allow matching points to be easily found
++when separated by large distances.
++
++.P
++This trace output indicates that there was an initial call
++to factorial from main (to compute 2!), followed by
++a single recursive call to factorial to compute 1!.
++The main program then output the result for 2! and called the
++factorial function again with the second argument, 3.
++Factorial called itself recursively to compute 2! and 1!, then
++returned control to main, which output the value for 3! and exited.
++
++.P
++Note that there is no matching entry point "main>" for the
++return point "<main" because at the time the 
++.B DBUG_ENTER
++macro was reached in main, tracing was not enabled yet.
++It was only after the macro
++.B DBUG_PUSH
++was executing that tracing became enabled.
++This implies that the argument list should be processed as early as
++possible since all code preceding the first call to
++.B DBUG_PUSH 
++is
++essentially invisible to 
++.I dbug
++(this can be worked around by
++inserting a temporary 
++.B DBUG_PUSH(argv[1])
++immediately after the
++.B DBUG_ENTER("main")
++macro.
++
++.P
++One last note,
++the trace output normally comes out on the standard error.
++Since the factorial program prints its result on the standard
++output, there is the possibility of the output on the terminal
++being scrambled if the two streams are not synchronized.
++Thus the debugger is told to write its output on the standard
++output instead, via the 'o' flag character.
++Note that no 'o' implies the default (standard error), a 'o' 
++with no arguments means standard output, and a 'o' 
++with an argument means used the named file.
++i.e, "factorial\ -#t:o,logfile\ 3\ 2" would write the trace
++output in "logfile".
++Because of 
++.B UNIX
++implementation details, programs usually run
++faster when writing to stdout rather than stderr, though this
++is not a prime consideration in this example.
++
++.SK
++.B
++USE OF DBUG_PRINT MACRO
++.R
++
++.P
++The mechanism used to produce "printf" style output is the
++.B DBUG_PRINT
++macro.
++
++.P
++To allow selection of output from specific macros, the first argument
++to every 
++.B DBUG_PRINT
++macro is a 
++.I dbug
++keyword.
++When this keyword appears in the argument list of the 'd' flag in
++a debug control string, as in "-#d,keyword1,keyword2,...:t",
++output from the corresponding macro is enabled.
++The default when there is no 'd' flag in the control string is to
++enable output from all 
++.B DBUG_PRINT
++macros.
++
++.P
++Typically, a program will be run once, with no keywords specified,
++to determine what keywords are significant for the current problem
++(the keywords are printed in the macro output line).
++Then the program will be run again, with the desired keywords,
++to examine only specific areas of interest.
++
++.P
++The second argument to a
++.B DBUG_PRINT 
++macro is a standard printf style
++format string and one or more arguments to print, all
++enclosed in parentheses so that they collectively become a single macro
++argument.
++This is how variable numbers of printf arguments are supported.
++Also note that no explicit newline is required at the end of the format string.
++As a matter of style, two or three small 
++.B DBUG_PRINT
++macros are preferable
++to a single macro with a huge format string.
++Figure 8 shows the output for default tracing and debug.
++.DS I N
++.SP 2
++\fC
++.so output3.r
++\fR
++.SP 2
++.ll -5
++.ce
++Figure 8
++.ce
++\fCfactorial -#d:t:o 3
++.ll +5
++.SP 2
++.DE
++
++.P
++The output from the 
++.B DBUG_PRINT
++macro is indented to match the trace output
++for the function in which the macro occurs.
++When debugging is enabled, but not trace, the output starts at the left
++margin, without indentation.
++
++.P
++To demonstrate selection of specific macros for output, figure
++9 shows the result when the factorial program is invoked with
++the debug control string "-#d,result:o".
++.DS I N
++.SP 2
++\fC
++.so output4.r
++\fR
++.SP 2
++.ll -5
++.ce
++Figure 9
++.ce
++\fCfactorial -#d,result:o 4
++.ll +5
++.SP 2
++.DE
++
++.P
++It is sometimes desirable to restrict debugging and trace actions
++to a specific function or list of functions.
++This is accomplished with the 'f' flag character in the debug
++control string.
++Figure 10 is the output of the factorial program when run with the
++control string "-#d:f,factorial:F:L:o".
++The 'F' flag enables printing of the source file name and the 'L'
++flag enables printing of the source file line number.
++.DS I N
++.SP 2
++\fC
++.so output5.r
++\fR
++.SP 2
++.ll -5
++.ce
++Figure 10
++.ce
++\fCfactorial -#d:f,factorial:F:L:o 3
++.ll +5
++.SP 2
++.DE
++
++.P
++The output in figure 10 shows that the "find" macro is in file
++"factorial.c" at source line 8 and the "result" macro is in the same
++file at source line 12.
++
++.SK
++.B
++SUMMARY OF MACROS
++.R
++
++.P
++This section summarizes the usage of all currently defined macros
++in the 
++.I dbug
++package.
++The macros definitions are found in the user include file
++.B dbug.h
++from the standard include directory.
++
++.SP 2
++.BL 20
++.LI DBUG_ENTER\ 
++Used to tell the runtime support module the name of the function being
++entered.  The argument must be of type "pointer to character".  The
++DBUG_ENTER macro must precede all executable lines in the function
++just entered, and must come after all local declarations.  Each
++DBUG_ENTER macro must have a matching DBUG_RETURN or DBUG_VOID_RETURN
++macro at the function exit points.  DBUG_ENTER macros used without a
++matching DBUG_RETURN or DBUG_VOID_RETURN macro will cause warning
++messages from the 
++.I dbug
++package runtime support module.
++.SP 1
++EX:\ \fCDBUG_ENTER\ ("main");\fR
++.SP 1
++.LI DBUG_RETURN\ 
++Used at each exit point of a function containing a DBUG_ENTER macro at
++the entry point.  The argument is the value to return.  Functions
++which return no value (void) should use the DBUG_VOID_RETURN macro.
++It is an error to have a DBUG_RETURN or DBUG_VOID_RETURN macro in a
++function which has no matching DBUG_ENTER macro, and the compiler will
++complain if the macros are actually used (expanded).
++.SP 1
++EX:\ \fCDBUG_RETURN\ (value);\fR
++.br
++EX:\ \fCDBUG_VOID_RETURN;\fR
++.SP 1
++.LI DBUG_PROCESS\ 
++Used to name the current process being executed.
++A typical argument for this macro is "argv[0]", though
++it will be perfectly happy with any other string.
++Im multi-threaded environment threads may have different names.
++.SP 1
++EX:\ \fCDBUG_PROCESS\ (argv[0]);\fR
++.SP 1
++.LI DBUG_PUSH\ 
++Sets a new debugger state by pushing the current
++.I dbug
++state onto an internal stack and setting up the new state using the
++debug control string passed as the macro argument.  The most common
++usage is to set the state specified by a debug control string
++retrieved from the argument list. If the control string is
++.I incremental,
++the new state is a copy of the old state, modified by the control
++string.
++.SP 1
++EX:\ \fCDBUG_PUSH\ (\&(argv[i][2]));\fR
++.br
++EX:\ \fCDBUG_PUSH\ ("d:t");\fR
++.br
++EX:\ \fCDBUG_PUSH\ ("");\fR
++.SP 1
++.LI DBUG_POP\ 
++Restores the previous debugger state by popping the state stack.
++Attempting to pop more states than pushed will be ignored and no
++warning will be given.  The DBUG_POP macro has no arguments.
++.SP 1
++EX:\ \fCDBUG_POP\ ();\fR
++.SP 1
++.LI DBUG_SET\ 
++Modifies the current debugger state on top of the stack or pushes
++a new state if the current is set to the initial settings, using
++the debug control string passed as the macro argument.  Unless
++.I incremental
++control string is used (see below), it's equivalent to a combination of
++DBUG_POP and DBUG_PUSH.
++.SP 1
++EX:\ \fCDBUG_SET\ ("d:t");\fR
++.br
++EX:\ \fCDBUG_SET\ ("+d,info");\fR
++.br
++EX:\ \fCDBUG_SET\ ("+t:-d");\fR
++.SP 1
++.LI DBUG_FILE\ 
++The DBUG_FILE macro is used to do explicit I/O on the debug output
++stream.  It is used in the same manner as the symbols "stdout" and
++"stderr" in the standard I/O package.
++.SP 1
++EX:\ \fCfprintf\ (DBUG_FILE,\ "Doing\ my\ own\ I/O!\\n");\fR
++.SP 1
++.LI DBUG_EXECUTE\ 
++The DBUG_EXECUTE macro is used to execute any arbitrary C code.  The
++first argument is the debug keyword, used to trigger execution of the
++code specified as the second argument.  This macro must be used
++cautiously because, like the DBUG_PRINT macro, it is automatically
++selected by default whenever the 'd' flag has no argument list (i.e.,
++a "-#d:t" control string).
++.SP 1
++EX:\ \fCDBUG_EXECUTE\ ("status",\ print_status\ ());\fR
++.SP 1
++.LI DBUG_EXECUTE_IF\ 
++Works like DBUG_EXECUTE macro, but the code is
++.B not
++executed "by default", if the keyword is not explicitly listed in
++the 'd' flag. Used to conditionally execute "dangerous" actions, e.g
++to crash the program testing how recovery works, or to introduce an
++artificial delay checking for race conditions.
++.SP 1
++EX:\ \fCDBUG_EXECUTE_IF\ ("crashme",\ DBUG_ABORT()\ ());\fR
++.SP 1
++.LI DBUG_EVALUATE\ 
++The DBUG_EVALUATE macro is similar to DBUG_EXECUTE, but it can be used in
++the expression context. The first argument is the debug keyword that is used to
++choose whether the second (keyword is enabled) or the third (keyword is not
++enabled) argument is evaluated. When
++.I dbug
++is compiled off, the third argument is evaluated.
++.SP 1
++EX:\fC
++.br
++  printf("Info-debug is %s",
++.br
++         DBUG_EVALUATE\ ("info", "ON", "OFF"));\fR
++.SP 1
++.LI DBUG_EVALUATE_IF\ 
++Works like DBUG_EVALUATE macro, but the second argument is
++.B not
++evaluated, if the keyword is not explicitly listed in
++the 'd' flag. Like DBUG_EXECUTE_IF this could be used to conditionally execute
++"dangerous" actions.
++.SP 1
++EX:\fC
++.br
++    if (prepare_transaction () ||
++.br
++        DBUG_EVALUATE ("crashme", (DBUG_ABORT(), 0), 0) ||
++.br
++        commit_transaction () )\fR
++.SP 1
++.LI DBUG_PRINT\ 
++Used to do printing via the "fprintf" library function on the current
++debug stream, DBUG_FILE.  The first argument is a debug keyword, the
++second is a format string and the corresponding argument list.  Note
++that the format string and argument list are all one macro argument
++and
++.B must
++be enclosed in parentheses.
++.SP 1
++EX:\ \fCDBUG_PRINT\ ("eof",\ ("end\ of\ file\ found"));\fR
++.br
++EX:\ \fCDBUG_PRINT\ ("type",\ ("type\ is\ %x", type));\fR
++.br
++EX:\ \fCDBUG_PRINT\ ("stp",\ ("%x\ ->\ %s", stp, stp\ ->\ name));\fR
++.SP 1
++.LI DBUG_DUMP\ 
++Used to dump a memory block in hex via the "fprintf" library function
++on the current debug stream, DBUG_FILE.  The first argument is a debug
++keyword, the second is a pointer to a memory to dump, the third is a
++number of bytes to dump.
++.SP 1
++EX: \fCDBUG_DBUG\ ("net",\ packet,\ len);\fR
++.SP 1
++.LI DBUG_LOCK_FILE\ 
++Used in multi-threaded environment to lock DBUG_FILE stream.
++It can be used, for example, in functions that need to write something to a
++debug stream more than in one fprintf() call and want to ensure that no other
++thread will write something in between.
++.SP 1
++EX:\fC
++.br
++  DBUG_LOCK_FILE;
++.br
++  fprintf (DBUG_FILE, "a=[");
++.br
++  for (int i=0; i < a_length; i++)
++.br
++    fprintf (DBUG_FILE, "0x%03x ", a[i]);
++.br
++  fprintf (DBUG_FILE, "]");
++.br
++  DBUG_UNLOCK_FILE;\fR
++.SP 1
++.LI DBUG_UNLOCK_FILE\ 
++Unlocks DBUG_FILE stream, that was locked with a DBUG_LOCK_FILE.
++.LI DBUG_ASSERT\ 
++This macro just does a regular assert(). The difference is that it will be
++disabled by DBUG_OFF togeher with the
++.I dbug
++library. So there will be no need to disable asserts separately with NDEBUG.
++.SP 1
++EX:\ \fCDBUG_ASSERT(\ a\ >\ 0\ );\fR
++.SP 1
++.LI DBUG_ABORT\ 
++This macro could be used instead of abort(). It flushes DBUG_FILE stream
++to ensure that no
++.I dbug
++output is lost and then calls abort().
++.SP 1
++.LI DBUG_EXPLAIN\ 
++Generates control string corresponding to the current debug state.
++The macro takes two arguments - a buffer to store the result string
++into and its length. The macro (which could be used as a function)
++returns 1 if the control string didn't fit into the buffer and was
++truncated and 0 otherwise.
++.SP 1
++EX:\fC
++.br
++  char buf[256];
++.br
++  DBUG_EXPLAIN( buf, sizeof(buf) );\fR
++.SP 1
++.LI DBUG_SET_INITIAL\ 
++.LI DBUG_EXPLAIN_INITIAL\ 
++.br
++These two macros are identical to DBUG_SET and DBUG_EXPLAIN, but they
++operate on the debug state that any new thread starts from.
++Modifying
++.I initial
++value does not affect threads that are already running. Obviously,
++these macros are only useful in the multi-threaded environment.
++.LE
++
++.SK
++.B
++DEBUG CONTROL STRING
++.R
++
++.P
++The debug control string is used to set the state of the debugger
++via the 
++.B DBUG_PUSH 
++or
++.B DBUG_SET
++macros. Control string consists of colon separated flags.  Colons
++that are part of ':\\',  ':/', or '::' are not considered flag
++separators. A flag may take an argument or a list of arguments.
++If a control string starts from a '+' sign it works
++.I incrementally,
++that is, it can modify existing state without overriding it.  Every
++flag may be preceded by a '+' or '-' to enable or disable a
++corresponding option in the debugger state or to add or remove
++arguments to the list. This section summarizes the currently available
++debugger options and the flag characters which enable or disable them.
++Argument lists enclosed in '[' and ']' are optional.
++.SP 2
++.BL 22
++.LI a[,file]
++Redirect the debugger output stream and append it to the specified
++file.  The default output stream is stderr.  A null argument list
++causes output to be redirected to stdout.
++.SP 1
++EX: \fCa,C:\\tmp\\log\fR
++.LI A[,file]
++Like 'a[,file]' but ensure that data are written after each write
++(this typically implies flush or close/reopen). It helps to get
++a complete log file in case of crashes. This mode is implicit in
++multi-threaded environment.
++.LI d[,keywords]
++Enable output from macros with specified keywords.
++Every keyword can be a
++.I glob(7)
++pattern.
++An empty list of keywords implies that all keywords are selected.
++.LI D[,time]
++Delay for specified time after each output line, to let output drain.
++Time is given in tenths of a second (value of 10 is one second).
++Default is zero.
++.LI f[,functions]
++Limit debugger actions to the specified list of functions.
++Every function can be a
++.I glob(7)
++pattern.
++An empty list of functions implies that all functions are selected.
++Every function in the list may optionally be followed by a '/' -
++this will implicitly select all the functions down the call stack.
++.SP 1
++EX: \fCf,func1,func2/:-f,func3,func4/\fR
++.SP 1
++This would enable debugger in functions 'func1()', 'func2()' and all
++functions called from it (directly or indirectly). But not in
++functions 'func3()' or 'func4()' and all functions called from
++it.
++.LI F
++Mark each debugger output line with the name of the source file
++containing the macro causing the output.
++.LI i
++Mark each debugger output line with the PID (or thread ID) of the
++current process.
++.LI L
++Mark each debugger output line with the source file line number of
++the macro causing the output.
++.LI n
++Mark each debugger output line with the current function nesting depth.
++.LI N
++Sequentially number each debugger output line starting at 1.
++This is useful for reference purposes when debugger output is
++interspersed with program output.
++.LI o[,file]
++Like 'a[,file]' but overwrite old file, do not append.
++.LI O[,file]
++Like 'A[,file]' but overwrite old file, do not append.
++.LI p[,processes]
++Limit debugger actions to the specified processes.
++Every name can be a
++.I glob(7)
++pattern.
++An empty list
++implies all processes.  This is useful for processes which run child
++processes.  Note that each debugger output line can be marked with the
++name of the current process via the 'P' flag.  The process name must
++match the argument passed to the
++.B DBUG_PROCESS
++macro.
++.LI P
++Mark each debugger output line with the name of the current process.
++Most useful when used with a process which runs child processes that
++are also being debugged.  Note that the parent process must arrange
++for the debugger control string to be passed to the child processes.
++.LI r
++Used in conjunction with the 
++.B DBUG_PUSH 
++macro to reset the current
++indentation level back to zero.
++Most useful with 
++.B DBUG_PUSH 
++macros used to temporarily alter the
++debugger state.
++.LI S
++When compiled with
++.I safemalloc
++this flag invokes "sanity" memory checks (for overwrites/underwrites)
++on each
++.B DBUG_ENTER
++and
++.B DBUG_RETURN.
++.LI t[,N]
++Enable function control flow tracing.
++The maximum nesting depth is specified by N, and defaults to
++200.
++.LI T
++Mark each debugger output line with the current timestamp.
++The value is printed with microsecond resolution, as returned by
++.I gettimeofday()
++system call. The actual resolution is OS- and hardware-dependent.
++.LE
++
++.SK
++.B
++MULTI-THREADED DEBUGGING
++.R
++
++.P
++When
++.I dbug
++is used in a multi-threaded environment there are few differences from a single-threaded
++case to keep in mind. This section tries to summarize them.
++.SP 2
++.BL 5
++.LI
++Every thread has its own stack of debugger states.
++.B DBUG_PUSH
++and
++.B DBUG_POP
++affect only the thread that executed them.
++.LI
++At the bottom of the stack for all threads there is the common
++.I initial
++state. Changes to this state (for example, with
++.B DBUG_SET_INITIAL
++macro) affect all new threads and all running threads that didn't
++.B DBUG_PUSH
++yet.
++.LI
++Every thread can have its own name, that can be set with
++.B DBUG_PROCESS
++macro. Thus, "-#p,name1,name2" can be used to limit the output to specific threads.
++.LI
++When printing directly to
++.B DBUG_FILE
++it may be necessary to prevent other threads from writing something between two parts
++of logically indivisible output. It is done with
++.B DBUG_LOCK_FILE
++and
++.B DBUG_UNLOCK_FILE
++macors. See the appropriate section for examples.
++.LI
++"-#o,file" and "-#O,file" are treated as "-#a,file" and "-#A,file" respectively. That is
++all writes to a file are always followed by a flush.
++.LI
++"-#i" prints not a PID but a thread id in the form of "T@nnn"
++.LE
++
++.SK
++.B
++
++HINTS AND MISCELLANEOUS
++.R
++
++.P
++One of the most useful capabilities of the 
++.I dbug 
++package is to compare the executions of a given program in two
++different environments.
++This is typically done by executing the program in the environment
++where it behaves properly and saving the debugger output in a
++reference file.
++The program is then run with identical inputs in the environment where 
++it misbehaves and the output is again captured in a reference file.
++The two reference files can then be differentially compared to
++determine exactly where execution of the two processes diverges.
++
++.P
++A related usage is regression testing where the execution of a current
++version is compared against executions of previous versions.
++This is most useful when there are only minor changes.
++
++.P
++It is not difficult to modify an existing compiler to implement
++some of the functionality of the 
++.I dbug
++package automatically, without source code changes to the
++program being debugged.
++In fact, such changes were implemented in a version of the
++Portable C Compiler by the author in less than a day.
++However, it is strongly encouraged that all newly
++developed code continue to use the debugger macros
++for the portability reasons noted earlier.
++The modified compiler should be used only for testing existing
++programs.
++
++.SK
++.B
++CAVEATS
++.R
++
++.P
++The 
++.I dbug
++package works best with programs which have "line\ oriented"
++output, such as text processors, general purpose utilities, etc.
++It can be interfaced with screen oriented programs such as
++visual editors by redefining the appropriate macros to call
++special functions for displaying the debugger results.
++Of course, this caveat is not applicable if the debugger output
++is simply dumped into a file for post-execution examination.
++
++.P
++Programs which use memory allocation functions other than
++.B malloc
++will usually have problems using the standard
++.I dbug
++package.
++The most common problem is multiply allocated memory.
++.SP 2
++.\" .DE nroff dident like this. davida 900108
++.CS
++
++.\" vim:filetype=nroff
+diff --git a/sql/sql_yacc.cc b/sql/sql_yacc.cc
+new file mode 100644
+index 0000000..9234796
+--- /dev/null
++++ b/sql/sql_yacc.cc
+@@ -0,0 +1,37809 @@
++/* A Bison parser, made by GNU Bison 3.0.2.  */
++
++/* Bison implementation for Yacc-like parsers in C
++
++   Copyright (C) 1984, 1989-1990, 2000-2013 Free Software Foundation, Inc.
++
++   This program is free software: you can redistribute it and/or modify
++   it under the terms of the GNU General Public License as published by
++   the Free Software Foundation, either version 3 of the License, or
++   (at your option) any later version.
++
++   This program is distributed in the hope that it will be useful,
++   but WITHOUT ANY WARRANTY; without even the implied warranty of
++   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
++   GNU General Public License for more details.
++
++   You should have received a copy of the GNU General Public License
++   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
++
++/* As a special exception, you may create a larger work that contains
++   part or all of the Bison parser skeleton and distribute that work
++   under terms of your choice, so long as that work isn't itself a
++   parser generator using the skeleton or a modified version thereof
++   as a parser skeleton.  Alternatively, if you modify or redistribute
++   the parser skeleton itself, you may (at your option) remove this
++   special exception, which will cause the skeleton and the resulting
++   Bison output files to be licensed under the GNU General Public
++   License without this special exception.
++
++   This special exception was added by the Free Software Foundation in
++   version 2.2 of Bison.  */
++
++/* C LALR(1) parser skeleton written by Richard Stallman, by
++   simplifying the original so-called "semantic" parser.  */
++
++/* All symbols defined below should begin with yy or YY, to avoid
++   infringing on user name space.  This should be done even for local
++   variables, as they might otherwise be expanded by user macros.
++   There are some unavoidable exceptions within include files to
++   define necessary library symbols; they are noted "INFRINGES ON
++   USER NAME SPACE" below.  */
++
++/* Identify Bison output.  */
++#define YYBISON 1
++
++/* Bison version.  */
++#define YYBISON_VERSION "3.0.2"
++
++/* Skeleton name.  */
++#define YYSKELETON_NAME "yacc.c"
++
++/* Pure parsers.  */
++#define YYPURE 1
++
++/* Push parsers.  */
++#define YYPUSH 0
++
++/* Pull parsers.  */
++#define YYPULL 1
++
++
++/* Substitute the variable and function names.  */
++#define yyparse         MYSQLparse
++#define yylex           MYSQLlex
++#define yyerror         MYSQLerror
++#define yydebug         MYSQLdebug
++#define yynerrs         MYSQLnerrs
++
++
++/* Copy the first part of user declarations.  */
++#line 25 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:339  */
++
++#define YYLIP (& thd->m_parser_state->m_lip)
++#define YYPS (& thd->m_parser_state->m_yacc)
++
++#define MYSQL_YACC
++#define YYINITDEPTH 100
++#define YYMAXDEPTH 3200                        /* Because of 64K stack */
++#define Lex (thd->lex)
++
++#define Select Lex->current_select
++#include "sql_priv.h"
++#include "unireg.h"                    // REQUIRED: for other includes
++#include "sql_parse.h"                        /* comp_*_creator */
++#include "sql_table.h"                        /* primary_key_name */
++#include "sql_partition.h"  /* mem_alloc_error, partition_info, HASH_PARTITION */
++#include "sql_acl.h"                          /* *_ACL */
++#include "password.h"       /* my_make_scrambled_password_323, my_make_scrambled_password */
++#include "sql_class.h"      /* Key_part_spec, enum_filetype, Diag_condition_item_name */
++#include "slave.h"
++#include "lex_symbol.h"
++#include "item_create.h"
++#include "sp_head.h"
++#include "sp_pcontext.h"
++#include "sp_rcontext.h"
++#include "sp.h"
++#include "sql_alter.h"                         // Alter_table*_statement
++#include "sql_truncate.h"                      // Truncate_statement
++#include "sql_admin.h"                         // Analyze/Check..._table_stmt
++#include "sql_partition_admin.h"               // Alter_table_*_partition_stmt
++#include "sql_signal.h"
++#include "event_parse_data.h"
++#include "create_options.h"
++#include <myisam.h>
++#include <myisammrg.h>
++#include "keycaches.h"
++#include "set_var.h"
++
++/* this is to get the bison compilation windows warnings out */
++#ifdef _MSC_VER
++/* warning C4065: switch statement contains 'default' but no 'case' labels */
++#pragma warning (disable : 4065)
++#endif
++
++int yylex(void *yylval, void *yythd);
++
++#define yyoverflow(A,B,C,D,E,F)               \
++  {                                           \
++    ulong val= *(F);                          \
++    if (my_yyoverflow((B), (D), &val))        \
++    {                                         \
++      yyerror(thd, (char*) (A));              \
++      return 2;                               \
++    }                                         \
++    else                                      \
++    {                                         \
++      *(F)= (YYSIZE_T)val;                    \
++    }                                         \
++  }
++
++#define MYSQL_YYABORT                         \
++  do                                          \
++  {                                           \
++    LEX::cleanup_lex_after_parse_error(thd);  \
++    YYABORT;                                  \
++  } while (0)
++
++#define MYSQL_YYABORT_UNLESS(A)         \
++  if (!(A))                             \
++  {                                     \
++    my_parse_error(ER(ER_SYNTAX_ERROR));\
++    MYSQL_YYABORT;                      \
++  }
++
++/*
++  Work around for broken code generated by bison 1.875.
++
++  The code generated by bison 1.875a and later, bison 2.1 and bison 2.2 is ok.
++  With bison 1.875 however, the generated code contains:
++<pre>
++  yyerrlab1:
++  #if defined (__GNUC_MINOR__) && 2093 <= (__GNUC__ * 1000 + __GNUC_MINOR__)
++    __attribute__ ((__unused__))
++  #endif
++</pre>
++  This usage of __attribute__ is illegal, so we remove it.
++  See the following references for details:
++  http://lists.gnu.org/archive/html/bug-bison/2004-02/msg00014.html
++  http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14273
++*/
++
++#if defined (__GNUC_MINOR__) && 2093 <= (__GNUC__ * 1000 + __GNUC_MINOR__)
++#undef __attribute__
++#define __attribute__(X)
++#endif
++
++
++#ifndef DBUG_OFF
++#define YYDEBUG 1
++#else
++#define YYDEBUG 0
++#endif
++
++/**
++  @brief Push an error message into MySQL error stack with line
++  and position information.
++
++  This function provides semantic action implementers with a way
++  to push the famous "You have a syntax error near..." error
++  message into the error stack, which is normally produced only if
++  a parse error is discovered internally by the Bison generated
++  parser.
++*/
++
++void my_parse_error(const char *s)
++{
++  THD *thd= current_thd;
++  Lex_input_stream *lip= & thd->m_parser_state->m_lip;
++
++  const char *yytext= lip->get_tok_start();
++  if (!yytext)
++    yytext= "";
++
++  /* Push an error into the error stack */
++  ErrConvString err(yytext, strlen(yytext), thd->variables.character_set_client);
++  my_printf_error(ER_PARSE_ERROR,  ER(ER_PARSE_ERROR), MYF(0), s,
++                  err.ptr(), lip->yylineno);
++}
++
++/**
++  @brief Bison callback to report a syntax/OOM error
++
++  This function is invoked by the bison-generated parser
++  when a syntax error, a parse error or an out-of-memory
++  condition occurs. This function is not invoked when the
++  parser is requested to abort by semantic action code
++  by means of YYABORT or YYACCEPT macros. This is why these
++  macros should not be used (use MYSQL_YYABORT/MYSQL_YYACCEPT
++  instead).
++
++  The parser will abort immediately after invoking this callback.
++
++  This function is not for use in semantic actions and is internal to
++  the parser, as it performs some pre-return cleanup. 
++  In semantic actions, please use my_parse_error or my_error to
++  push an error into the error stack and MYSQL_YYABORT
++  to abort from the parser.
++*/
++
++void MYSQLerror(THD *thd, const char *s)
++{
++  /*
++    Restore the original LEX if it was replaced when parsing
++    a stored procedure. We must ensure that a parsing error
++    does not leave any side effects in the THD.
++  */
++  LEX::cleanup_lex_after_parse_error(thd);
++
++  /* "parse error" changed into "syntax error" between bison 1.75 and 1.875 */
++  if (strcmp(s,"parse error") == 0 || strcmp(s,"syntax error") == 0)
++    s= ER(ER_SYNTAX_ERROR);
++  my_parse_error(s);
++}
++
++
++#ifndef DBUG_OFF
++void turn_parser_debug_on()
++{
++  /*
++     MYSQLdebug is in sql/sql_yacc.cc, in bison generated code.
++     Turning this option on is **VERY** verbose, and should be
++     used when investigating a syntax error problem only.
++
++     The syntax to run with bison traces is as follows :
++     - Starting a server manually :
++       mysqld --debug-dbug="d,parser_debug" ...
++     - Running a test :
++       mysql-test-run.pl --mysqld="--debug-dbug=d,parser_debug" ...
++
++     The result will be in the process stderr (var/log/master.err)
++   */
++
++  extern int yydebug;
++  yydebug= 1;
++}
++#endif
++
++static bool is_native_function(THD *thd, const LEX_STRING *name)
++{
++  if (find_native_function_builder(thd, *name))
++    return true;
++
++  if (is_lex_native_function(name))
++    return true;
++
++  return false;
++}
++
++
++/**
++  Helper action for a case statement (entering the CASE).
++  This helper is used for both 'simple' and 'searched' cases.
++  This helper, with the other case_stmt_action_..., is executed when
++  the following SQL code is parsed:
++<pre>
++CREATE PROCEDURE proc_19194_simple(i int)
++BEGIN
++  DECLARE str CHAR(10);
++
++  CASE i
++    WHEN 1 THEN SET str="1";
++    WHEN 2 THEN SET str="2";
++    WHEN 3 THEN SET str="3";
++    ELSE SET str="unknown";
++  END CASE;
++
++  SELECT str;
++END
++</pre>
++  The actions are used to generate the following code:
++<pre>
++SHOW PROCEDURE CODE proc_19194_simple;
++Pos     Instruction
++0       set str@1 NULL
++1       set_case_expr (12) 0 i@0
++2       jump_if_not 5(12) (case_expr@0 = 1)
++3       set str@1 _latin1'1'
++4       jump 12
++5       jump_if_not 8(12) (case_expr@0 = 2)
++6       set str@1 _latin1'2'
++7       jump 12
++8       jump_if_not 11(12) (case_expr@0 = 3)
++9       set str@1 _latin1'3'
++10      jump 12
++11      set str@1 _latin1'unknown'
++12      stmt 0 "SELECT str"
++</pre>
++
++  @param lex the parser lex context
++*/
++
++void case_stmt_action_case(LEX *lex)
++{
++  lex->sphead->new_cont_backpatch(NULL);
++
++  /*
++    BACKPATCH: Creating target label for the jump to
++    "case_stmt_action_end_case"
++    (Instruction 12 in the example)
++  */
++
++  lex->spcont->push_label((char *)"", lex->sphead->instructions());
++}
++
++/**
++  Helper action for a case expression statement (the expr in 'CASE expr').
++  This helper is used for 'searched' cases only.
++  @param lex the parser lex context
++  @param expr the parsed expression
++  @return 0 on success
++*/
++
++int case_stmt_action_expr(LEX *lex, Item* expr)
++{
++  sp_head *sp= lex->sphead;
++  sp_pcontext *parsing_ctx= lex->spcont;
++  int case_expr_id= parsing_ctx->register_case_expr();
++  sp_instr_set_case_expr *i;
++
++  if (parsing_ctx->push_case_expr_id(case_expr_id))
++    return 1;
++
++  i= new sp_instr_set_case_expr(sp->instructions(),
++                                parsing_ctx, case_expr_id, expr, lex);
++
++  sp->add_cont_backpatch(i);
++  return sp->add_instr(i);
++}
++
++/**
++  Helper action for a case when condition.
++  This helper is used for both 'simple' and 'searched' cases.
++  @param lex the parser lex context
++  @param when the parsed expression for the WHEN clause
++  @param simple true for simple cases, false for searched cases
++*/
++
++int case_stmt_action_when(LEX *lex, Item *when, bool simple)
++{
++  sp_head *sp= lex->sphead;
++  sp_pcontext *ctx= lex->spcont;
++  uint ip= sp->instructions();
++  sp_instr_jump_if_not *i;
++  Item_case_expr *var;
++  Item *expr;
++
++  if (simple)
++  {
++    var= new Item_case_expr(ctx->get_current_case_expr_id());
++
++#ifndef DBUG_OFF
++    if (var)
++    {
++      var->m_sp= sp;
++    }
++#endif
++
++    expr= new Item_func_eq(var, when);
++    i= new sp_instr_jump_if_not(ip, ctx, expr, lex);
++  }
++  else
++    i= new sp_instr_jump_if_not(ip, ctx, when, lex);
++
++  /*
++    BACKPATCH: Registering forward jump from
++    "case_stmt_action_when" to "case_stmt_action_then"
++    (jump_if_not from instruction 2 to 5, 5 to 8 ... in the example)
++  */
++
++  return !test(i) ||
++         sp->push_backpatch(i, ctx->push_label((char *)"", 0)) ||
++         sp->add_cont_backpatch(i) ||
++         sp->add_instr(i);
++}
++
++/**
++  Helper action for a case then statements.
++  This helper is used for both 'simple' and 'searched' cases.
++  @param lex the parser lex context
++*/
++
++int case_stmt_action_then(LEX *lex)
++{
++  sp_head *sp= lex->sphead;
++  sp_pcontext *ctx= lex->spcont;
++  uint ip= sp->instructions();
++  sp_instr_jump *i = new sp_instr_jump(ip, ctx);
++  if (!test(i) || sp->add_instr(i))
++    return 1;
++
++  /*
++    BACKPATCH: Resolving forward jump from
++    "case_stmt_action_when" to "case_stmt_action_then"
++    (jump_if_not from instruction 2 to 5, 5 to 8 ... in the example)
++  */
++
++  sp->backpatch(ctx->pop_label());
++
++  /*
++    BACKPATCH: Registering forward jump from
++    "case_stmt_action_then" to "case_stmt_action_end_case"
++    (jump from instruction 4 to 12, 7 to 12 ... in the example)
++  */
++
++  return sp->push_backpatch(i, ctx->last_label());
++}
++
++/**
++  Helper action for an end case.
++  This helper is used for both 'simple' and 'searched' cases.
++  @param lex the parser lex context
++  @param simple true for simple cases, false for searched cases
++*/
++
++void case_stmt_action_end_case(LEX *lex, bool simple)
++{
++  /*
++    BACKPATCH: Resolving forward jump from
++    "case_stmt_action_then" to "case_stmt_action_end_case"
++    (jump from instruction 4 to 12, 7 to 12 ... in the example)
++  */
++  lex->sphead->backpatch(lex->spcont->pop_label());
++
++  if (simple)
++    lex->spcont->pop_case_expr_id();
++
++  lex->sphead->do_cont_backpatch();
++}
++
++
++static bool
++find_sys_var_null_base(THD *thd, struct sys_var_with_base *tmp)
++{
++  tmp->var= find_sys_var(thd, tmp->base_name.str, tmp->base_name.length);
++
++  if (tmp->var == NULL)
++    my_error(ER_UNKNOWN_SYSTEM_VARIABLE, MYF(0), tmp->base_name.str);
++  else
++    tmp->base_name= null_lex_str;
++
++  return thd->is_error();
++}
++
++
++/**
++  Helper action for a SET statement.
++  Used to push a system variable into the assignment list.
++
++  @param thd      the current thread
++  @param tmp      the system variable with base name
++  @param var_type the scope of the variable
++  @param val      the value being assigned to the variable
++
++  @return TRUE if error, FALSE otherwise.
++*/
++
++static bool
++set_system_variable(THD *thd, struct sys_var_with_base *tmp,
++                    enum enum_var_type var_type, Item *val)
++{
++  set_var *var;
++  LEX *lex= thd->lex;
++
++  /* No AUTOCOMMIT from a stored function or trigger. */
++  if (lex->spcont && tmp->var == Sys_autocommit_ptr)
++    lex->sphead->m_flags|= sp_head::HAS_SET_AUTOCOMMIT_STMT;
++
++  if (val && val->type() == Item::FIELD_ITEM &&
++      ((Item_field*)val)->table_name)
++  {
++    my_error(ER_WRONG_TYPE_FOR_VAR, MYF(0), tmp->var->name.str);
++    return TRUE;
++  }
++
++  if (! (var= new set_var(var_type, tmp->var, &tmp->base_name, val)))
++    return TRUE;
++
++  return lex->var_list.push_back(var);
++}
++
++
++/**
++  Helper action for a SET statement.
++  Used to push a SP local variable into the assignment list.
++
++  @param thd      the current thread
++  @param var_type the SP local variable
++  @param val      the value being assigned to the variable
++
++  @return TRUE if error, FALSE otherwise.
++*/
++
++static bool
++set_local_variable(THD *thd, sp_variable_t *spv, Item *val)
++{
++  Item *it;
++  LEX *lex= thd->lex;
++  sp_instr_set *sp_set;
++
++  if (val)
++    it= val;
++  else if (spv->dflt)
++    it= spv->dflt;
++  else
++  {
++    it= new (thd->mem_root) Item_null();
++    if (it == NULL)
++      return TRUE;
++  }
++
++  sp_set= new sp_instr_set(lex->sphead->instructions(), lex->spcont,
++                           spv->offset, it, spv->type, lex, TRUE);
++
++  return (sp_set == NULL || lex->sphead->add_instr(sp_set));
++}
++
++
++/**
++  Helper action for a SET statement.
++  Used to SET a field of NEW row.
++
++  @param thd      the current thread
++  @param name     the field name
++  @param val      the value being assigned to the row
++
++  @return TRUE if error, FALSE otherwise.
++*/
++
++static bool
++set_trigger_new_row(THD *thd, LEX_STRING *name, Item *val)
++{
++  LEX *lex= thd->lex;
++  Item_trigger_field *trg_fld;
++  sp_instr_set_trigger_field *sp_fld;
++
++  /* QQ: Shouldn't this be field's default value ? */
++  if (! val)
++    val= new Item_null();
++
++  DBUG_ASSERT(lex->trg_chistics.action_time == TRG_ACTION_BEFORE &&
++              (lex->trg_chistics.event == TRG_EVENT_INSERT ||
++               lex->trg_chistics.event == TRG_EVENT_UPDATE));
++
++  trg_fld= new (thd->mem_root)
++            Item_trigger_field(lex->current_context(),
++                               Item_trigger_field::NEW_ROW,
++                               name->str, UPDATE_ACL, FALSE);
++
++  if (trg_fld == NULL)
++    return TRUE;
++
++  sp_fld= new sp_instr_set_trigger_field(lex->sphead->instructions(),
++                                         lex->spcont, trg_fld, val, lex);
++
++  if (sp_fld == NULL)
++    return TRUE;
++
++  /*
++    Let us add this item to list of all Item_trigger_field
++    objects in trigger.
++  */
++  lex->trg_table_fields.link_in_list(trg_fld, &trg_fld->next_trg_field);
++
++  return lex->sphead->add_instr(sp_fld);
++}
++
++
++/**
++  Helper to resolve the SQL:2003 Syntax exception 1) in <in predicate>.
++  See SQL:2003, Part 2, section 8.4 <in predicate>, Note 184, page 383.
++  This function returns the proper item for the SQL expression
++  <code>left [NOT] IN ( expr )</code>
++  @param thd the current thread
++  @param left the in predicand
++  @param equal true for IN predicates, false for NOT IN predicates
++  @param expr first and only expression of the in value list
++  @return an expression representing the IN predicate.
++*/
++Item* handle_sql2003_note184_exception(THD *thd, Item* left, bool equal,
++                                       Item *expr)
++{
++  /*
++    Relevant references for this issue:
++    - SQL:2003, Part 2, section 8.4 <in predicate>, page 383,
++    - SQL:2003, Part 2, section 7.2 <row value expression>, page 296,
++    - SQL:2003, Part 2, section 6.3 <value expression primary>, page 174,
++    - SQL:2003, Part 2, section 7.15 <subquery>, page 370,
++    - SQL:2003 Feature F561, "Full value expressions".
++
++    The exception in SQL:2003 Note 184 means:
++    Item_singlerow_subselect, which corresponds to a <scalar subquery>,
++    should be re-interpreted as an Item_in_subselect, which corresponds
++    to a <table subquery> when used inside an <in predicate>.
++
++    Our reading of Note 184 is reccursive, so that all:
++    - IN (( <subquery> ))
++    - IN ((( <subquery> )))
++    - IN '('^N <subquery> ')'^N
++    - etc
++    should be interpreted as a <table subquery>, no matter how deep in the
++    expression the <subquery> is.
++  */
++
++  Item *result;
++
++  DBUG_ENTER("handle_sql2003_note184_exception");
++
++  if (expr->type() == Item::SUBSELECT_ITEM)
++  {
++    Item_subselect *expr2 = (Item_subselect*) expr;
++
++    if (expr2->substype() == Item_subselect::SINGLEROW_SUBS)
++    {
++      Item_singlerow_subselect *expr3 = (Item_singlerow_subselect*) expr2;
++      st_select_lex *subselect;
++
++      /*
++        Implement the mandated change, by altering the semantic tree:
++          left IN Item_singlerow_subselect(subselect)
++        is modified to
++          left IN (subselect)
++        which is represented as
++          Item_in_subselect(left, subselect)
++      */
++      subselect= expr3->invalidate_and_restore_select_lex();
++      result= new (thd->mem_root) Item_in_subselect(left, subselect);
++
++      if (! equal)
++        result = negate_expression(thd, result);
++
++      DBUG_RETURN(result);
++    }
++  }
++
++  if (equal)
++    result= new (thd->mem_root) Item_func_eq(left, expr);
++  else
++    result= new (thd->mem_root) Item_func_ne(left, expr);
++
++  DBUG_RETURN(result);
++}
++
++/**
++   @brief Creates a new SELECT_LEX for a UNION branch.
++
++   Sets up and initializes a SELECT_LEX structure for a query once the parser
++   discovers a UNION token. The current SELECT_LEX is pushed on the stack and
++   the new SELECT_LEX becomes the current one.
++
++   @param lex The parser state.
++
++   @param is_union_distinct True if the union preceding the new select statement
++   uses UNION DISTINCT.
++
++   @param is_top_level This should be @c TRUE if the newly created SELECT_LEX
++   is a non-nested statement.
++
++   @return <code>false</code> if successful, <code>true</code> if an error was
++   reported. In the latter case parsing should stop.
++ */
++bool add_select_to_union_list(LEX *lex, bool is_union_distinct, 
++                              bool is_top_level)
++{
++  /* 
++     Only the last SELECT can have INTO. Since the grammar won't allow INTO in
++     a nested SELECT, we make this check only when creating a top-level SELECT.
++  */
++  if (is_top_level && lex->result)
++  {
++    my_error(ER_WRONG_USAGE, MYF(0), "UNION", "INTO");
++    return TRUE;
++  }
++  if (lex->current_select->linkage == GLOBAL_OPTIONS_TYPE)
++  {
++    my_parse_error(ER(ER_SYNTAX_ERROR));
++    return TRUE;
++  }
++  /* This counter shouldn't be incremented for UNION parts */
++  lex->nest_level--;
++  if (mysql_new_select(lex, 0))
++    return TRUE;
++  mysql_init_select(lex);
++  lex->current_select->linkage=UNION_TYPE;
++  if (is_union_distinct) /* UNION DISTINCT - remember position */
++    lex->current_select->master_unit()->union_distinct=
++      lex->current_select;
++  return FALSE;
++}
++
++/**
++   @brief Initializes a SELECT_LEX for a query within parentheses (aka
++   braces).
++
++   @return false if successful, true if an error was reported. In the latter
++   case parsing should stop.
++ */
++bool setup_select_in_parentheses(LEX *lex) 
++{
++  SELECT_LEX * sel= lex->current_select;
++  if (sel->set_braces(1))
++  {
++    my_parse_error(ER(ER_SYNTAX_ERROR));
++    return TRUE;
++  }
++  if (sel->linkage == UNION_TYPE &&
++      !sel->master_unit()->first_select()->braces &&
++      sel->master_unit()->first_select()->linkage ==
++      UNION_TYPE)
++  {
++    my_parse_error(ER(ER_SYNTAX_ERROR));
++    return TRUE;
++  }
++  if (sel->linkage == UNION_TYPE &&
++      sel->olap != UNSPECIFIED_OLAP_TYPE &&
++      sel->master_unit()->fake_select_lex)
++  {
++    my_error(ER_WRONG_USAGE, MYF(0), "CUBE/ROLLUP", "ORDER BY");
++    return TRUE;
++  }
++  /* select in braces, can't contain global parameters */
++  if (sel->master_unit()->fake_select_lex)
++    sel->master_unit()->global_parameters=
++      sel->master_unit()->fake_select_lex;
++  return FALSE;
++}
++
++static bool add_create_index_prepare (LEX *lex, Table_ident *table)
++{
++  lex->sql_command= SQLCOM_CREATE_INDEX;
++  if (!lex->current_select->add_table_to_list(lex->thd, table, NULL,
++                                              TL_OPTION_UPDATING,
++                                              TL_READ_NO_INSERT,
++                                              MDL_SHARED_NO_WRITE))
++    return TRUE;
++  lex->alter_info.reset();
++  lex->alter_info.flags= ALTER_ADD_INDEX;
++  lex->col_list.empty();
++  lex->change= NullS;
++  lex->option_list= NULL;
++  return FALSE;
++}
++
++static bool add_create_index (LEX *lex, Key::Keytype type,
++                              const LEX_STRING &name,
++                              KEY_CREATE_INFO *info= NULL, bool generated= 0)
++{
++  Key *key;
++  key= new Key(type, name, info ? info : &lex->key_create_info, generated, 
++               lex->col_list, lex->option_list);
++  if (key == NULL)
++    return TRUE;
++
++  lex->alter_info.key_list.push_back(key);
++  lex->col_list.empty();
++  return FALSE;
++}
++
++
++#line 780 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:339  */
++
++# ifndef YY_NULLPTR
++#  if defined __cplusplus && 201103L <= __cplusplus
++#   define YY_NULLPTR nullptr
++#  else
++#   define YY_NULLPTR 0
++#  endif
++# endif
++
++/* Enabling verbose error messages.  */
++#ifdef YYERROR_VERBOSE
++# undef YYERROR_VERBOSE
++# define YYERROR_VERBOSE 1
++#else
++# define YYERROR_VERBOSE 0
++#endif
++
++/* In a future release of Bison, this section will be replaced
++   by #include "sql_yacc.h".  */
++#ifndef YY_MYSQL_HOME_BUILDBOT_GIT_MKDIST_SQL_SQL_YACC_H_INCLUDED
++# define YY_MYSQL_HOME_BUILDBOT_GIT_MKDIST_SQL_SQL_YACC_H_INCLUDED
++/* Debug traces.  */
++#ifndef YYDEBUG
++# define YYDEBUG 0
++#endif
++#if YYDEBUG
++extern int MYSQLdebug;
++#endif
++
++/* Token type.  */
++#ifndef YYTOKENTYPE
++# define YYTOKENTYPE
++  enum yytokentype
++  {
++    ABORT_SYM = 258,
++    ACCESSIBLE_SYM = 259,
++    ACTION = 260,
++    ADD = 261,
++    ADDDATE_SYM = 262,
++    AFTER_SYM = 263,
++    AGAINST = 264,
++    AGGREGATE_SYM = 265,
++    ALGORITHM_SYM = 266,
++    ALL = 267,
++    ALTER = 268,
++    ALWAYS_SYM = 269,
++    ANALYZE_SYM = 270,
++    AND_AND_SYM = 271,
++    AND_SYM = 272,
++    ANY_SYM = 273,
++    AS = 274,
++    ASC = 275,
++    ASCII_SYM = 276,
++    ASENSITIVE_SYM = 277,
++    AT_SYM = 278,
++    AUTHORS_SYM = 279,
++    AUTOEXTEND_SIZE_SYM = 280,
++    AUTO_INC = 281,
++    AVG_ROW_LENGTH = 282,
++    AVG_SYM = 283,
++    BACKUP_SYM = 284,
++    BEFORE_SYM = 285,
++    BEGIN_SYM = 286,
++    BETWEEN_SYM = 287,
++    BIGINT = 288,
++    BINARY = 289,
++    BINLOG_SYM = 290,
++    BIN_NUM = 291,
++    BIT_AND = 292,
++    BIT_OR = 293,
++    BIT_SYM = 294,
++    BIT_XOR = 295,
++    BLOB_SYM = 296,
++    BLOCK_SYM = 297,
++    BOOLEAN_SYM = 298,
++    BOOL_SYM = 299,
++    BOTH = 300,
++    BTREE_SYM = 301,
++    BY = 302,
++    BYTE_SYM = 303,
++    CACHE_SYM = 304,
++    CALL_SYM = 305,
++    CASCADE = 306,
++    CASCADED = 307,
++    CASE_SYM = 308,
++    CAST_SYM = 309,
++    CATALOG_NAME_SYM = 310,
++    CHAIN_SYM = 311,
++    CHANGE = 312,
++    CHANGED = 313,
++    CHARSET = 314,
++    CHAR_SYM = 315,
++    CHECKPOINT_SYM = 316,
++    CHECKSUM_SYM = 317,
++    CHECK_SYM = 318,
++    CIPHER_SYM = 319,
++    CLASS_ORIGIN_SYM = 320,
++    CLIENT_SYM = 321,
++    CLIENT_STATS_SYM = 322,
++    CLOSE_SYM = 323,
++    COALESCE = 324,
++    CODE_SYM = 325,
++    COLLATE_SYM = 326,
++    COLLATION_SYM = 327,
++    COLUMNS = 328,
++    COLUMN_ADD_SYM = 329,
++    COLUMN_CREATE_SYM = 330,
++    COLUMN_DELETE_SYM = 331,
++    COLUMN_EXISTS_SYM = 332,
++    COLUMN_GET_SYM = 333,
++    COLUMN_LIST_SYM = 334,
++    COLUMN_SYM = 335,
++    COLUMN_NAME_SYM = 336,
++    COMMENT_SYM = 337,
++    COMMITTED_SYM = 338,
++    COMMIT_SYM = 339,
++    COMPACT_SYM = 340,
++    COMPLETION_SYM = 341,
++    COMPRESSED_SYM = 342,
++    CONCURRENT = 343,
++    CONDITION_SYM = 344,
++    CONNECTION_SYM = 345,
++    CONSISTENT_SYM = 346,
++    CONSTRAINT = 347,
++    CONSTRAINT_CATALOG_SYM = 348,
++    CONSTRAINT_NAME_SYM = 349,
++    CONSTRAINT_SCHEMA_SYM = 350,
++    CONTAINS_SYM = 351,
++    CONTEXT_SYM = 352,
++    CONTINUE_SYM = 353,
++    CONTRIBUTORS_SYM = 354,
++    CONVERT_SYM = 355,
++    COUNT_SYM = 356,
++    CPU_SYM = 357,
++    CREATE = 358,
++    CROSS = 359,
++    CUBE_SYM = 360,
++    CURDATE = 361,
++    CURRENT_USER = 362,
++    CURSOR_SYM = 363,
++    CURSOR_NAME_SYM = 364,
++    CURTIME = 365,
++    DATABASE = 366,
++    DATABASES = 367,
++    DATAFILE_SYM = 368,
++    DATA_SYM = 369,
++    DATETIME = 370,
++    DATE_ADD_INTERVAL = 371,
++    DATE_SUB_INTERVAL = 372,
++    DATE_SYM = 373,
++    DAY_HOUR_SYM = 374,
++    DAY_MICROSECOND_SYM = 375,
++    DAY_MINUTE_SYM = 376,
++    DAY_SECOND_SYM = 377,
++    DAY_SYM = 378,
++    DEALLOCATE_SYM = 379,
++    DECIMAL_NUM = 380,
++    DECIMAL_SYM = 381,
++    DECLARE_SYM = 382,
++    DEFAULT = 383,
++    DEFINER_SYM = 384,
++    DELAYED_SYM = 385,
++    DELAY_KEY_WRITE_SYM = 386,
++    DELETE_SYM = 387,
++    DESC = 388,
++    DESCRIBE = 389,
++    DES_KEY_FILE = 390,
++    DETERMINISTIC_SYM = 391,
++    DIRECTORY_SYM = 392,
++    DISABLE_SYM = 393,
++    DISCARD = 394,
++    DISK_SYM = 395,
++    DISTINCT = 396,
++    DIV_SYM = 397,
++    DOUBLE_SYM = 398,
++    DO_SYM = 399,
++    DROP = 400,
++    DUAL_SYM = 401,
++    DUMPFILE = 402,
++    DUPLICATE_SYM = 403,
++    DYNAMIC_SYM = 404,
++    EACH_SYM = 405,
++    ELSE = 406,
++    ELSEIF_SYM = 407,
++    ENABLE_SYM = 408,
++    ENCLOSED = 409,
++    END = 410,
++    ENDS_SYM = 411,
++    END_OF_INPUT = 412,
++    ENGINES_SYM = 413,
++    ENGINE_SYM = 414,
++    ENUM = 415,
++    EQUAL_SYM = 416,
++    ERROR_SYM = 417,
++    ERRORS = 418,
++    ESCAPED = 419,
++    ESCAPE_SYM = 420,
++    EVENTS_SYM = 421,
++    EVENT_SYM = 422,
++    EVERY_SYM = 423,
++    EXAMINED_SYM = 424,
++    EXECUTE_SYM = 425,
++    EXISTS = 426,
++    EXIT_SYM = 427,
++    EXPANSION_SYM = 428,
++    EXTENDED_SYM = 429,
++    EXTENT_SIZE_SYM = 430,
++    EXTRACT_SYM = 431,
++    FALSE_SYM = 432,
++    FAST_SYM = 433,
++    FAULTS_SYM = 434,
++    FETCH_SYM = 435,
++    FILE_SYM = 436,
++    FIRST_SYM = 437,
++    FIXED_SYM = 438,
++    FLOAT_NUM = 439,
++    FLOAT_SYM = 440,
++    FLUSH_SYM = 441,
++    FORCE_SYM = 442,
++    FOREIGN = 443,
++    FOR_SYM = 444,
++    FOUND_SYM = 445,
++    FROM = 446,
++    FULL = 447,
++    FULLTEXT_SYM = 448,
++    FUNCTION_SYM = 449,
++    GE = 450,
++    GENERAL = 451,
++    GENERATED_SYM = 452,
++    GEOMETRYCOLLECTION = 453,
++    GEOMETRY_SYM = 454,
++    GET_FORMAT = 455,
++    GLOBAL_SYM = 456,
++    GRANT = 457,
++    GRANTS = 458,
++    GROUP_SYM = 459,
++    GROUP_CONCAT_SYM = 460,
++    HANDLER_SYM = 461,
++    HARD_SYM = 462,
++    HASH_SYM = 463,
++    HAVING = 464,
++    HELP_SYM = 465,
++    HEX_NUM = 466,
++    HEX_STRING = 467,
++    HIGH_PRIORITY = 468,
++    HOST_SYM = 469,
++    HOSTS_SYM = 470,
++    HOUR_MICROSECOND_SYM = 471,
++    HOUR_MINUTE_SYM = 472,
++    HOUR_SECOND_SYM = 473,
++    HOUR_SYM = 474,
++    IDENT = 475,
++    IDENTIFIED_SYM = 476,
++    IDENT_QUOTED = 477,
++    IF = 478,
++    IGNORE_SYM = 479,
++    IGNORE_SERVER_IDS_SYM = 480,
++    IMPORT = 481,
++    INDEXES = 482,
++    INDEX_SYM = 483,
++    INDEX_STATS_SYM = 484,
++    INFILE = 485,
++    INITIAL_SIZE_SYM = 486,
++    INNER_SYM = 487,
++    INOUT_SYM = 488,
++    INSENSITIVE_SYM = 489,
++    INSERT = 490,
++    INSERT_METHOD = 491,
++    INSTALL_SYM = 492,
++    INTERVAL_SYM = 493,
++    INTO = 494,
++    INT_SYM = 495,
++    INVOKER_SYM = 496,
++    IN_SYM = 497,
++    IO_SYM = 498,
++    IPC_SYM = 499,
++    IS = 500,
++    ISOLATION = 501,
++    ISSUER_SYM = 502,
++    ITERATE_SYM = 503,
++    JOIN_SYM = 504,
++    KEYS = 505,
++    KEY_BLOCK_SIZE = 506,
++    KEY_SYM = 507,
++    KILL_SYM = 508,
++    LANGUAGE_SYM = 509,
++    LAST_SYM = 510,
++    LAST_VALUE = 511,
++    LE = 512,
++    LEADING = 513,
++    LEAVES = 514,
++    LEAVE_SYM = 515,
++    LEFT = 516,
++    LESS_SYM = 517,
++    LEVEL_SYM = 518,
++    LEX_HOSTNAME = 519,
++    LIKE = 520,
++    LIMIT = 521,
++    LINEAR_SYM = 522,
++    LINES = 523,
++    LINESTRING = 524,
++    LIST_SYM = 525,
++    LOAD = 526,
++    LOCAL_SYM = 527,
++    LOCATOR_SYM = 528,
++    LOCKS_SYM = 529,
++    LOCK_SYM = 530,
++    LOGFILE_SYM = 531,
++    LOGS_SYM = 532,
++    LONGBLOB = 533,
++    LONGTEXT = 534,
++    LONG_NUM = 535,
++    LONG_SYM = 536,
++    LOOP_SYM = 537,
++    LOW_PRIORITY = 538,
++    MASTER_CONNECT_RETRY_SYM = 539,
++    MASTER_HOST_SYM = 540,
++    MASTER_LOG_FILE_SYM = 541,
++    MASTER_LOG_POS_SYM = 542,
++    MASTER_PASSWORD_SYM = 543,
++    MASTER_PORT_SYM = 544,
++    MASTER_SERVER_ID_SYM = 545,
++    MASTER_SSL_CAPATH_SYM = 546,
++    MASTER_SSL_CA_SYM = 547,
++    MASTER_SSL_CERT_SYM = 548,
++    MASTER_SSL_CIPHER_SYM = 549,
++    MASTER_SSL_KEY_SYM = 550,
++    MASTER_SSL_SYM = 551,
++    MASTER_SSL_VERIFY_SERVER_CERT_SYM = 552,
++    MASTER_SYM = 553,
++    MASTER_USER_SYM = 554,
++    MASTER_HEARTBEAT_PERIOD_SYM = 555,
++    MATCH = 556,
++    MAX_CONNECTIONS_PER_HOUR = 557,
++    MAX_QUERIES_PER_HOUR = 558,
++    MAX_ROWS = 559,
++    MAX_SIZE_SYM = 560,
++    MAX_SYM = 561,
++    MAX_UPDATES_PER_HOUR = 562,
++    MAX_USER_CONNECTIONS_SYM = 563,
++    MAX_VALUE_SYM = 564,
++    MEDIUMBLOB = 565,
++    MEDIUMINT = 566,
++    MEDIUMTEXT = 567,
++    MEDIUM_SYM = 568,
++    MEMORY_SYM = 569,
++    MERGE_SYM = 570,
++    MESSAGE_TEXT_SYM = 571,
++    MICROSECOND_SYM = 572,
++    MIGRATE_SYM = 573,
++    MINUTE_MICROSECOND_SYM = 574,
++    MINUTE_SECOND_SYM = 575,
++    MINUTE_SYM = 576,
++    MIN_ROWS = 577,
++    MIN_SYM = 578,
++    MODE_SYM = 579,
++    MODIFIES_SYM = 580,
++    MODIFY_SYM = 581,
++    MOD_SYM = 582,
++    MONTH_SYM = 583,
++    MULTILINESTRING = 584,
++    MULTIPOINT = 585,
++    MULTIPOLYGON = 586,
++    MUTEX_SYM = 587,
++    MYSQL_SYM = 588,
++    MYSQL_ERRNO_SYM = 589,
++    NAMES_SYM = 590,
++    NAME_SYM = 591,
++    NATIONAL_SYM = 592,
++    NATURAL = 593,
++    NCHAR_STRING = 594,
++    NCHAR_SYM = 595,
++    NDBCLUSTER_SYM = 596,
++    NE = 597,
++    NEG = 598,
++    NEW_SYM = 599,
++    NEXT_SYM = 600,
++    NODEGROUP_SYM = 601,
++    NONE_SYM = 602,
++    NOT2_SYM = 603,
++    NOT_SYM = 604,
++    NOW_SYM = 605,
++    NO_SYM = 606,
++    NO_WAIT_SYM = 607,
++    NO_WRITE_TO_BINLOG = 608,
++    NULL_SYM = 609,
++    NUM = 610,
++    NUMERIC_SYM = 611,
++    NVARCHAR_SYM = 612,
++    OFFSET_SYM = 613,
++    OLD_PASSWORD = 614,
++    ON = 615,
++    ONE_SHOT_SYM = 616,
++    ONE_SYM = 617,
++    ONLINE_SYM = 618,
++    OPEN_SYM = 619,
++    OPTIMIZE = 620,
++    OPTIONS_SYM = 621,
++    OPTION = 622,
++    OPTIONALLY = 623,
++    OR2_SYM = 624,
++    ORDER_SYM = 625,
++    OR_OR_SYM = 626,
++    OR_SYM = 627,
++    OUTER = 628,
++    OUTFILE = 629,
++    OUT_SYM = 630,
++    OWNER_SYM = 631,
++    PACK_KEYS_SYM = 632,
++    PAGE_SYM = 633,
++    PAGE_CHECKSUM_SYM = 634,
++    PARAM_MARKER = 635,
++    PARSER_SYM = 636,
++    PARSE_VCOL_EXPR_SYM = 637,
++    PARTIAL = 638,
++    PARTITIONING_SYM = 639,
++    PARTITIONS_SYM = 640,
++    PARTITION_SYM = 641,
++    PASSWORD = 642,
++    PERSISTENT_SYM = 643,
++    PHASE_SYM = 644,
++    PLUGINS_SYM = 645,
++    PLUGIN_SYM = 646,
++    POINT_SYM = 647,
++    POLYGON = 648,
++    PORT_SYM = 649,
++    POSITION_SYM = 650,
++    PRECISION = 651,
++    PREPARE_SYM = 652,
++    PRESERVE_SYM = 653,
++    PREV_SYM = 654,
++    PRIMARY_SYM = 655,
++    PRIVILEGES = 656,
++    PROCEDURE_SYM = 657,
++    PROCESS = 658,
++    PROCESSLIST_SYM = 659,
++    PROFILE_SYM = 660,
++    PROFILES_SYM = 661,
++    PROXY_SYM = 662,
++    PURGE = 663,
++    QUARTER_SYM = 664,
++    QUERY_SYM = 665,
++    QUICK = 666,
++    RANGE_SYM = 667,
++    READS_SYM = 668,
++    READ_ONLY_SYM = 669,
++    READ_SYM = 670,
++    READ_WRITE_SYM = 671,
++    REAL = 672,
++    REBUILD_SYM = 673,
++    RECOVER_SYM = 674,
++    REDOFILE_SYM = 675,
++    REDO_BUFFER_SIZE_SYM = 676,
++    REDUNDANT_SYM = 677,
++    REFERENCES = 678,
++    REGEXP = 679,
++    RELAY = 680,
++    RELAYLOG_SYM = 681,
++    RELAY_LOG_FILE_SYM = 682,
++    RELAY_LOG_POS_SYM = 683,
++    RELAY_THREAD = 684,
++    RELEASE_SYM = 685,
++    RELOAD = 686,
++    REMOVE_SYM = 687,
++    RENAME = 688,
++    REORGANIZE_SYM = 689,
++    REPAIR = 690,
++    REPEATABLE_SYM = 691,
++    REPEAT_SYM = 692,
++    REPLACE = 693,
++    REPLICATION = 694,
++    REQUIRE_SYM = 695,
++    RESET_SYM = 696,
++    RESIGNAL_SYM = 697,
++    RESOURCES = 698,
++    RESTORE_SYM = 699,
++    RESTRICT = 700,
++    RESUME_SYM = 701,
++    RETURNS_SYM = 702,
++    RETURN_SYM = 703,
++    REVOKE = 704,
++    RIGHT = 705,
++    ROLLBACK_SYM = 706,
++    ROLLUP_SYM = 707,
++    ROUTINE_SYM = 708,
++    ROWS_SYM = 709,
++    ROW_FORMAT_SYM = 710,
++    ROW_SYM = 711,
++    RTREE_SYM = 712,
++    SAVEPOINT_SYM = 713,
++    SCHEDULE_SYM = 714,
++    SCHEMA_NAME_SYM = 715,
++    SECOND_MICROSECOND_SYM = 716,
++    SECOND_SYM = 717,
++    SECURITY_SYM = 718,
++    SELECT_SYM = 719,
++    SENSITIVE_SYM = 720,
++    SEPARATOR_SYM = 721,
++    SERIALIZABLE_SYM = 722,
++    SERIAL_SYM = 723,
++    SESSION_SYM = 724,
++    SERVER_SYM = 725,
++    SERVER_OPTIONS = 726,
++    SET = 727,
++    SET_VAR = 728,
++    SHARE_SYM = 729,
++    SHIFT_LEFT = 730,
++    SHIFT_RIGHT = 731,
++    SHOW = 732,
++    SHUTDOWN = 733,
++    SIGNAL_SYM = 734,
++    SIGNED_SYM = 735,
++    SIMPLE_SYM = 736,
++    SLAVE = 737,
++    SLOW = 738,
++    SMALLINT = 739,
++    SNAPSHOT_SYM = 740,
++    SOCKET_SYM = 741,
++    SOFT_SYM = 742,
++    SONAME_SYM = 743,
++    SOUNDS_SYM = 744,
++    SOURCE_SYM = 745,
++    SPATIAL_SYM = 746,
++    SPECIFIC_SYM = 747,
++    SQLEXCEPTION_SYM = 748,
++    SQLSTATE_SYM = 749,
++    SQLWARNING_SYM = 750,
++    SQL_BIG_RESULT = 751,
++    SQL_BUFFER_RESULT = 752,
++    SQL_CACHE_SYM = 753,
++    SQL_CALC_FOUND_ROWS = 754,
++    SQL_NO_CACHE_SYM = 755,
++    SQL_SMALL_RESULT = 756,
++    SQL_SYM = 757,
++    SQL_THREAD = 758,
++    SSL_SYM = 759,
++    STARTING = 760,
++    STARTS_SYM = 761,
++    START_SYM = 762,
++    STATUS_SYM = 763,
++    STDDEV_SAMP_SYM = 764,
++    STD_SYM = 765,
++    STOP_SYM = 766,
++    STORAGE_SYM = 767,
++    STRAIGHT_JOIN = 768,
++    STRING_SYM = 769,
++    SUBCLASS_ORIGIN_SYM = 770,
++    SUBDATE_SYM = 771,
++    SUBJECT_SYM = 772,
++    SUBPARTITIONS_SYM = 773,
++    SUBPARTITION_SYM = 774,
++    SUBSTRING = 775,
++    SUM_SYM = 776,
++    SUPER_SYM = 777,
++    SUSPEND_SYM = 778,
++    SWAPS_SYM = 779,
++    SWITCHES_SYM = 780,
++    SYSDATE = 781,
++    TABLES = 782,
++    TABLESPACE = 783,
++    TABLE_REF_PRIORITY = 784,
++    TABLE_STATS_SYM = 785,
++    TABLE_SYM = 786,
++    TABLE_CHECKSUM_SYM = 787,
++    TABLE_NAME_SYM = 788,
++    TEMPORARY = 789,
++    TEMPTABLE_SYM = 790,
++    TERMINATED = 791,
++    TEXT_STRING = 792,
++    TEXT_SYM = 793,
++    THAN_SYM = 794,
++    THEN_SYM = 795,
++    TIMESTAMP = 796,
++    TIMESTAMP_ADD = 797,
++    TIMESTAMP_DIFF = 798,
++    TIME_SYM = 799,
++    TINYBLOB = 800,
++    TINYINT = 801,
++    TINYTEXT = 802,
++    TO_SYM = 803,
++    TRAILING = 804,
++    TRANSACTION_SYM = 805,
++    TRANSACTIONAL_SYM = 806,
++    TRIGGERS_SYM = 807,
++    TRIGGER_SYM = 808,
++    TRIM = 809,
++    TRUE_SYM = 810,
++    TRUNCATE_SYM = 811,
++    TYPES_SYM = 812,
++    TYPE_SYM = 813,
++    UDF_RETURNS_SYM = 814,
++    ULONGLONG_NUM = 815,
++    UNCOMMITTED_SYM = 816,
++    UNDEFINED_SYM = 817,
++    UNDERSCORE_CHARSET = 818,
++    UNDOFILE_SYM = 819,
++    UNDO_BUFFER_SIZE_SYM = 820,
++    UNDO_SYM = 821,
++    UNICODE_SYM = 822,
++    UNINSTALL_SYM = 823,
++    UNION_SYM = 824,
++    UNIQUE_SYM = 825,
++    UNKNOWN_SYM = 826,
++    UNLOCK_SYM = 827,
++    UNSIGNED = 828,
++    UNTIL_SYM = 829,
++    UPDATE_SYM = 830,
++    UPGRADE_SYM = 831,
++    USAGE = 832,
++    USER = 833,
++    USER_STATS_SYM = 834,
++    USE_FRM = 835,
++    USE_SYM = 836,
++    USING = 837,
++    UTC_DATE_SYM = 838,
++    UTC_TIMESTAMP_SYM = 839,
++    UTC_TIME_SYM = 840,
++    VALUES = 841,
++    VALUE_SYM = 842,
++    VARBINARY = 843,
++    VARCHAR = 844,
++    VARIABLES = 845,
++    VARIANCE_SYM = 846,
++    VARYING = 847,
++    VAR_SAMP_SYM = 848,
++    VIA_SYM = 849,
++    VIEW_SYM = 850,
++    VIRTUAL_SYM = 851,
++    WAIT_SYM = 852,
++    WARNINGS = 853,
++    WEEK_SYM = 854,
++    WHEN_SYM = 855,
++    WHERE = 856,
++    WHILE_SYM = 857,
++    WITH = 858,
++    WITH_CUBE_SYM = 859,
++    WITH_ROLLUP_SYM = 860,
++    WORK_SYM = 861,
++    WRAPPER_SYM = 862,
++    WRITE_SYM = 863,
++    X509_SYM = 864,
++    XA_SYM = 865,
++    XML_SYM = 866,
++    XOR = 867,
++    YEAR_MONTH_SYM = 868,
++    YEAR_SYM = 869,
++    ZEROFILL = 870,
++    IMPOSSIBLE_ACTION = 871
++  };
++#endif
++/* Tokens.  */
++#define ABORT_SYM 258
++#define ACCESSIBLE_SYM 259
++#define ACTION 260
++#define ADD 261
++#define ADDDATE_SYM 262
++#define AFTER_SYM 263
++#define AGAINST 264
++#define AGGREGATE_SYM 265
++#define ALGORITHM_SYM 266
++#define ALL 267
++#define ALTER 268
++#define ALWAYS_SYM 269
++#define ANALYZE_SYM 270
++#define AND_AND_SYM 271
++#define AND_SYM 272
++#define ANY_SYM 273
++#define AS 274
++#define ASC 275
++#define ASCII_SYM 276
++#define ASENSITIVE_SYM 277
++#define AT_SYM 278
++#define AUTHORS_SYM 279
++#define AUTOEXTEND_SIZE_SYM 280
++#define AUTO_INC 281
++#define AVG_ROW_LENGTH 282
++#define AVG_SYM 283
++#define BACKUP_SYM 284
++#define BEFORE_SYM 285
++#define BEGIN_SYM 286
++#define BETWEEN_SYM 287
++#define BIGINT 288
++#define BINARY 289
++#define BINLOG_SYM 290
++#define BIN_NUM 291
++#define BIT_AND 292
++#define BIT_OR 293
++#define BIT_SYM 294
++#define BIT_XOR 295
++#define BLOB_SYM 296
++#define BLOCK_SYM 297
++#define BOOLEAN_SYM 298
++#define BOOL_SYM 299
++#define BOTH 300
++#define BTREE_SYM 301
++#define BY 302
++#define BYTE_SYM 303
++#define CACHE_SYM 304
++#define CALL_SYM 305
++#define CASCADE 306
++#define CASCADED 307
++#define CASE_SYM 308
++#define CAST_SYM 309
++#define CATALOG_NAME_SYM 310
++#define CHAIN_SYM 311
++#define CHANGE 312
++#define CHANGED 313
++#define CHARSET 314
++#define CHAR_SYM 315
++#define CHECKPOINT_SYM 316
++#define CHECKSUM_SYM 317
++#define CHECK_SYM 318
++#define CIPHER_SYM 319
++#define CLASS_ORIGIN_SYM 320
++#define CLIENT_SYM 321
++#define CLIENT_STATS_SYM 322
++#define CLOSE_SYM 323
++#define COALESCE 324
++#define CODE_SYM 325
++#define COLLATE_SYM 326
++#define COLLATION_SYM 327
++#define COLUMNS 328
++#define COLUMN_ADD_SYM 329
++#define COLUMN_CREATE_SYM 330
++#define COLUMN_DELETE_SYM 331
++#define COLUMN_EXISTS_SYM 332
++#define COLUMN_GET_SYM 333
++#define COLUMN_LIST_SYM 334
++#define COLUMN_SYM 335
++#define COLUMN_NAME_SYM 336
++#define COMMENT_SYM 337
++#define COMMITTED_SYM 338
++#define COMMIT_SYM 339
++#define COMPACT_SYM 340
++#define COMPLETION_SYM 341
++#define COMPRESSED_SYM 342
++#define CONCURRENT 343
++#define CONDITION_SYM 344
++#define CONNECTION_SYM 345
++#define CONSISTENT_SYM 346
++#define CONSTRAINT 347
++#define CONSTRAINT_CATALOG_SYM 348
++#define CONSTRAINT_NAME_SYM 349
++#define CONSTRAINT_SCHEMA_SYM 350
++#define CONTAINS_SYM 351
++#define CONTEXT_SYM 352
++#define CONTINUE_SYM 353
++#define CONTRIBUTORS_SYM 354
++#define CONVERT_SYM 355
++#define COUNT_SYM 356
++#define CPU_SYM 357
++#define CREATE 358
++#define CROSS 359
++#define CUBE_SYM 360
++#define CURDATE 361
++#define CURRENT_USER 362
++#define CURSOR_SYM 363
++#define CURSOR_NAME_SYM 364
++#define CURTIME 365
++#define DATABASE 366
++#define DATABASES 367
++#define DATAFILE_SYM 368
++#define DATA_SYM 369
++#define DATETIME 370
++#define DATE_ADD_INTERVAL 371
++#define DATE_SUB_INTERVAL 372
++#define DATE_SYM 373
++#define DAY_HOUR_SYM 374
++#define DAY_MICROSECOND_SYM 375
++#define DAY_MINUTE_SYM 376
++#define DAY_SECOND_SYM 377
++#define DAY_SYM 378
++#define DEALLOCATE_SYM 379
++#define DECIMAL_NUM 380
++#define DECIMAL_SYM 381
++#define DECLARE_SYM 382
++#define DEFAULT 383
++#define DEFINER_SYM 384
++#define DELAYED_SYM 385
++#define DELAY_KEY_WRITE_SYM 386
++#define DELETE_SYM 387
++#define DESC 388
++#define DESCRIBE 389
++#define DES_KEY_FILE 390
++#define DETERMINISTIC_SYM 391
++#define DIRECTORY_SYM 392
++#define DISABLE_SYM 393
++#define DISCARD 394
++#define DISK_SYM 395
++#define DISTINCT 396
++#define DIV_SYM 397
++#define DOUBLE_SYM 398
++#define DO_SYM 399
++#define DROP 400
++#define DUAL_SYM 401
++#define DUMPFILE 402
++#define DUPLICATE_SYM 403
++#define DYNAMIC_SYM 404
++#define EACH_SYM 405
++#define ELSE 406
++#define ELSEIF_SYM 407
++#define ENABLE_SYM 408
++#define ENCLOSED 409
++#define END 410
++#define ENDS_SYM 411
++#define END_OF_INPUT 412
++#define ENGINES_SYM 413
++#define ENGINE_SYM 414
++#define ENUM 415
++#define EQUAL_SYM 416
++#define ERROR_SYM 417
++#define ERRORS 418
++#define ESCAPED 419
++#define ESCAPE_SYM 420
++#define EVENTS_SYM 421
++#define EVENT_SYM 422
++#define EVERY_SYM 423
++#define EXAMINED_SYM 424
++#define EXECUTE_SYM 425
++#define EXISTS 426
++#define EXIT_SYM 427
++#define EXPANSION_SYM 428
++#define EXTENDED_SYM 429
++#define EXTENT_SIZE_SYM 430
++#define EXTRACT_SYM 431
++#define FALSE_SYM 432
++#define FAST_SYM 433
++#define FAULTS_SYM 434
++#define FETCH_SYM 435
++#define FILE_SYM 436
++#define FIRST_SYM 437
++#define FIXED_SYM 438
++#define FLOAT_NUM 439
++#define FLOAT_SYM 440
++#define FLUSH_SYM 441
++#define FORCE_SYM 442
++#define FOREIGN 443
++#define FOR_SYM 444
++#define FOUND_SYM 445
++#define FROM 446
++#define FULL 447
++#define FULLTEXT_SYM 448
++#define FUNCTION_SYM 449
++#define GE 450
++#define GENERAL 451
++#define GENERATED_SYM 452
++#define GEOMETRYCOLLECTION 453
++#define GEOMETRY_SYM 454
++#define GET_FORMAT 455
++#define GLOBAL_SYM 456
++#define GRANT 457
++#define GRANTS 458
++#define GROUP_SYM 459
++#define GROUP_CONCAT_SYM 460
++#define HANDLER_SYM 461
++#define HARD_SYM 462
++#define HASH_SYM 463
++#define HAVING 464
++#define HELP_SYM 465
++#define HEX_NUM 466
++#define HEX_STRING 467
++#define HIGH_PRIORITY 468
++#define HOST_SYM 469
++#define HOSTS_SYM 470
++#define HOUR_MICROSECOND_SYM 471
++#define HOUR_MINUTE_SYM 472
++#define HOUR_SECOND_SYM 473
++#define HOUR_SYM 474
++#define IDENT 475
++#define IDENTIFIED_SYM 476
++#define IDENT_QUOTED 477
++#define IF 478
++#define IGNORE_SYM 479
++#define IGNORE_SERVER_IDS_SYM 480
++#define IMPORT 481
++#define INDEXES 482
++#define INDEX_SYM 483
++#define INDEX_STATS_SYM 484
++#define INFILE 485
++#define INITIAL_SIZE_SYM 486
++#define INNER_SYM 487
++#define INOUT_SYM 488
++#define INSENSITIVE_SYM 489
++#define INSERT 490
++#define INSERT_METHOD 491
++#define INSTALL_SYM 492
++#define INTERVAL_SYM 493
++#define INTO 494
++#define INT_SYM 495
++#define INVOKER_SYM 496
++#define IN_SYM 497
++#define IO_SYM 498
++#define IPC_SYM 499
++#define IS 500
++#define ISOLATION 501
++#define ISSUER_SYM 502
++#define ITERATE_SYM 503
++#define JOIN_SYM 504
++#define KEYS 505
++#define KEY_BLOCK_SIZE 506
++#define KEY_SYM 507
++#define KILL_SYM 508
++#define LANGUAGE_SYM 509
++#define LAST_SYM 510
++#define LAST_VALUE 511
++#define LE 512
++#define LEADING 513
++#define LEAVES 514
++#define LEAVE_SYM 515
++#define LEFT 516
++#define LESS_SYM 517
++#define LEVEL_SYM 518
++#define LEX_HOSTNAME 519
++#define LIKE 520
++#define LIMIT 521
++#define LINEAR_SYM 522
++#define LINES 523
++#define LINESTRING 524
++#define LIST_SYM 525
++#define LOAD 526
++#define LOCAL_SYM 527
++#define LOCATOR_SYM 528
++#define LOCKS_SYM 529
++#define LOCK_SYM 530
++#define LOGFILE_SYM 531
++#define LOGS_SYM 532
++#define LONGBLOB 533
++#define LONGTEXT 534
++#define LONG_NUM 535
++#define LONG_SYM 536
++#define LOOP_SYM 537
++#define LOW_PRIORITY 538
++#define MASTER_CONNECT_RETRY_SYM 539
++#define MASTER_HOST_SYM 540
++#define MASTER_LOG_FILE_SYM 541
++#define MASTER_LOG_POS_SYM 542
++#define MASTER_PASSWORD_SYM 543
++#define MASTER_PORT_SYM 544
++#define MASTER_SERVER_ID_SYM 545
++#define MASTER_SSL_CAPATH_SYM 546
++#define MASTER_SSL_CA_SYM 547
++#define MASTER_SSL_CERT_SYM 548
++#define MASTER_SSL_CIPHER_SYM 549
++#define MASTER_SSL_KEY_SYM 550
++#define MASTER_SSL_SYM 551
++#define MASTER_SSL_VERIFY_SERVER_CERT_SYM 552
++#define MASTER_SYM 553
++#define MASTER_USER_SYM 554
++#define MASTER_HEARTBEAT_PERIOD_SYM 555
++#define MATCH 556
++#define MAX_CONNECTIONS_PER_HOUR 557
++#define MAX_QUERIES_PER_HOUR 558
++#define MAX_ROWS 559
++#define MAX_SIZE_SYM 560
++#define MAX_SYM 561
++#define MAX_UPDATES_PER_HOUR 562
++#define MAX_USER_CONNECTIONS_SYM 563
++#define MAX_VALUE_SYM 564
++#define MEDIUMBLOB 565
++#define MEDIUMINT 566
++#define MEDIUMTEXT 567
++#define MEDIUM_SYM 568
++#define MEMORY_SYM 569
++#define MERGE_SYM 570
++#define MESSAGE_TEXT_SYM 571
++#define MICROSECOND_SYM 572
++#define MIGRATE_SYM 573
++#define MINUTE_MICROSECOND_SYM 574
++#define MINUTE_SECOND_SYM 575
++#define MINUTE_SYM 576
++#define MIN_ROWS 577
++#define MIN_SYM 578
++#define MODE_SYM 579
++#define MODIFIES_SYM 580
++#define MODIFY_SYM 581
++#define MOD_SYM 582
++#define MONTH_SYM 583
++#define MULTILINESTRING 584
++#define MULTIPOINT 585
++#define MULTIPOLYGON 586
++#define MUTEX_SYM 587
++#define MYSQL_SYM 588
++#define MYSQL_ERRNO_SYM 589
++#define NAMES_SYM 590
++#define NAME_SYM 591
++#define NATIONAL_SYM 592
++#define NATURAL 593
++#define NCHAR_STRING 594
++#define NCHAR_SYM 595
++#define NDBCLUSTER_SYM 596
++#define NE 597
++#define NEG 598
++#define NEW_SYM 599
++#define NEXT_SYM 600
++#define NODEGROUP_SYM 601
++#define NONE_SYM 602
++#define NOT2_SYM 603
++#define NOT_SYM 604
++#define NOW_SYM 605
++#define NO_SYM 606
++#define NO_WAIT_SYM 607
++#define NO_WRITE_TO_BINLOG 608
++#define NULL_SYM 609
++#define NUM 610
++#define NUMERIC_SYM 611
++#define NVARCHAR_SYM 612
++#define OFFSET_SYM 613
++#define OLD_PASSWORD 614
++#define ON 615
++#define ONE_SHOT_SYM 616
++#define ONE_SYM 617
++#define ONLINE_SYM 618
++#define OPEN_SYM 619
++#define OPTIMIZE 620
++#define OPTIONS_SYM 621
++#define OPTION 622
++#define OPTIONALLY 623
++#define OR2_SYM 624
++#define ORDER_SYM 625
++#define OR_OR_SYM 626
++#define OR_SYM 627
++#define OUTER 628
++#define OUTFILE 629
++#define OUT_SYM 630
++#define OWNER_SYM 631
++#define PACK_KEYS_SYM 632
++#define PAGE_SYM 633
++#define PAGE_CHECKSUM_SYM 634
++#define PARAM_MARKER 635
++#define PARSER_SYM 636
++#define PARSE_VCOL_EXPR_SYM 637
++#define PARTIAL 638
++#define PARTITIONING_SYM 639
++#define PARTITIONS_SYM 640
++#define PARTITION_SYM 641
++#define PASSWORD 642
++#define PERSISTENT_SYM 643
++#define PHASE_SYM 644
++#define PLUGINS_SYM 645
++#define PLUGIN_SYM 646
++#define POINT_SYM 647
++#define POLYGON 648
++#define PORT_SYM 649
++#define POSITION_SYM 650
++#define PRECISION 651
++#define PREPARE_SYM 652
++#define PRESERVE_SYM 653
++#define PREV_SYM 654
++#define PRIMARY_SYM 655
++#define PRIVILEGES 656
++#define PROCEDURE_SYM 657
++#define PROCESS 658
++#define PROCESSLIST_SYM 659
++#define PROFILE_SYM 660
++#define PROFILES_SYM 661
++#define PROXY_SYM 662
++#define PURGE 663
++#define QUARTER_SYM 664
++#define QUERY_SYM 665
++#define QUICK 666
++#define RANGE_SYM 667
++#define READS_SYM 668
++#define READ_ONLY_SYM 669
++#define READ_SYM 670
++#define READ_WRITE_SYM 671
++#define REAL 672
++#define REBUILD_SYM 673
++#define RECOVER_SYM 674
++#define REDOFILE_SYM 675
++#define REDO_BUFFER_SIZE_SYM 676
++#define REDUNDANT_SYM 677
++#define REFERENCES 678
++#define REGEXP 679
++#define RELAY 680
++#define RELAYLOG_SYM 681
++#define RELAY_LOG_FILE_SYM 682
++#define RELAY_LOG_POS_SYM 683
++#define RELAY_THREAD 684
++#define RELEASE_SYM 685
++#define RELOAD 686
++#define REMOVE_SYM 687
++#define RENAME 688
++#define REORGANIZE_SYM 689
++#define REPAIR 690
++#define REPEATABLE_SYM 691
++#define REPEAT_SYM 692
++#define REPLACE 693
++#define REPLICATION 694
++#define REQUIRE_SYM 695
++#define RESET_SYM 696
++#define RESIGNAL_SYM 697
++#define RESOURCES 698
++#define RESTORE_SYM 699
++#define RESTRICT 700
++#define RESUME_SYM 701
++#define RETURNS_SYM 702
++#define RETURN_SYM 703
++#define REVOKE 704
++#define RIGHT 705
++#define ROLLBACK_SYM 706
++#define ROLLUP_SYM 707
++#define ROUTINE_SYM 708
++#define ROWS_SYM 709
++#define ROW_FORMAT_SYM 710
++#define ROW_SYM 711
++#define RTREE_SYM 712
++#define SAVEPOINT_SYM 713
++#define SCHEDULE_SYM 714
++#define SCHEMA_NAME_SYM 715
++#define SECOND_MICROSECOND_SYM 716
++#define SECOND_SYM 717
++#define SECURITY_SYM 718
++#define SELECT_SYM 719
++#define SENSITIVE_SYM 720
++#define SEPARATOR_SYM 721
++#define SERIALIZABLE_SYM 722
++#define SERIAL_SYM 723
++#define SESSION_SYM 724
++#define SERVER_SYM 725
++#define SERVER_OPTIONS 726
++#define SET 727
++#define SET_VAR 728
++#define SHARE_SYM 729
++#define SHIFT_LEFT 730
++#define SHIFT_RIGHT 731
++#define SHOW 732
++#define SHUTDOWN 733
++#define SIGNAL_SYM 734
++#define SIGNED_SYM 735
++#define SIMPLE_SYM 736
++#define SLAVE 737
++#define SLOW 738
++#define SMALLINT 739
++#define SNAPSHOT_SYM 740
++#define SOCKET_SYM 741
++#define SOFT_SYM 742
++#define SONAME_SYM 743
++#define SOUNDS_SYM 744
++#define SOURCE_SYM 745
++#define SPATIAL_SYM 746
++#define SPECIFIC_SYM 747
++#define SQLEXCEPTION_SYM 748
++#define SQLSTATE_SYM 749
++#define SQLWARNING_SYM 750
++#define SQL_BIG_RESULT 751
++#define SQL_BUFFER_RESULT 752
++#define SQL_CACHE_SYM 753
++#define SQL_CALC_FOUND_ROWS 754
++#define SQL_NO_CACHE_SYM 755
++#define SQL_SMALL_RESULT 756
++#define SQL_SYM 757
++#define SQL_THREAD 758
++#define SSL_SYM 759
++#define STARTING 760
++#define STARTS_SYM 761
++#define START_SYM 762
++#define STATUS_SYM 763
++#define STDDEV_SAMP_SYM 764
++#define STD_SYM 765
++#define STOP_SYM 766
++#define STORAGE_SYM 767
++#define STRAIGHT_JOIN 768
++#define STRING_SYM 769
++#define SUBCLASS_ORIGIN_SYM 770
++#define SUBDATE_SYM 771
++#define SUBJECT_SYM 772
++#define SUBPARTITIONS_SYM 773
++#define SUBPARTITION_SYM 774
++#define SUBSTRING 775
++#define SUM_SYM 776
++#define SUPER_SYM 777
++#define SUSPEND_SYM 778
++#define SWAPS_SYM 779
++#define SWITCHES_SYM 780
++#define SYSDATE 781
++#define TABLES 782
++#define TABLESPACE 783
++#define TABLE_REF_PRIORITY 784
++#define TABLE_STATS_SYM 785
++#define TABLE_SYM 786
++#define TABLE_CHECKSUM_SYM 787
++#define TABLE_NAME_SYM 788
++#define TEMPORARY 789
++#define TEMPTABLE_SYM 790
++#define TERMINATED 791
++#define TEXT_STRING 792
++#define TEXT_SYM 793
++#define THAN_SYM 794
++#define THEN_SYM 795
++#define TIMESTAMP 796
++#define TIMESTAMP_ADD 797
++#define TIMESTAMP_DIFF 798
++#define TIME_SYM 799
++#define TINYBLOB 800
++#define TINYINT 801
++#define TINYTEXT 802
++#define TO_SYM 803
++#define TRAILING 804
++#define TRANSACTION_SYM 805
++#define TRANSACTIONAL_SYM 806
++#define TRIGGERS_SYM 807
++#define TRIGGER_SYM 808
++#define TRIM 809
++#define TRUE_SYM 810
++#define TRUNCATE_SYM 811
++#define TYPES_SYM 812
++#define TYPE_SYM 813
++#define UDF_RETURNS_SYM 814
++#define ULONGLONG_NUM 815
++#define UNCOMMITTED_SYM 816
++#define UNDEFINED_SYM 817
++#define UNDERSCORE_CHARSET 818
++#define UNDOFILE_SYM 819
++#define UNDO_BUFFER_SIZE_SYM 820
++#define UNDO_SYM 821
++#define UNICODE_SYM 822
++#define UNINSTALL_SYM 823
++#define UNION_SYM 824
++#define UNIQUE_SYM 825
++#define UNKNOWN_SYM 826
++#define UNLOCK_SYM 827
++#define UNSIGNED 828
++#define UNTIL_SYM 829
++#define UPDATE_SYM 830
++#define UPGRADE_SYM 831
++#define USAGE 832
++#define USER 833
++#define USER_STATS_SYM 834
++#define USE_FRM 835
++#define USE_SYM 836
++#define USING 837
++#define UTC_DATE_SYM 838
++#define UTC_TIMESTAMP_SYM 839
++#define UTC_TIME_SYM 840
++#define VALUES 841
++#define VALUE_SYM 842
++#define VARBINARY 843
++#define VARCHAR 844
++#define VARIABLES 845
++#define VARIANCE_SYM 846
++#define VARYING 847
++#define VAR_SAMP_SYM 848
++#define VIA_SYM 849
++#define VIEW_SYM 850
++#define VIRTUAL_SYM 851
++#define WAIT_SYM 852
++#define WARNINGS 853
++#define WEEK_SYM 854
++#define WHEN_SYM 855
++#define WHERE 856
++#define WHILE_SYM 857
++#define WITH 858
++#define WITH_CUBE_SYM 859
++#define WITH_ROLLUP_SYM 860
++#define WORK_SYM 861
++#define WRAPPER_SYM 862
++#define WRITE_SYM 863
++#define X509_SYM 864
++#define XA_SYM 865
++#define XML_SYM 866
++#define XOR 867
++#define YEAR_MONTH_SYM 868
++#define YEAR_SYM 869
++#define ZEROFILL 870
++#define IMPOSSIBLE_ACTION 871
++
++/* Value type.  */
++#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
++typedef union YYSTYPE YYSTYPE;
++union YYSTYPE
++{
++#line 732 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:355  */
++
++  int  num;
++  ulong ulong_num;
++  ulonglong ulonglong_number;
++  longlong longlong_number;
++  LEX_STRING lex_str;
++  LEX_STRING *lex_str_ptr;
++  LEX_SYMBOL symbol;
++  LEX_TYPE lex_type;
++  Table_ident *table;
++  char *simple_string;
++  Item *item;
++  Item_num *item_num;
++  List<Item> *item_list;
++  List<String> *string_list;
++  String *string;
++  Key_part_spec *key_part;
++  TABLE_LIST *table_list;
++  udf_func *udf;
++  LEX_USER *lex_user;
++  struct sys_var_with_base variable;
++  enum enum_var_type var_type;
++  Key::Keytype key_type;
++  enum ha_key_alg key_alg;
++  handlerton *db_type;
++  enum row_type row_type;
++  enum ha_rkey_function ha_rkey_mode;
++  enum enum_tx_isolation tx_isolation;
++  enum Cast_target cast_type;
++  enum Item_udftype udf_type;
++  enum ha_choice choice;
++  CHARSET_INFO *charset;
++  thr_lock_type lock_type;
++  interval_type interval, interval_time_st;
++  timestamp_type date_time_type;
++  st_select_lex *select_lex;
++  chooser_compare_func_creator boolfunc2creator;
++  struct sp_cond_type *spcondtype;
++  struct { int vars, conds, hndlrs, curs; } spblock;
++  sp_name *spname;
++  LEX *lex;
++  sp_head *sphead;
++  struct p_elem_val *p_elem_value;
++  enum index_hint_type index_hint;
++  enum enum_filetype filetype;
++  enum Foreign_key::fk_option m_fk_option;
++  enum enum_yes_no_unknown m_yes_no_unk;
++  Diag_condition_item_name diag_condition_item_name;
++  DYNCALL_CREATE_DEF *dyncol_def;
++  List<DYNCALL_CREATE_DEF> *dyncol_def_list;
++  bool is_not_empty;
++
++#line 2105 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:355  */
++};
++# define YYSTYPE_IS_TRIVIAL 1
++# define YYSTYPE_IS_DECLARED 1
++#endif
++
++
++
++int MYSQLparse (THD *thd);
++
++#endif /* !YY_MYSQL_HOME_BUILDBOT_GIT_MKDIST_SQL_SQL_YACC_H_INCLUDED  */
++
++/* Copy the second part of user declarations.  */
++#line 785 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:358  */
++
++bool my_yyoverflow(short **a, YYSTYPE **b, ulong *yystacksize);
++
++#line 2122 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:358  */
++
++#ifdef short
++# undef short
++#endif
++
++#ifdef YYTYPE_UINT8
++typedef YYTYPE_UINT8 yytype_uint8;
++#else
++typedef unsigned char yytype_uint8;
++#endif
++
++#ifdef YYTYPE_INT8
++typedef YYTYPE_INT8 yytype_int8;
++#else
++typedef signed char yytype_int8;
++#endif
++
++#ifdef YYTYPE_UINT16
++typedef YYTYPE_UINT16 yytype_uint16;
++#else
++typedef unsigned short int yytype_uint16;
++#endif
++
++#ifdef YYTYPE_INT16
++typedef YYTYPE_INT16 yytype_int16;
++#else
++typedef short int yytype_int16;
++#endif
++
++#ifndef YYSIZE_T
++# ifdef __SIZE_TYPE__
++#  define YYSIZE_T __SIZE_TYPE__
++# elif defined size_t
++#  define YYSIZE_T size_t
++# elif ! defined YYSIZE_T
++#  include <stddef.h> /* INFRINGES ON USER NAME SPACE */
++#  define YYSIZE_T size_t
++# else
++#  define YYSIZE_T unsigned int
++# endif
++#endif
++
++#define YYSIZE_MAXIMUM ((YYSIZE_T) -1)
++
++#ifndef YY_
++# if defined YYENABLE_NLS && YYENABLE_NLS
++#  if ENABLE_NLS
++#   include <libintl.h> /* INFRINGES ON USER NAME SPACE */
++#   define YY_(Msgid) dgettext ("bison-runtime", Msgid)
++#  endif
++# endif
++# ifndef YY_
++#  define YY_(Msgid) Msgid
++# endif
++#endif
++
++#ifndef YY_ATTRIBUTE
++# if (defined __GNUC__                                               \
++      && (2 < __GNUC__ || (__GNUC__ == 2 && 96 <= __GNUC_MINOR__)))  \
++     || defined __SUNPRO_C && 0x5110 <= __SUNPRO_C
++#  define YY_ATTRIBUTE(Spec) __attribute__(Spec)
++# else
++#  define YY_ATTRIBUTE(Spec) /* empty */
++# endif
++#endif
++
++#ifndef YY_ATTRIBUTE_PURE
++# define YY_ATTRIBUTE_PURE   YY_ATTRIBUTE ((__pure__))
++#endif
++
++#ifndef YY_ATTRIBUTE_UNUSED
++# define YY_ATTRIBUTE_UNUSED YY_ATTRIBUTE ((__unused__))
++#endif
++
++#if !defined _Noreturn \
++     && (!defined __STDC_VERSION__ || __STDC_VERSION__ < 201112)
++# if defined _MSC_VER && 1200 <= _MSC_VER
++#  define _Noreturn __declspec (noreturn)
++# else
++#  define _Noreturn YY_ATTRIBUTE ((__noreturn__))
++# endif
++#endif
++
++/* Suppress unused-variable warnings by "using" E.  */
++#if ! defined lint || defined __GNUC__
++# define YYUSE(E) ((void) (E))
++#else
++# define YYUSE(E) /* empty */
++#endif
++
++#if defined __GNUC__ && 407 <= __GNUC__ * 100 + __GNUC_MINOR__
++/* Suppress an incorrect diagnostic about yylval being uninitialized.  */
++# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \
++    _Pragma ("GCC diagnostic push") \
++    _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"")\
++    _Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"")
++# define YY_IGNORE_MAYBE_UNINITIALIZED_END \
++    _Pragma ("GCC diagnostic pop")
++#else
++# define YY_INITIAL_VALUE(Value) Value
++#endif
++#ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
++# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
++# define YY_IGNORE_MAYBE_UNINITIALIZED_END
++#endif
++#ifndef YY_INITIAL_VALUE
++# define YY_INITIAL_VALUE(Value) /* Nothing. */
++#endif
++
++
++#if ! defined yyoverflow || YYERROR_VERBOSE
++
++/* The parser invokes alloca or malloc; define the necessary symbols.  */
++
++# ifdef YYSTACK_USE_ALLOCA
++#  if YYSTACK_USE_ALLOCA
++#   ifdef __GNUC__
++#    define YYSTACK_ALLOC __builtin_alloca
++#   elif defined __BUILTIN_VA_ARG_INCR
++#    include <alloca.h> /* INFRINGES ON USER NAME SPACE */
++#   elif defined _AIX
++#    define YYSTACK_ALLOC __alloca
++#   elif defined _MSC_VER
++#    include <malloc.h> /* INFRINGES ON USER NAME SPACE */
++#    define alloca _alloca
++#   else
++#    define YYSTACK_ALLOC alloca
++#    if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS
++#     include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
++      /* Use EXIT_SUCCESS as a witness for stdlib.h.  */
++#     ifndef EXIT_SUCCESS
++#      define EXIT_SUCCESS 0
++#     endif
++#    endif
++#   endif
++#  endif
++# endif
++
++# ifdef YYSTACK_ALLOC
++   /* Pacify GCC's 'empty if-body' warning.  */
++#  define YYSTACK_FREE(Ptr) do { /* empty */; } while (0)
++#  ifndef YYSTACK_ALLOC_MAXIMUM
++    /* The OS might guarantee only one guard page at the bottom of the stack,
++       and a page size can be as small as 4096 bytes.  So we cannot safely
++       invoke alloca (N) if N exceeds 4096.  Use a slightly smaller number
++       to allow for a few compiler-allocated temporary stack slots.  */
++#   define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */
++#  endif
++# else
++#  define YYSTACK_ALLOC YYMALLOC
++#  define YYSTACK_FREE YYFREE
++#  ifndef YYSTACK_ALLOC_MAXIMUM
++#   define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
++#  endif
++#  if (defined __cplusplus && ! defined EXIT_SUCCESS \
++       && ! ((defined YYMALLOC || defined malloc) \
++             && (defined YYFREE || defined free)))
++#   include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
++#   ifndef EXIT_SUCCESS
++#    define EXIT_SUCCESS 0
++#   endif
++#  endif
++#  ifndef YYMALLOC
++#   define YYMALLOC malloc
++#   if ! defined malloc && ! defined EXIT_SUCCESS
++void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
++#   endif
++#  endif
++#  ifndef YYFREE
++#   define YYFREE free
++#   if ! defined free && ! defined EXIT_SUCCESS
++void free (void *); /* INFRINGES ON USER NAME SPACE */
++#   endif
++#  endif
++# endif
++#endif /* ! defined yyoverflow || YYERROR_VERBOSE */
++
++
++#if (! defined yyoverflow \
++     && (! defined __cplusplus \
++         || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
++
++/* A type that is properly aligned for any stack member.  */
++union yyalloc
++{
++  yytype_int16 yyss_alloc;
++  YYSTYPE yyvs_alloc;
++};
++
++/* The size of the maximum gap between one aligned stack and the next.  */
++# define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1)
++
++/* The size of an array large to enough to hold all stacks, each with
++   N elements.  */
++# define YYSTACK_BYTES(N) \
++     ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE)) \
++      + YYSTACK_GAP_MAXIMUM)
++
++# define YYCOPY_NEEDED 1
++
++/* Relocate STACK from its old location to the new one.  The
++   local variables YYSIZE and YYSTACKSIZE give the old and new number of
++   elements in the stack, and YYPTR gives the new location of the
++   stack.  Advance YYPTR to a properly aligned location for the next
++   stack.  */
++# define YYSTACK_RELOCATE(Stack_alloc, Stack)                           \
++    do                                                                  \
++      {                                                                 \
++        YYSIZE_T yynewbytes;                                            \
++        YYCOPY (&yyptr->Stack_alloc, Stack, yysize);                    \
++        Stack = &yyptr->Stack_alloc;                                    \
++        yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
++        yyptr += yynewbytes / sizeof (*yyptr);                          \
++      }                                                                 \
++    while (0)
++
++#endif
++
++#if defined YYCOPY_NEEDED && YYCOPY_NEEDED
++/* Copy COUNT objects from SRC to DST.  The source and destination do
++   not overlap.  */
++# ifndef YYCOPY
++#  if defined __GNUC__ && 1 < __GNUC__
++#   define YYCOPY(Dst, Src, Count) \
++      __builtin_memcpy (Dst, Src, (Count) * sizeof (*(Src)))
++#  else
++#   define YYCOPY(Dst, Src, Count)              \
++      do                                        \
++        {                                       \
++          YYSIZE_T yyi;                         \
++          for (yyi = 0; yyi < (Count); yyi++)   \
++            (Dst)[yyi] = (Src)[yyi];            \
++        }                                       \
++      while (0)
++#  endif
++# endif
++#endif /* !YYCOPY_NEEDED */
++
++/* YYFINAL -- State number of the termination state.  */
++#define YYFINAL  602
++/* YYLAST -- Last index in YYTABLE.  */
++#define YYLAST   56329
++
++/* YYNTOKENS -- Number of terminals.  */
++#define YYNTOKENS  639
++/* YYNNTS -- Number of nonterminals.  */
++#define YYNNTS  930
++/* YYNRULES -- Number of rules.  */
++#define YYNRULES  2643
++/* YYNSTATES -- Number of states.  */
++#define YYNSTATES  4474
++
++/* YYTRANSLATE[YYX] -- Symbol number corresponding to YYX as returned
++   by yylex, with out-of-bounds checking.  */
++#define YYUNDEFTOK  2
++#define YYMAXUTOK   871
++
++#define YYTRANSLATE(YYX)                                                \
++  ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
++
++/* YYTRANSLATE[TOKEN-NUM] -- Symbol number corresponding to TOKEN-NUM
++   as returned by yylex, without out-of-bounds checking.  */
++static const yytype_uint16 yytranslate[] =
++{
++       0,     2,     2,     2,     2,     2,     2,     2,     2,     2,
++       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
++       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
++       2,     2,     2,   632,     2,     2,     2,   626,   621,     2,
++     629,   630,   624,   623,   631,   622,   637,   625,     2,     2,
++       2,     2,     2,     2,     2,     2,     2,     2,   638,   635,
++     619,   617,   618,     2,   636,     2,     2,     2,     2,     2,
++       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
++       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
++       2,     2,     2,     2,   627,     2,     2,     2,     2,     2,
++       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
++       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
++       2,     2,     2,   633,   620,   634,   628,     2,     2,     2,
++       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
++       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
++       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
++       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
++       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
++       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
++       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
++       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
++       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
++       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
++       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
++       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
++       2,     2,     2,     2,     2,     2,     1,     2,     3,     4,
++       5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
++      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
++      25,    26,    27,    28,    29,    30,    31,    32,    33,    34,
++      35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
++      45,    46,    47,    48,    49,    50,    51,    52,    53,    54,
++      55,    56,    57,    58,    59,    60,    61,    62,    63,    64,
++      65,    66,    67,    68,    69,    70,    71,    72,    73,    74,
++      75,    76,    77,    78,    79,    80,    81,    82,    83,    84,
++      85,    86,    87,    88,    89,    90,    91,    92,    93,    94,
++      95,    96,    97,    98,    99,   100,   101,   102,   103,   104,
++     105,   106,   107,   108,   109,   110,   111,   112,   113,   114,
++     115,   116,   117,   118,   119,   120,   121,   122,   123,   124,
++     125,   126,   127,   128,   129,   130,   131,   132,   133,   134,
++     135,   136,   137,   138,   139,   140,   141,   142,   143,   144,
++     145,   146,   147,   148,   149,   150,   151,   152,   153,   154,
++     155,   156,   157,   158,   159,   160,   161,   162,   163,   164,
++     165,   166,   167,   168,   169,   170,   171,   172,   173,   174,
++     175,   176,   177,   178,   179,   180,   181,   182,   183,   184,
++     185,   186,   187,   188,   189,   190,   191,   192,   193,   194,
++     195,   196,   197,   198,   199,   200,   201,   202,   203,   204,
++     205,   206,   207,   208,   209,   210,   211,   212,   213,   214,
++     215,   216,   217,   218,   219,   220,   221,   222,   223,   224,
++     225,   226,   227,   228,   229,   230,   231,   232,   233,   234,
++     235,   236,   237,   238,   239,   240,   241,   242,   243,   244,
++     245,   246,   247,   248,   249,   250,   251,   252,   253,   254,
++     255,   256,   257,   258,   259,   260,   261,   262,   263,   264,
++     265,   266,   267,   268,   269,   270,   271,   272,   273,   274,
++     275,   276,   277,   278,   279,   280,   281,   282,   283,   284,
++     285,   286,   287,   288,   289,   290,   291,   292,   293,   294,
++     295,   296,   297,   298,   299,   300,   301,   302,   303,   304,
++     305,   306,   307,   308,   309,   310,   311,   312,   313,   314,
++     315,   316,   317,   318,   319,   320,   321,   322,   323,   324,
++     325,   326,   327,   328,   329,   330,   331,   332,   333,   334,
++     335,   336,   337,   338,   339,   340,   341,   342,   343,   344,
++     345,   346,   347,   348,   349,   350,   351,   352,   353,   354,
++     355,   356,   357,   358,   359,   360,   361,   362,   363,   364,
++     365,   366,   367,   368,   369,   370,   371,   372,   373,   374,
++     375,   376,   377,   378,   379,   380,   381,   382,   383,   384,
++     385,   386,   387,   388,   389,   390,   391,   392,   393,   394,
++     395,   396,   397,   398,   399,   400,   401,   402,   403,   404,
++     405,   406,   407,   408,   409,   410,   411,   412,   413,   414,
++     415,   416,   417,   418,   419,   420,   421,   422,   423,   424,
++     425,   426,   427,   428,   429,   430,   431,   432,   433,   434,
++     435,   436,   437,   438,   439,   440,   441,   442,   443,   444,
++     445,   446,   447,   448,   449,   450,   451,   452,   453,   454,
++     455,   456,   457,   458,   459,   460,   461,   462,   463,   464,
++     465,   466,   467,   468,   469,   470,   471,   472,   473,   474,
++     475,   476,   477,   478,   479,   480,   481,   482,   483,   484,
++     485,   486,   487,   488,   489,   490,   491,   492,   493,   494,
++     495,   496,   497,   498,   499,   500,   501,   502,   503,   504,
++     505,   506,   507,   508,   509,   510,   511,   512,   513,   514,
++     515,   516,   517,   518,   519,   520,   521,   522,   523,   524,
++     525,   526,   527,   528,   529,   530,   531,   532,   533,   534,
++     535,   536,   537,   538,   539,   540,   541,   542,   543,   544,
++     545,   546,   547,   548,   549,   550,   551,   552,   553,   554,
++     555,   556,   557,   558,   559,   560,   561,   562,   563,   564,
++     565,   566,   567,   568,   569,   570,   571,   572,   573,   574,
++     575,   576,   577,   578,   579,   580,   581,   582,   583,   584,
++     585,   586,   587,   588,   589,   590,   591,   592,   593,   594,
++     595,   596,   597,   598,   599,   600,   601,   602,   603,   604,
++     605,   606,   607,   608,   609,   610,   611,   612,   613,   614,
++     615,   616
++};
++
++#if YYDEBUG
++  /* YYRLINE[YYN] -- Source line where rule number YYN was defined.  */
++static const yytype_uint16 yyrline[] =
++{
++       0,  1707,  1707,  1719,  1718,  1743,  1750,  1752,  1756,  1757,
++    1762,  1763,  1764,  1765,  1766,  1767,  1768,  1769,  1770,  1771,
++    1772,  1773,  1774,  1775,  1776,  1777,  1778,  1779,  1780,  1781,
++    1782,  1783,  1784,  1785,  1786,  1787,  1788,  1789,  1790,  1791,
++    1792,  1793,  1794,  1795,  1796,  1797,  1798,  1799,  1800,  1801,
++    1802,  1803,  1804,  1805,  1806,  1807,  1808,  1809,  1810,  1811,
++    1812,  1813,  1814,  1818,  1827,  1828,  1832,  1841,  1847,  1857,
++    1856,  1866,  1868,  1872,  1873,  1877,  1890,  1889,  1909,  1908,
++    1917,  1918,  1922,  1926,  1930,  1934,  1938,  1942,  1947,  1951,
++    1955,  1959,  1963,  1967,  1973,  2004,  2009,  2012,  2014,  2015,
++    2019,  2025,  2029,  2045,  2049,  2061,  2060,  2101,  2100,  2112,
++    2110,  2123,  2121,  2133,  2132,  2145,  2144,  2152,  2156,  2160,
++    2164,  2171,  2184,  2185,  2189,  2193,  2197,  2201,  2205,  2209,
++    2213,  2221,  2220,  2251,  2250,  2257,  2264,  2265,  2271,  2277,
++    2287,  2293,  2299,  2301,  2308,  2309,  2313,  2319,  2328,  2329,
++    2337,  2337,  2393,  2394,  2395,  2396,  2397,  2398,  2399,  2400,
++    2401,  2402,  2403,  2404,  2405,  2410,  2424,  2440,  2458,  2459,
++    2463,  2464,  2469,  2471,  2473,  2475,  2477,  2479,  2481,  2487,
++    2488,  2489,  2493,  2497,  2505,  2504,  2517,  2519,  2522,  2524,
++    2528,  2532,  2539,  2541,  2545,  2546,  2551,  2571,  2597,  2599,
++    2603,  2604,  2608,  2634,  2635,  2636,  2637,  2641,  2642,  2646,
++    2647,  2652,  2655,  2682,  2681,  2745,  2761,  2760,  2814,  2840,
++    2840,  2863,  2864,  2869,  2871,  2876,  2899,  2912,  2916,  2933,
++    2934,  2938,  2942,  2951,  2958,  2965,  2975,  2989,  3012,  3018,
++    3019,  3025,  3028,  3032,  3040,  3060,  3062,  3080,  3086,  3088,
++    3090,  3092,  3094,  3096,  3098,  3100,  3102,  3104,  3106,  3108,
++    3113,  3127,  3142,  3160,  3161,  3165,  3166,  3167,  3168,  3169,
++    3170,  3171,  3172,  3173,  3174,  3175,  3176,  3177,  3182,  3181,
++    3188,  3188,  3243,  3242,  3271,  3271,  3285,  3338,  3381,  3402,
++    3401,  3423,  3442,  3444,  3445,  3449,  3469,  3492,  3494,  3510,
++    3492,  3529,  3531,  3532,  3536,  3537,  3542,  3548,  3541,  3569,
++    3568,  3584,  3585,  3589,  3590,  3595,  3599,  3594,  3620,  3624,
++    3619,  3643,  3653,  3658,  3657,  3693,  3694,  3699,  3698,  3731,
++    3731,  3746,  3745,  3781,  3793,  3795,  3792,  3822,  3821,  3842,
++    3844,  3849,  3851,  3853,  3870,  3875,  3881,  3888,  3889,  3897,
++    3903,  3912,  3918,  3924,  3925,  3929,  3929,  3934,  3935,  3936,
++    3940,  3941,  3942,  3946,  3950,  3951,  3952,  3956,  3957,  3958,
++    3959,  3960,  3961,  3962,  3963,  3967,  3971,  3972,  3973,  3977,
++    3978,  3979,  3980,  3981,  3985,  3989,  3990,  3991,  3995,  3996,
++    3997,  3998,  3999,  4000,  4001,  4005,  4009,  4010,  4011,  4015,
++    4016,  4017,  4022,  4030,  4038,  4046,  4058,  4070,  4075,  4080,
++    4088,  4096,  4104,  4112,  4120,  4128,  4136,  4149,  4162,  4175,
++    4177,  4181,  4186,  4199,  4200,  4251,  4252,  4255,  4269,  4287,
++    4286,  4295,  4293,  4300,  4302,  4301,  4305,  4304,  4310,  4347,
++    4348,  4353,  4352,  4371,  4390,  4389,  4406,  4410,  4418,  4417,
++    4420,  4422,  4424,  4426,  4431,  4432,  4438,  4439,  4456,  4457,
++    4461,  4462,  4466,  4485,  4495,  4506,  4515,  4516,  4532,  4534,
++    4533,  4538,  4536,  4547,  4548,  4552,  4570,  4586,  4587,  4603,
++    4618,  4640,  4641,  4646,  4645,  4669,  4681,  4703,  4702,  4720,
++    4719,  4739,  4761,  4765,  4794,  4806,  4807,  4812,  4823,  4811,
++    4848,  4849,  4853,  4866,  4887,  4900,  4926,  4927,  4932,  4931,
++    4968,  4977,  4978,  4982,  4983,  4987,  4989,  4995,  5001,  5003,
++    5005,  5007,  5009,  5011,  5021,  5036,  5020,  5050,  5051,  5055,
++    5056,  5060,  5061,  5065,  5066,  5070,  5071,  5075,  5076,  5080,
++    5084,  5085,  5088,  5090,  5094,  5095,  5099,  5100,  5101,  5105,
++    5110,  5115,  5120,  5125,  5130,  5135,  5140,  5155,  5161,  5166,
++    5171,  5176,  5181,  5187,  5186,  5212,  5213,  5214,  5219,  5224,
++    5229,  5231,  5233,  5235,  5241,  5246,  5251,  5257,  5263,  5269,
++    5278,  5296,  5313,  5336,  5350,  5351,  5352,  5353,  5354,  5355,
++    5356,  5360,  5361,  5362,  5366,  5367,  5371,  5372,  5373,  5374,
++    5379,  5386,  5387,  5391,  5392,  5396,  5397,  5405,  5404,  5413,
++    5411,  5421,  5419,  5429,  5427,  5435,  5454,  5460,  5462,  5466,
++    5470,  5471,  5475,  5480,  5479,  5505,  5508,  5507,  5517,  5519,
++    5524,  5527,  5531,  5538,  5539,  5543,  5544,  5548,  5554,  5560,
++    5564,  5580,  5596,  5597,  5598,  5599,  5604,  5608,  5613,  5618,
++    5622,  5627,  5632,  5638,  5643,  5649,  5653,  5658,  5663,  5681,
++    5683,  5685,  5698,  5700,  5705,  5710,  5722,  5727,  5732,  5737,
++    5739,  5741,  5743,  5745,  5747,  5749,  5751,  5754,  5753,  5758,
++    5757,  5761,  5763,  5772,  5773,  5774,  5780,  5781,  5782,  5783,
++    5784,  5788,  5792,  5793,  5797,  5798,  5802,  5803,  5804,  5805,
++    5806,  5810,  5811,  5812,  5813,  5814,  5818,  5823,  5825,  5831,
++    5832,  5834,  5839,  5848,  5849,  5853,  5854,  5858,  5859,  5860,
++    5864,  5865,  5866,  5867,  5870,  5871,  5875,  5876,  5880,  5881,
++    5885,  5886,  5890,  5891,  5892,  5893,  5900,  5901,  5907,  5913,
++    5919,  5925,  5926,  5939,  5945,  5951,  5957,  5966,  5987,  5993,
++    5998,  5999,  6003,  6004,  6008,  6016,  6020,  6021,  6025,  6026,
++    6030,  6039,  6043,  6044,  6048,  6059,  6060,  6064,  6065,  6069,
++    6070,  6075,  6076,  6080,  6087,  6096,  6104,  6115,  6116,  6117,
++    6118,  6119,  6120,  6125,  6133,  6134,  6138,  6140,  6144,  6156,
++    6157,  6161,  6168,  6181,  6182,  6184,  6186,  6192,  6197,  6203,
++    6209,  6216,  6226,  6227,  6228,  6229,  6230,  6234,  6238,  6239,
++    6243,  6244,  6248,  6249,  6253,  6254,  6255,  6259,  6260,  6264,
++    6268,  6281,  6293,  6294,  6298,  6299,  6303,  6304,  6308,  6309,
++    6313,  6314,  6318,  6319,  6323,  6324,  6328,  6329,  6333,  6335,
++    6336,  6342,  6348,  6354,  6362,  6363,  6367,  6371,  6372,  6385,
++    6386,  6387,  6391,  6392,  6396,  6402,  6416,  6417,  6421,  6422,
++    6426,  6427,  6435,  6434,  6471,  6470,  6484,  6496,  6495,  6514,
++    6513,  6532,  6531,  6550,  6544,  6564,  6563,  6596,  6601,  6606,
++    6611,  6616,  6626,  6627,  6628,  6629,  6633,  6634,  6646,  6647,
++    6651,  6652,  6655,  6657,  6658,  6659,  6661,  6663,  6664,  6673,
++    6674,  6678,  6687,  6685,  6698,  6711,  6710,  6723,  6721,  6734,
++    6741,  6751,  6755,  6762,  6766,  6771,  6770,  6786,  6788,  6793,
++    6801,  6800,  6816,  6820,  6819,  6831,  6832,  6836,  6851,  6852,
++    6856,  6865,  6869,  6874,  6879,  6878,  6890,  6901,  6889,  6917,
++    6926,  6930,  6939,  6948,  6954,  6960,  6969,  6978,  6997,  7017,
++    7027,  7031,  7039,  7040,  7044,  7045,  7049,  7049,  7052,  7054,
++    7058,  7059,  7063,  7064,  7068,  7069,  7070,  7074,  7075,  7076,
++    7080,  7081,  7082,  7083,  7092,  7091,  7100,  7108,  7107,  7115,
++    7124,  7133,  7134,  7141,  7141,  7147,  7148,  7152,  7153,  7154,
++    7158,  7159,  7175,  7176,  7181,  7180,  7192,  7193,  7194,  7198,
++    7199,  7199,  7204,  7203,  7224,  7225,  7229,  7230,  7234,  7235,
++    7236,  7240,  7241,  7246,  7245,  7266,  7274,  7275,  7275,  7279,
++    7278,  7304,  7305,  7309,  7310,  7314,  7315,  7316,  7317,  7318,
++    7319,  7323,  7324,  7329,  7328,  7349,  7350,  7351,  7356,  7355,
++    7361,  7368,  7373,  7381,  7382,  7386,  7400,  7399,  7412,  7413,
++    7417,  7418,  7422,  7432,  7442,  7443,  7448,  7447,  7458,  7459,
++    7463,  7464,  7468,  7478,  7489,  7488,  7496,  7496,  7505,  7506,
++    7511,  7512,  7521,  7530,  7531,  7535,  7540,  7545,  7550,  7555,
++    7554,  7574,  7582,  7574,  7589,  7590,  7591,  7592,  7593,  7597,
++    7604,  7611,  7613,  7624,  7625,  7629,  7630,  7658,  7688,  7690,
++    7696,  7706,  7707,  7708,  7722,  7727,  7752,  7758,  7764,  7765,
++    7766,  7767,  7768,  7772,  7773,  7774,  7778,  7779,  7784,  7835,
++    7842,  7885,  7891,  7897,  7903,  7909,  7915,  7921,  7927,  7931,
++    7937,  7943,  7949,  7955,  7961,  7965,  7971,  7980,  7986,  7994,
++    8000,  8010,  8016,  8025,  8035,  8041,  8051,  8057,  8066,  8070,
++    8076,  8082,  8088,  8094,  8100,  8106,  8112,  8118,  8124,  8130,
++    8136,  8142,  8148,  8154,  8158,  8159,  8163,  8164,  8168,  8169,
++    8173,  8174,  8178,  8179,  8180,  8181,  8182,  8183,  8187,  8188,
++    8193,  8199,  8203,  8210,  8217,  8224,  8231,  8238,  8243,  8249,
++    8256,  8263,  8271,  8282,  8304,  8311,  8319,  8320,  8321,  8322,
++    8323,  8324,  8335,  8336,  8337,  8338,  8339,  8345,  8349,  8355,
++    8361,  8367,  8373,  8375,  8382,  8389,  8395,  8397,  8406,  8413,
++    8421,  8427,  8434,  8440,  8454,  8461,  8477,  8483,  8489,  8497,
++    8503,  8509,  8515,  8521,  8535,  8546,  8552,  8558,  8564,  8570,
++    8576,  8582,  8588,  8594,  8600,  8606,  8612,  8618,  8624,  8630,
++    8636,  8642,  8650,  8671,  8678,  8684,  8691,  8698,  8705,  8712,
++    8718,  8724,  8731,  8737,  8744,  8750,  8756,  8762,  8768,  8774,
++    8792,  8798,  8804,  8811,  8818,  8826,  8833,  8840,  8847,  8854,
++    8861,  8878,  8884,  8890,  8896,  8902,  8909,  8915,  8921,  8927,
++    8933,  8939,  8950,  8956,  8962,  8968,  8974,  8985,  8991,  9007,
++    9013,  9020,  9027,  9034,  9041,  9048,  9052,  9072,  9071,  9143,
++    9184,  9186,  9191,  9192,  9196,  9197,  9201,  9202,  9206,  9213,
++    9221,  9248,  9254,  9260,  9266,  9272,  9278,  9287,  9294,  9296,
++    9293,  9303,  9314,  9320,  9326,  9332,  9338,  9344,  9350,  9356,
++    9362,  9369,  9368,  9388,  9387,  9402,  9412,  9420,  9436,  9437,
++    9442,  9447,  9450,  9453,  9452,  9469,  9471,  9477,  9476,  9493,
++    9495,  9497,  9499,  9501,  9503,  9505,  9507,  9509,  9511,  9517,
++    9523,  9526,  9525,  9531,  9532,  9536,  9543,  9551,  9552,  9556,
++    9563,  9571,  9572,  9576,  9577,  9581,  9589,  9600,  9601,  9613,
++    9624,  9625,  9631,  9632,  9652,  9654,  9658,  9656,  9673,  9671,
++    9689,  9687,  9694,  9703,  9701,  9719,  9718,  9728,  9739,  9737,
++    9756,  9755,  9766,  9777,  9778,  9779,  9791,  9791,  9805,  9845,
++    9930,  9941,  9946,  9938,  9965,  9985,  9993,  9985, 10002, 10001,
++   10024, 10041, 10024, 10048, 10052, 10078, 10079, 10084, 10087, 10088,
++   10089, 10093, 10094, 10099, 10098, 10104, 10103, 10111, 10112, 10115,
++   10117, 10117, 10121, 10121, 10126, 10127, 10131, 10133, 10138, 10139,
++   10143, 10154, 10167, 10168, 10169, 10170, 10171, 10172, 10173, 10174,
++   10175, 10176, 10177, 10178, 10182, 10183, 10184, 10185, 10186, 10187,
++   10188, 10189, 10190, 10194, 10195, 10196, 10197, 10200, 10202, 10203,
++   10207, 10208, 10216, 10218, 10222, 10224, 10223, 10237, 10240, 10239,
++   10254, 10260, 10274, 10276, 10280, 10282, 10287, 10288, 10308, 10333,
++   10337, 10338, 10342, 10354, 10356, 10361, 10360, 10395, 10397, 10402,
++   10403, 10404, 10409, 10416, 10420, 10421, 10425, 10429, 10433, 10440,
++   10447, 10454, 10464, 10497, 10501, 10507, 10513, 10522, 10530, 10534,
++   10541, 10542, 10546, 10547, 10548, 10552, 10553, 10554, 10555, 10556,
++   10557, 10561, 10562, 10563, 10564, 10565, 10569, 10570, 10571, 10572,
++   10573, 10577, 10578, 10579, 10580, 10581, 10585, 10590, 10591, 10595,
++   10596, 10599, 10602, 10601, 10644, 10645, 10649, 10650, 10654, 10664,
++   10664, 10674, 10675, 10679, 10698, 10731, 10730, 10743, 10751, 10742,
++   10753, 10765, 10777, 10776, 10794, 10793, 10804, 10804, 10820, 10827,
++   10849, 10869, 10881, 10886, 10885, 10895, 10901, 10908, 10913, 10918,
++   10928, 10929, 10933, 10944, 10945, 10949, 10960, 10961, 10965, 10966,
++   10974, 10982, 10973, 10992, 10999, 10991, 11009, 11017, 11018, 11026,
++   11030, 11031, 11042, 11043, 11047, 11056, 11057, 11058, 11060, 11059,
++   11070, 11071, 11075, 11076, 11078, 11077, 11081, 11080, 11086, 11087,
++   11091, 11092, 11096, 11106, 11107, 11111, 11112, 11117, 11116, 11130,
++   11131, 11135, 11140, 11148, 11149, 11157, 11159, 11159, 11167, 11175,
++   11166, 11197, 11198, 11202, 11210, 11211, 11215, 11225, 11226, 11233,
++   11232, 11248, 11247, 11259, 11258, 11270, 11269, 11283, 11284, 11288,
++   11301, 11317, 11318, 11322, 11323, 11327, 11328, 11329, 11334, 11333,
++   11354, 11356, 11359, 11361, 11364, 11365, 11368, 11372, 11376, 11380,
++   11384, 11388, 11392, 11396, 11400, 11408, 11411, 11421, 11420, 11435,
++   11442, 11450, 11458, 11466, 11474, 11482, 11489, 11491, 11493, 11502,
++   11506, 11511, 11510, 11516, 11515, 11520, 11529, 11536, 11545, 11554,
++   11559, 11561, 11563, 11565, 11567, 11569, 11576, 11584, 11586, 11594,
++   11601, 11608, 11618, 11625, 11631, 11639, 11647, 11651, 11655, 11662,
++   11669, 11676, 11683, 11690, 11697, 11703, 11710, 11717, 11722, 11727,
++   11735, 11737, 11739, 11744, 11745, 11748, 11750, 11754, 11755, 11759,
++   11760, 11764, 11765, 11769, 11770, 11774, 11775, 11778, 11780, 11787,
++   11798, 11797, 11813, 11812, 11822, 11823, 11827, 11828, 11829, 11833,
++   11834, 11835, 11850, 11849, 11862, 11871, 11861, 11873, 11877, 11878,
++   11892, 11893, 11898, 11900, 11902, 11904, 11906, 11908, 11910, 11912,
++   11914, 11916, 11918, 11920, 11925, 11927, 11929, 11931, 11933, 11935,
++   11937, 11942, 11943, 11947, 11948, 11952, 11951, 11961, 11962, 11966,
++   11966, 11968, 11969, 11973, 11974, 11979, 11978, 11989, 11993, 11997,
++   12010, 12009, 12023, 12024, 12025, 12028, 12029, 12030, 12034, 12039,
++   12049, 12061, 12072, 12082, 12092, 12060, 12100, 12101, 12105, 12106,
++   12110, 12111, 12119, 12123, 12124, 12125, 12128, 12130, 12134, 12135,
++   12139, 12144, 12151, 12156, 12163, 12165, 12169, 12170, 12174, 12179,
++   12187, 12188, 12191, 12193, 12201, 12203, 12207, 12208, 12209, 12213,
++   12215, 12220, 12221, 12230, 12231, 12235, 12236, 12240, 12253, 12276,
++   12288, 12299, 12318, 12326, 12338, 12346, 12361, 12381, 12382, 12383,
++   12391, 12392, 12393, 12400, 12406, 12412, 12418, 12424, 12430, 12459,
++   12487, 12488, 12489, 12493, 12503, 12513, 12519, 12528, 12543, 12544,
++   12548, 12557, 12572, 12576, 12622, 12626, 12643, 12647, 12725, 12749,
++   12779, 12780, 12796, 12806, 12810, 12816, 12822, 12832, 12838, 12847,
++   12857, 12858, 12886, 12900, 12914, 12929, 12930, 12940, 12941, 12951,
++   12952, 12953, 12957, 12973, 12994, 13009, 13010, 13011, 13012, 13013,
++   13014, 13015, 13016, 13017, 13018, 13019, 13020, 13021, 13022, 13023,
++   13024, 13025, 13026, 13027, 13028, 13029, 13030, 13031, 13032, 13033,
++   13034, 13035, 13036, 13037, 13038, 13039, 13040, 13041, 13042, 13043,
++   13044, 13045, 13046, 13047, 13048, 13049, 13050, 13051, 13052, 13053,
++   13054, 13055, 13056, 13057, 13058, 13059, 13060, 13061, 13062, 13063,
++   13064, 13065, 13066, 13067, 13077, 13078, 13079, 13080, 13081, 13082,
++   13083, 13084, 13085, 13086, 13087, 13088, 13089, 13090, 13091, 13092,
++   13093, 13094, 13095, 13096, 13097, 13098, 13099, 13100, 13101, 13102,
++   13103, 13104, 13105, 13106, 13107, 13108, 13109, 13110, 13111, 13112,
++   13113, 13114, 13115, 13116, 13117, 13118, 13119, 13120, 13121, 13122,
++   13123, 13124, 13125, 13126, 13127, 13128, 13129, 13130, 13131, 13132,
++   13133, 13134, 13135, 13136, 13137, 13138, 13139, 13140, 13141, 13142,
++   13143, 13144, 13145, 13146, 13147, 13148, 13149, 13150, 13151, 13152,
++   13153, 13154, 13155, 13156, 13157, 13158, 13159, 13160, 13161, 13162,
++   13163, 13164, 13165, 13166, 13167, 13168, 13169, 13170, 13171, 13172,
++   13173, 13174, 13175, 13176, 13177, 13178, 13179, 13180, 13181, 13182,
++   13183, 13184, 13185, 13186, 13187, 13188, 13189, 13190, 13191, 13192,
++   13193, 13194, 13195, 13196, 13197, 13198, 13199, 13200, 13201, 13202,
++   13203, 13204, 13205, 13206, 13207, 13208, 13209, 13210, 13211, 13212,
++   13213, 13214, 13215, 13216, 13217, 13218, 13219, 13220, 13221, 13222,
++   13223, 13224, 13225, 13226, 13227, 13228, 13229, 13230, 13231, 13232,
++   13233, 13234, 13235, 13236, 13237, 13238, 13239, 13240, 13241, 13242,
++   13243, 13244, 13245, 13246, 13247, 13248, 13249, 13250, 13251, 13252,
++   13253, 13254, 13255, 13256, 13257, 13258, 13259, 13260, 13261, 13262,
++   13263, 13264, 13265, 13266, 13267, 13268, 13269, 13270, 13271, 13272,
++   13273, 13274, 13275, 13276, 13277, 13278, 13279, 13280, 13281, 13282,
++   13283, 13284, 13285, 13286, 13287, 13288, 13289, 13290, 13291, 13292,
++   13293, 13294, 13295, 13296, 13297, 13298, 13299, 13300, 13301, 13302,
++   13303, 13304, 13305, 13306, 13307, 13308, 13309, 13310, 13311, 13312,
++   13313, 13314, 13315, 13316, 13317, 13318, 13319, 13320, 13321, 13322,
++   13323, 13324, 13325, 13326, 13327, 13328, 13329, 13330, 13331, 13332,
++   13333, 13334, 13335, 13336, 13337, 13338, 13339, 13340, 13341, 13342,
++   13343, 13344, 13345, 13346, 13347, 13348, 13349, 13350, 13351, 13352,
++   13353, 13354, 13355, 13356, 13357, 13358, 13359, 13360, 13361, 13362,
++   13363, 13364, 13365, 13366, 13367, 13368, 13369, 13376, 13375, 13390,
++   13391, 13395, 13396, 13400, 13400, 13480, 13481, 13482, 13483, 13487,
++   13488, 13492, 13493, 13494, 13495, 13499, 13500, 13501, 13502, 13506,
++   13507, 13511, 13552, 13570, 13581, 13593, 13606, 13621, 13640, 13666,
++   13679, 13705, 13748, 13762, 13763, 13764, 13765, 13769, 13770, 13779,
++   13791, 13792, 13793, 13799, 13805, 13817, 13816, 13832, 13833, 13837,
++   13838, 13842, 13857, 13858, 13859, 13864, 13865, 13870, 13869, 13889,
++   13901, 13914, 13913, 13947, 13948, 13952, 13953, 13957, 13958, 13959,
++   13960, 13962, 13961, 13974, 13975, 13976, 13977, 13978, 13984, 13989,
++   13995, 14006, 14017, 14021, 14031, 14036, 14043, 14055, 14067, 14076,
++   14078, 14082, 14083, 14090, 14092, 14096, 14097, 14102, 14101, 14105,
++   14104, 14108, 14107, 14111, 14110, 14113, 14114, 14115, 14116, 14117,
++   14118, 14119, 14120, 14121, 14122, 14123, 14124, 14125, 14126, 14127,
++   14128, 14129, 14130, 14131, 14132, 14133, 14134, 14135, 14136, 14137,
++   14138, 14142, 14143, 14147, 14148, 14152, 14162, 14172, 14185, 14200,
++   14213, 14226, 14238, 14243, 14251, 14256, 14263, 14263, 14264, 14264,
++   14267, 14294, 14299, 14305, 14311, 14317, 14321, 14325, 14326, 14330,
++   14357, 14359, 14363, 14367, 14371, 14378, 14379, 14383, 14384, 14388,
++   14389, 14393, 14394, 14400, 14406, 14412, 14422, 14421, 14431, 14432,
++   14437, 14438, 14439, 14444, 14445, 14446, 14450, 14451, 14455, 14467,
++   14476, 14486, 14495, 14509, 14510, 14515, 14514, 14530, 14531, 14532,
++   14536, 14537, 14541, 14541, 14563, 14564, 14568, 14569, 14570, 14574,
++   14578, 14585, 14588, 14586, 14602, 14609, 14630, 14654, 14656, 14660,
++   14661, 14665, 14666, 14674, 14675, 14676, 14677, 14683, 14689, 14699,
++   14701, 14703, 14708, 14709, 14710, 14711, 14712, 14716, 14717, 14718,
++   14719, 14720, 14721, 14731, 14732, 14737, 14750, 14763, 14765, 14767,
++   14772, 14777, 14779, 14781, 14787, 14788, 14790, 14796, 14795, 14812,
++   14813, 14817, 14822, 14830, 14830, 14854, 14855, 14860, 14861, 14863,
++   14865, 14883, 14889, 14894, 14876, 14955, 14972, 14996, 15027, 15031,
++   15040, 15063, 14992, 15126, 15150, 15159, 15166, 15125, 15186, 15190,
++   15194, 15198, 15202, 15206, 15213, 15220, 15227, 15237, 15238, 15242,
++   15243, 15244, 15248, 15249, 15254, 15256, 15255, 15261, 15262, 15266,
++   15273, 15283, 15289, 15300
++};
++#endif
++
++#if YYDEBUG || YYERROR_VERBOSE || 0
++/* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
++   First, the terminals, then, starting at YYNTOKENS, nonterminals.  */
++static const char *const yytname[] =
++{
++  "$end", "error", "$undefined", "ABORT_SYM", "ACCESSIBLE_SYM", "ACTION",
++  "ADD", "ADDDATE_SYM", "AFTER_SYM", "AGAINST", "AGGREGATE_SYM",
++  "ALGORITHM_SYM", "ALL", "ALTER", "ALWAYS_SYM", "ANALYZE_SYM",
++  "AND_AND_SYM", "AND_SYM", "ANY_SYM", "AS", "ASC", "ASCII_SYM",
++  "ASENSITIVE_SYM", "AT_SYM", "AUTHORS_SYM", "AUTOEXTEND_SIZE_SYM",
++  "AUTO_INC", "AVG_ROW_LENGTH", "AVG_SYM", "BACKUP_SYM", "BEFORE_SYM",
++  "BEGIN_SYM", "BETWEEN_SYM", "BIGINT", "BINARY", "BINLOG_SYM", "BIN_NUM",
++  "BIT_AND", "BIT_OR", "BIT_SYM", "BIT_XOR", "BLOB_SYM", "BLOCK_SYM",
++  "BOOLEAN_SYM", "BOOL_SYM", "BOTH", "BTREE_SYM", "BY", "BYTE_SYM",
++  "CACHE_SYM", "CALL_SYM", "CASCADE", "CASCADED", "CASE_SYM", "CAST_SYM",
++  "CATALOG_NAME_SYM", "CHAIN_SYM", "CHANGE", "CHANGED", "CHARSET",
++  "CHAR_SYM", "CHECKPOINT_SYM", "CHECKSUM_SYM", "CHECK_SYM", "CIPHER_SYM",
++  "CLASS_ORIGIN_SYM", "CLIENT_SYM", "CLIENT_STATS_SYM", "CLOSE_SYM",
++  "COALESCE", "CODE_SYM", "COLLATE_SYM", "COLLATION_SYM", "COLUMNS",
++  "COLUMN_ADD_SYM", "COLUMN_CREATE_SYM", "COLUMN_DELETE_SYM",
++  "COLUMN_EXISTS_SYM", "COLUMN_GET_SYM", "COLUMN_LIST_SYM", "COLUMN_SYM",
++  "COLUMN_NAME_SYM", "COMMENT_SYM", "COMMITTED_SYM", "COMMIT_SYM",
++  "COMPACT_SYM", "COMPLETION_SYM", "COMPRESSED_SYM", "CONCURRENT",
++  "CONDITION_SYM", "CONNECTION_SYM", "CONSISTENT_SYM", "CONSTRAINT",
++  "CONSTRAINT_CATALOG_SYM", "CONSTRAINT_NAME_SYM", "CONSTRAINT_SCHEMA_SYM",
++  "CONTAINS_SYM", "CONTEXT_SYM", "CONTINUE_SYM", "CONTRIBUTORS_SYM",
++  "CONVERT_SYM", "COUNT_SYM", "CPU_SYM", "CREATE", "CROSS", "CUBE_SYM",
++  "CURDATE", "CURRENT_USER", "CURSOR_SYM", "CURSOR_NAME_SYM", "CURTIME",
++  "DATABASE", "DATABASES", "DATAFILE_SYM", "DATA_SYM", "DATETIME",
++  "DATE_ADD_INTERVAL", "DATE_SUB_INTERVAL", "DATE_SYM", "DAY_HOUR_SYM",
++  "DAY_MICROSECOND_SYM", "DAY_MINUTE_SYM", "DAY_SECOND_SYM", "DAY_SYM",
++  "DEALLOCATE_SYM", "DECIMAL_NUM", "DECIMAL_SYM", "DECLARE_SYM", "DEFAULT",
++  "DEFINER_SYM", "DELAYED_SYM", "DELAY_KEY_WRITE_SYM", "DELETE_SYM",
++  "DESC", "DESCRIBE", "DES_KEY_FILE", "DETERMINISTIC_SYM", "DIRECTORY_SYM",
++  "DISABLE_SYM", "DISCARD", "DISK_SYM", "DISTINCT", "DIV_SYM",
++  "DOUBLE_SYM", "DO_SYM", "DROP", "DUAL_SYM", "DUMPFILE", "DUPLICATE_SYM",
++  "DYNAMIC_SYM", "EACH_SYM", "ELSE", "ELSEIF_SYM", "ENABLE_SYM",
++  "ENCLOSED", "END", "ENDS_SYM", "END_OF_INPUT", "ENGINES_SYM",
++  "ENGINE_SYM", "ENUM", "EQUAL_SYM", "ERROR_SYM", "ERRORS", "ESCAPED",
++  "ESCAPE_SYM", "EVENTS_SYM", "EVENT_SYM", "EVERY_SYM", "EXAMINED_SYM",
++  "EXECUTE_SYM", "EXISTS", "EXIT_SYM", "EXPANSION_SYM", "EXTENDED_SYM",
++  "EXTENT_SIZE_SYM", "EXTRACT_SYM", "FALSE_SYM", "FAST_SYM", "FAULTS_SYM",
++  "FETCH_SYM", "FILE_SYM", "FIRST_SYM", "FIXED_SYM", "FLOAT_NUM",
++  "FLOAT_SYM", "FLUSH_SYM", "FORCE_SYM", "FOREIGN", "FOR_SYM", "FOUND_SYM",
++  "FROM", "FULL", "FULLTEXT_SYM", "FUNCTION_SYM", "GE", "GENERAL",
++  "GENERATED_SYM", "GEOMETRYCOLLECTION", "GEOMETRY_SYM", "GET_FORMAT",
++  "GLOBAL_SYM", "GRANT", "GRANTS", "GROUP_SYM", "GROUP_CONCAT_SYM",
++  "HANDLER_SYM", "HARD_SYM", "HASH_SYM", "HAVING", "HELP_SYM", "HEX_NUM",
++  "HEX_STRING", "HIGH_PRIORITY", "HOST_SYM", "HOSTS_SYM",
++  "HOUR_MICROSECOND_SYM", "HOUR_MINUTE_SYM", "HOUR_SECOND_SYM", "HOUR_SYM",
++  "IDENT", "IDENTIFIED_SYM", "IDENT_QUOTED", "IF", "IGNORE_SYM",
++  "IGNORE_SERVER_IDS_SYM", "IMPORT", "INDEXES", "INDEX_SYM",
++  "INDEX_STATS_SYM", "INFILE", "INITIAL_SIZE_SYM", "INNER_SYM",
++  "INOUT_SYM", "INSENSITIVE_SYM", "INSERT", "INSERT_METHOD", "INSTALL_SYM",
++  "INTERVAL_SYM", "INTO", "INT_SYM", "INVOKER_SYM", "IN_SYM", "IO_SYM",
++  "IPC_SYM", "IS", "ISOLATION", "ISSUER_SYM", "ITERATE_SYM", "JOIN_SYM",
++  "KEYS", "KEY_BLOCK_SIZE", "KEY_SYM", "KILL_SYM", "LANGUAGE_SYM",
++  "LAST_SYM", "LAST_VALUE", "LE", "LEADING", "LEAVES", "LEAVE_SYM", "LEFT",
++  "LESS_SYM", "LEVEL_SYM", "LEX_HOSTNAME", "LIKE", "LIMIT", "LINEAR_SYM",
++  "LINES", "LINESTRING", "LIST_SYM", "LOAD", "LOCAL_SYM", "LOCATOR_SYM",
++  "LOCKS_SYM", "LOCK_SYM", "LOGFILE_SYM", "LOGS_SYM", "LONGBLOB",
++  "LONGTEXT", "LONG_NUM", "LONG_SYM", "LOOP_SYM", "LOW_PRIORITY",
++  "MASTER_CONNECT_RETRY_SYM", "MASTER_HOST_SYM", "MASTER_LOG_FILE_SYM",
++  "MASTER_LOG_POS_SYM", "MASTER_PASSWORD_SYM", "MASTER_PORT_SYM",
++  "MASTER_SERVER_ID_SYM", "MASTER_SSL_CAPATH_SYM", "MASTER_SSL_CA_SYM",
++  "MASTER_SSL_CERT_SYM", "MASTER_SSL_CIPHER_SYM", "MASTER_SSL_KEY_SYM",
++  "MASTER_SSL_SYM", "MASTER_SSL_VERIFY_SERVER_CERT_SYM", "MASTER_SYM",
++  "MASTER_USER_SYM", "MASTER_HEARTBEAT_PERIOD_SYM", "MATCH",
++  "MAX_CONNECTIONS_PER_HOUR", "MAX_QUERIES_PER_HOUR", "MAX_ROWS",
++  "MAX_SIZE_SYM", "MAX_SYM", "MAX_UPDATES_PER_HOUR",
++  "MAX_USER_CONNECTIONS_SYM", "MAX_VALUE_SYM", "MEDIUMBLOB", "MEDIUMINT",
++  "MEDIUMTEXT", "MEDIUM_SYM", "MEMORY_SYM", "MERGE_SYM",
++  "MESSAGE_TEXT_SYM", "MICROSECOND_SYM", "MIGRATE_SYM",
++  "MINUTE_MICROSECOND_SYM", "MINUTE_SECOND_SYM", "MINUTE_SYM", "MIN_ROWS",
++  "MIN_SYM", "MODE_SYM", "MODIFIES_SYM", "MODIFY_SYM", "MOD_SYM",
++  "MONTH_SYM", "MULTILINESTRING", "MULTIPOINT", "MULTIPOLYGON",
++  "MUTEX_SYM", "MYSQL_SYM", "MYSQL_ERRNO_SYM", "NAMES_SYM", "NAME_SYM",
++  "NATIONAL_SYM", "NATURAL", "NCHAR_STRING", "NCHAR_SYM", "NDBCLUSTER_SYM",
++  "NE", "NEG", "NEW_SYM", "NEXT_SYM", "NODEGROUP_SYM", "NONE_SYM",
++  "NOT2_SYM", "NOT_SYM", "NOW_SYM", "NO_SYM", "NO_WAIT_SYM",
++  "NO_WRITE_TO_BINLOG", "NULL_SYM", "NUM", "NUMERIC_SYM", "NVARCHAR_SYM",
++  "OFFSET_SYM", "OLD_PASSWORD", "ON", "ONE_SHOT_SYM", "ONE_SYM",
++  "ONLINE_SYM", "OPEN_SYM", "OPTIMIZE", "OPTIONS_SYM", "OPTION",
++  "OPTIONALLY", "OR2_SYM", "ORDER_SYM", "OR_OR_SYM", "OR_SYM", "OUTER",
++  "OUTFILE", "OUT_SYM", "OWNER_SYM", "PACK_KEYS_SYM", "PAGE_SYM",
++  "PAGE_CHECKSUM_SYM", "PARAM_MARKER", "PARSER_SYM", "PARSE_VCOL_EXPR_SYM",
++  "PARTIAL", "PARTITIONING_SYM", "PARTITIONS_SYM", "PARTITION_SYM",
++  "PASSWORD", "PERSISTENT_SYM", "PHASE_SYM", "PLUGINS_SYM", "PLUGIN_SYM",
++  "POINT_SYM", "POLYGON", "PORT_SYM", "POSITION_SYM", "PRECISION",
++  "PREPARE_SYM", "PRESERVE_SYM", "PREV_SYM", "PRIMARY_SYM", "PRIVILEGES",
++  "PROCEDURE_SYM", "PROCESS", "PROCESSLIST_SYM", "PROFILE_SYM",
++  "PROFILES_SYM", "PROXY_SYM", "PURGE", "QUARTER_SYM", "QUERY_SYM",
++  "QUICK", "RANGE_SYM", "READS_SYM", "READ_ONLY_SYM", "READ_SYM",
++  "READ_WRITE_SYM", "REAL", "REBUILD_SYM", "RECOVER_SYM", "REDOFILE_SYM",
++  "REDO_BUFFER_SIZE_SYM", "REDUNDANT_SYM", "REFERENCES", "REGEXP", "RELAY",
++  "RELAYLOG_SYM", "RELAY_LOG_FILE_SYM", "RELAY_LOG_POS_SYM",
++  "RELAY_THREAD", "RELEASE_SYM", "RELOAD", "REMOVE_SYM", "RENAME",
++  "REORGANIZE_SYM", "REPAIR", "REPEATABLE_SYM", "REPEAT_SYM", "REPLACE",
++  "REPLICATION", "REQUIRE_SYM", "RESET_SYM", "RESIGNAL_SYM", "RESOURCES",
++  "RESTORE_SYM", "RESTRICT", "RESUME_SYM", "RETURNS_SYM", "RETURN_SYM",
++  "REVOKE", "RIGHT", "ROLLBACK_SYM", "ROLLUP_SYM", "ROUTINE_SYM",
++  "ROWS_SYM", "ROW_FORMAT_SYM", "ROW_SYM", "RTREE_SYM", "SAVEPOINT_SYM",
++  "SCHEDULE_SYM", "SCHEMA_NAME_SYM", "SECOND_MICROSECOND_SYM",
++  "SECOND_SYM", "SECURITY_SYM", "SELECT_SYM", "SENSITIVE_SYM",
++  "SEPARATOR_SYM", "SERIALIZABLE_SYM", "SERIAL_SYM", "SESSION_SYM",
++  "SERVER_SYM", "SERVER_OPTIONS", "SET", "SET_VAR", "SHARE_SYM",
++  "SHIFT_LEFT", "SHIFT_RIGHT", "SHOW", "SHUTDOWN", "SIGNAL_SYM",
++  "SIGNED_SYM", "SIMPLE_SYM", "SLAVE", "SLOW", "SMALLINT", "SNAPSHOT_SYM",
++  "SOCKET_SYM", "SOFT_SYM", "SONAME_SYM", "SOUNDS_SYM", "SOURCE_SYM",
++  "SPATIAL_SYM", "SPECIFIC_SYM", "SQLEXCEPTION_SYM", "SQLSTATE_SYM",
++  "SQLWARNING_SYM", "SQL_BIG_RESULT", "SQL_BUFFER_RESULT", "SQL_CACHE_SYM",
++  "SQL_CALC_FOUND_ROWS", "SQL_NO_CACHE_SYM", "SQL_SMALL_RESULT", "SQL_SYM",
++  "SQL_THREAD", "SSL_SYM", "STARTING", "STARTS_SYM", "START_SYM",
++  "STATUS_SYM", "STDDEV_SAMP_SYM", "STD_SYM", "STOP_SYM", "STORAGE_SYM",
++  "STRAIGHT_JOIN", "STRING_SYM", "SUBCLASS_ORIGIN_SYM", "SUBDATE_SYM",
++  "SUBJECT_SYM", "SUBPARTITIONS_SYM", "SUBPARTITION_SYM", "SUBSTRING",
++  "SUM_SYM", "SUPER_SYM", "SUSPEND_SYM", "SWAPS_SYM", "SWITCHES_SYM",
++  "SYSDATE", "TABLES", "TABLESPACE", "TABLE_REF_PRIORITY",
++  "TABLE_STATS_SYM", "TABLE_SYM", "TABLE_CHECKSUM_SYM", "TABLE_NAME_SYM",
++  "TEMPORARY", "TEMPTABLE_SYM", "TERMINATED", "TEXT_STRING", "TEXT_SYM",
++  "THAN_SYM", "THEN_SYM", "TIMESTAMP", "TIMESTAMP_ADD", "TIMESTAMP_DIFF",
++  "TIME_SYM", "TINYBLOB", "TINYINT", "TINYTEXT", "TO_SYM", "TRAILING",
++  "TRANSACTION_SYM", "TRANSACTIONAL_SYM", "TRIGGERS_SYM", "TRIGGER_SYM",
++  "TRIM", "TRUE_SYM", "TRUNCATE_SYM", "TYPES_SYM", "TYPE_SYM",
++  "UDF_RETURNS_SYM", "ULONGLONG_NUM", "UNCOMMITTED_SYM", "UNDEFINED_SYM",
++  "UNDERSCORE_CHARSET", "UNDOFILE_SYM", "UNDO_BUFFER_SIZE_SYM", "UNDO_SYM",
++  "UNICODE_SYM", "UNINSTALL_SYM", "UNION_SYM", "UNIQUE_SYM", "UNKNOWN_SYM",
++  "UNLOCK_SYM", "UNSIGNED", "UNTIL_SYM", "UPDATE_SYM", "UPGRADE_SYM",
++  "USAGE", "USER", "USER_STATS_SYM", "USE_FRM", "USE_SYM", "USING",
++  "UTC_DATE_SYM", "UTC_TIMESTAMP_SYM", "UTC_TIME_SYM", "VALUES",
++  "VALUE_SYM", "VARBINARY", "VARCHAR", "VARIABLES", "VARIANCE_SYM",
++  "VARYING", "VAR_SAMP_SYM", "VIA_SYM", "VIEW_SYM", "VIRTUAL_SYM",
++  "WAIT_SYM", "WARNINGS", "WEEK_SYM", "WHEN_SYM", "WHERE", "WHILE_SYM",
++  "WITH", "WITH_CUBE_SYM", "WITH_ROLLUP_SYM", "WORK_SYM", "WRAPPER_SYM",
++  "WRITE_SYM", "X509_SYM", "XA_SYM", "XML_SYM", "XOR", "YEAR_MONTH_SYM",
++  "YEAR_SYM", "ZEROFILL", "IMPOSSIBLE_ACTION", "'='", "'>'", "'<'", "'|'",
++  "'&'", "'-'", "'+'", "'*'", "'/'", "'%'", "'^'", "'~'", "'('", "')'",
++  "','", "'!'", "'{'", "'}'", "';'", "'@'", "'.'", "':'", "$accept",
++  "query", "$@1", "opt_end_of_input", "verb_clause", "statement",
++  "deallocate", "deallocate_or_drop", "prepare", "prepare_src", "execute",
++  "$@2", "execute_using", "execute_var_list", "execute_var_ident", "help",
++  "$@3", "change", "$@4", "master_defs", "master_def",
++  "ignore_server_id_list", "ignore_server_id", "master_file_def", "create",
++  "$@5", "$@6", "$@7", "$@8", "$@9", "$@10", "server_def",
++  "server_options_list", "server_option", "event_tail", "$@11",
++  "ev_schedule_time", "$@12", "opt_ev_status", "ev_starts", "ev_ends",
++  "opt_ev_on_completion", "ev_on_completion", "opt_ev_comment",
++  "ev_sql_stmt", "$@13", "ev_sql_stmt_inner", "clear_privileges",
++  "sp_name", "sp_a_chistics", "sp_c_chistics", "sp_chistic",
++  "sp_c_chistic", "sp_suid", "call", "$@14", "opt_sp_cparam_list",
++  "opt_sp_cparams", "sp_cparams", "sp_fdparam_list", "sp_fdparams",
++  "sp_init_param", "sp_fdparam", "sp_pdparam_list", "sp_pdparams",
++  "sp_pdparam", "sp_opt_inout", "sp_proc_stmts", "sp_proc_stmts1",
++  "sp_decls", "sp_decl", "$@15", "$@16", "sp_cursor_stmt", "$@17",
++  "sp_handler_type", "sp_hcond_list", "sp_hcond_element", "sp_cond",
++  "sqlstate", "opt_value", "sp_hcond", "signal_stmt", "signal_value",
++  "opt_signal_value", "opt_set_signal_information",
++  "signal_information_item_list", "signal_allowed_expr",
++  "signal_condition_information_item_name", "resignal_stmt",
++  "sp_decl_idents", "sp_opt_default", "sp_proc_stmt", "sp_proc_stmt_if",
++  "$@18", "sp_proc_stmt_statement", "$@19", "sp_proc_stmt_return", "$@20",
++  "sp_proc_stmt_unlabeled", "$@21", "sp_proc_stmt_leave",
++  "sp_proc_stmt_iterate", "sp_proc_stmt_open", "sp_proc_stmt_fetch",
++  "$@22", "sp_proc_stmt_close", "sp_opt_fetch_noise", "sp_fetch_list",
++  "sp_if", "$@23", "$@24", "$@25", "sp_elseifs", "case_stmt_specification",
++  "simple_case_stmt", "$@26", "$@27", "searched_case_stmt", "$@28",
++  "simple_when_clause_list", "searched_when_clause_list",
++  "simple_when_clause", "$@29", "$@30", "searched_when_clause", "$@31",
++  "$@32", "else_clause_opt", "sp_labeled_control", "$@33", "sp_opt_label",
++  "sp_labeled_block", "$@34", "sp_unlabeled_block", "$@35",
++  "sp_block_content", "$@36", "sp_unlabeled_control", "$@37", "$@38",
++  "$@39", "trg_action_time", "trg_event", "change_tablespace_access",
++  "change_tablespace_info", "tablespace_info", "opt_logfile_group_name",
++  "alter_tablespace_info", "logfile_group_info",
++  "alter_logfile_group_info", "add_log_file", "change_ts_option_list",
++  "$@40", "change_ts_options", "change_ts_option",
++  "tablespace_option_list", "tablespace_options", "tablespace_option",
++  "alter_tablespace_option_list", "alter_tablespace_options",
++  "alter_tablespace_option", "logfile_group_option_list",
++  "logfile_group_options", "logfile_group_option",
++  "alter_logfile_group_option_list", "alter_logfile_group_options",
++  "alter_logfile_group_option", "ts_datafile", "lg_undofile",
++  "lg_redofile", "tablespace_name", "logfile_group_name", "ts_access_mode",
++  "opt_ts_initial_size", "opt_ts_autoextend_size", "opt_ts_max_size",
++  "opt_ts_extent_size", "opt_ts_undo_buffer_size",
++  "opt_ts_redo_buffer_size", "opt_ts_nodegroup", "opt_ts_comment",
++  "opt_ts_engine", "opt_ts_wait", "ts_wait", "size_number", "create2",
++  "create2a", "$@41", "$@42", "create3", "$@43", "$@44",
++  "opt_create_partitioning", "opt_partitioning", "partitioning", "$@45",
++  "have_partitioning", "partition_entry", "$@46", "partition",
++  "part_type_def", "$@47", "opt_linear", "opt_key_algo", "part_field_list",
++  "part_field_item_list", "part_field_item", "part_column_list",
++  "part_func", "sub_part_func", "opt_num_parts", "opt_sub_part", "$@48",
++  "$@49", "sub_part_field_list", "sub_part_field_item", "part_func_expr",
++  "opt_num_subparts", "part_defs", "part_def_list", "part_definition",
++  "$@50", "part_name", "opt_part_values", "$@51", "$@52", "part_func_max",
++  "part_values_in", "part_value_list", "part_value_item", "$@53", "$@54",
++  "part_value_item_list", "part_value_expr_item", "opt_sub_partition",
++  "sub_part_list", "sub_part_definition", "$@55", "sub_name",
++  "opt_part_options", "opt_part_option_list", "opt_part_option",
++  "create_select", "$@56", "$@57", "opt_as", "opt_create_database_options",
++  "create_database_options", "create_database_option", "opt_table_options",
++  "table_options", "table_option", "opt_if_not_exists",
++  "opt_create_table_options", "create_table_options_space_separated",
++  "create_table_options", "create_table_option", "$@58", "default_charset",
++  "default_collation", "storage_engines", "known_storage_engines",
++  "row_types", "merge_insert_types", "opt_select_from", "udf_type",
++  "create_field_list", "field_list", "field_list_item", "column_def",
++  "key_def", "$@59", "$@60", "$@61", "$@62", "opt_check_constraint",
++  "check_constraint", "opt_constraint", "constraint", "field_spec", "$@63",
++  "field_def", "@64", "opt_generated_always", "vcol_opt_specifier",
++  "vcol_opt_attribute", "vcol_opt_attribute_list", "vcol_attribute",
++  "parse_vcol_expr", "virtual_column_func", "type", "$@65", "$@66",
++  "spatial_type", "char", "nchar", "varchar", "nvarchar", "int_type",
++  "real_type", "float_options", "precision", "field_options",
++  "field_opt_list", "field_option", "field_length", "opt_field_length",
++  "opt_precision", "opt_attribute", "opt_attribute_list", "attribute",
++  "type_with_opt_collate", "now_or_signed_literal", "hex_num_or_string",
++  "charset", "charset_name", "charset_name_or_default",
++  "opt_load_data_charset", "old_or_new_charset_name",
++  "old_or_new_charset_name_or_default", "collation_name", "opt_collate",
++  "collation_name_or_default", "opt_default", "ascii", "unicode",
++  "opt_binary", "opt_bin_mod", "opt_primary", "references", "opt_ref_list",
++  "ref_list", "opt_match_clause", "opt_on_update_delete", "delete_option",
++  "normal_key_type", "constraint_key_type", "key_or_index",
++  "opt_key_or_index", "keys_or_index", "opt_unique", "fulltext", "spatial",
++  "init_key_options", "key_alg", "normal_key_options",
++  "fulltext_key_options", "spatial_key_options", "normal_key_opts",
++  "spatial_key_opts", "fulltext_key_opts", "key_using_alg", "all_key_opt",
++  "normal_key_opt", "spatial_key_opt", "fulltext_key_opt",
++  "btree_or_rtree", "key_list", "key_part", "opt_ident", "opt_component",
++  "string_list", "alter", "$@67", "$@68", "$@69", "$@70", "$@71", "$@72",
++  "$@73", "ev_alter_on_schedule_completion", "opt_ev_rename_to",
++  "opt_ev_sql_stmt", "ident_or_empty", "alter_commands", "$@74", "$@75",
++  "$@76", "remove_partitioning", "all_or_alt_part_name_list",
++  "add_partition_rule", "$@77", "add_part_extra", "reorg_partition_rule",
++  "$@78", "reorg_parts_rule", "$@79", "alt_part_name_list",
++  "alt_part_name_item", "alter_list", "add_column", "alter_list_item",
++  "$@80", "$@81", "$@82", "opt_column", "opt_ignore", "alter_options",
++  "$@83", "alter_options_part2", "alter_option_list", "alter_option",
++  "opt_restrict", "opt_place", "opt_to", "slave", "$@84", "$@85", "start",
++  "start_transaction_opts", "slave_thread_opts", "$@86",
++  "slave_thread_opt_list", "slave_thread_opt", "slave_until",
++  "slave_until_opts", "checksum", "$@87", "opt_checksum_type",
++  "repair_table_or_view", "$@88", "repair", "$@89", "opt_mi_repair_type",
++  "mi_repair_types", "mi_repair_type", "opt_view_repair_type", "analyze",
++  "$@90", "binlog_base64_event", "check_view_or_table", "$@91", "check",
++  "$@92", "opt_mi_check_type", "mi_check_types", "mi_check_type",
++  "opt_view_check_type", "optimize", "$@93", "opt_no_write_to_binlog",
++  "rename", "$@94", "rename_list", "table_to_table_list", "table_to_table",
++  "keycache", "$@95", "keycache_list_or_parts", "keycache_list",
++  "assign_to_keycache", "assign_to_keycache_parts", "key_cache_name",
++  "preload", "$@96", "preload_list_or_parts", "preload_list",
++  "preload_keys", "preload_keys_parts", "adm_partition", "$@97",
++  "cache_keys_spec", "$@98", "cache_key_list_or_empty",
++  "opt_ignore_leaves", "select", "select_init", "select_paren",
++  "select_paren_derived", "select_init2", "$@99", "select_part2", "$@100",
++  "$@101", "select_into", "select_from", "select_options",
++  "select_option_list", "select_option", "select_lock_type",
++  "select_item_list", "select_item", "remember_name", "remember_end",
++  "select_alias", "opt_time_precision", "optional_braces", "expr",
++  "bool_pri", "predicate", "bit_expr", "or", "and", "not", "not2",
++  "comp_op", "all_or_any", "opt_dyncol_type", "dyncol_type",
++  "dyncall_create_element", "dyncall_create_list", "simple_expr",
++  "function_call_keyword", "function_call_nonkeyword",
++  "function_call_conflict", "geometry_function", "function_call_generic",
++  "@102", "fulltext_options", "opt_natural_language_mode",
++  "opt_query_expansion", "opt_udf_expr_list", "udf_expr_list", "udf_expr",
++  "sum_expr", "$@103", "$@104", "$@105", "variable", "$@106",
++  "variable_aux", "opt_distinct", "opt_gconcat_separator",
++  "opt_gorder_clause", "$@107", "gorder_list", "in_sum_expr", "$@108",
++  "cast_type", "$@109", "opt_expr_list", "expr_list", "ident_list_arg",
++  "ident_list", "opt_expr", "opt_else", "when_list", "table_ref",
++  "join_table_list", "esc_table_ref", "derived_table_list", "join_table",
++  "$@110", "$@111", "$@112", "$@113", "$@114", "$@115", "$@116",
++  "normal_join", "table_factor", "$@117", "select_derived_union", "$@118",
++  "$@119", "select_init2_derived", "select_part2_derived", "$@120",
++  "$@121", "select_derived", "$@122", "select_derived2", "$@123", "$@124",
++  "get_select_lex", "select_derived_init", "opt_outer",
++  "index_hint_clause", "index_hint_type", "index_hint_definition", "$@125",
++  "$@126", "index_hints_list", "opt_index_hints_list", "$@127",
++  "opt_key_definition", "$@128", "opt_key_usage_list", "key_usage_element",
++  "key_usage_list", "using_list", "interval", "interval_time_stamp",
++  "date_time_type", "table_alias", "opt_table_alias", "opt_all",
++  "where_clause", "$@129", "having_clause", "$@130", "opt_escape",
++  "group_clause", "group_list", "olap_opt", "alter_order_clause",
++  "alter_order_list", "alter_order_item", "opt_order_clause",
++  "order_clause", "$@131", "order_list", "order_dir",
++  "opt_limit_clause_init", "opt_limit_clause", "limit_clause",
++  "limit_options", "limit_option", "limit_rows_option",
++  "delete_limit_clause", "int_num", "ulong_num", "real_ulong_num",
++  "ulonglong_num", "real_ulonglong_num", "dec_num_error", "dec_num",
++  "choice", "procedure_clause", "$@132", "procedure_list",
++  "procedure_list2", "procedure_item", "select_var_list_init", "$@133",
++  "select_var_list", "select_var_ident", "into", "$@134",
++  "into_destination", "$@135", "$@136", "do", "$@137", "drop", "$@138",
++  "$@139", "$@140", "table_list", "table_name", "table_alias_ref_list",
++  "table_alias_ref", "if_exists", "opt_temporary", "insert", "$@141",
++  "$@142", "replace", "$@143", "$@144", "insert_lock_option",
++  "replace_lock_option", "insert2", "insert_table", "insert_field_spec",
++  "$@145", "fields", "insert_values", "$@146", "$@147", "values_list",
++  "ident_eq_list", "ident_eq_value", "equal", "opt_equal", "no_braces",
++  "$@148", "opt_values", "values", "expr_or_default", "opt_insert_update",
++  "$@149", "update", "$@150", "$@151", "update_list", "update_elem",
++  "insert_update_list", "insert_update_elem", "opt_low_priority", "delete",
++  "$@152", "single_multi", "$@153", "$@154", "$@155", "table_wild_list",
++  "table_wild_one", "opt_wild", "opt_delete_options", "opt_delete_option",
++  "truncate", "$@156", "opt_table_sym", "opt_profile_defs", "profile_defs",
++  "profile_def", "opt_profile_args", "show", "$@157", "show_param",
++  "$@158", "$@159", "show_engine_param", "master_or_binary", "opt_storage",
++  "opt_db", "opt_full", "from_or_in", "binlog_in", "binlog_from",
++  "wild_and_where", "describe", "$@160", "$@161", "describe_command",
++  "opt_extended_describe", "opt_describe_column", "flush", "$@162",
++  "flush_options", "$@163", "$@164", "opt_with_read_lock",
++  "flush_options_list", "flush_option", "opt_table_list",
++  "optional_flush_tables_arguments", "reset", "$@165", "reset_options",
++  "reset_option", "$@166", "slave_reset_options", "purge", "$@167",
++  "purge_options", "purge_option", "kill", "$@168", "kill_type",
++  "kill_option", "kill_expr", "use", "load", "$@169", "$@170", "$@171",
++  "$@172", "data_or_xml", "opt_local", "load_data_lock", "opt_duplicate",
++  "opt_field_term", "field_term_list", "field_term", "opt_line_term",
++  "line_term_list", "line_term", "opt_xml_rows_identified_by",
++  "opt_ignore_lines", "lines_or_rows", "opt_field_or_var_spec",
++  "fields_or_vars", "field_or_var", "opt_load_data_set_spec",
++  "load_data_set_list", "load_data_set_elem", "text_literal",
++  "text_string", "param_marker", "signed_literal", "literal",
++  "NUM_literal", "insert_ident", "table_wild", "order_ident",
++  "simple_ident", "simple_ident_nospvar", "simple_ident_q", "field_ident",
++  "table_ident", "table_ident_opt_wild", "table_ident_nodb", "IDENT_sys",
++  "TEXT_STRING_sys", "TEXT_STRING_literal", "TEXT_STRING_filesystem",
++  "ident", "label_ident", "ident_or_text", "user", "keyword", "keyword_sp",
++  "set", "$@173", "opt_option", "option_value_list", "option_type_value",
++  "$@174", "option_type", "option_type2", "opt_var_type",
++  "opt_var_ident_type", "ext_option_value", "sys_option_value",
++  "option_value", "internal_variable_name", "isolation_types",
++  "text_or_password", "set_expr_or_default", "lock", "$@175",
++  "table_or_tables", "table_lock_list", "table_lock", "lock_option",
++  "unlock", "$@176", "handler", "$@177", "handler_read_or_scan",
++  "handler_scan_function", "handler_rkey_function", "$@178",
++  "handler_rkey_mode", "revoke", "revoke_command", "grant",
++  "grant_command", "opt_table", "grant_privileges", "opt_privileges",
++  "object_privilege_list", "object_privilege", "$@179", "$@180", "$@181",
++  "$@182", "opt_and", "require_list", "require_list_element",
++  "grant_ident", "user_list", "grant_list", "via_or_with", "using_or_as",
++  "grant_user", "opt_column_list", "column_list", "column_list_id",
++  "require_clause", "grant_options", "opt_grant_option",
++  "grant_option_list", "grant_option", "begin", "$@183", "opt_work",
++  "opt_chain", "opt_release", "opt_savepoint", "commit", "rollback",
++  "savepoint", "release", "union_clause", "union_list", "$@184",
++  "union_opt", "opt_union_order_or_limit", "union_order_or_limit", "$@185",
++  "order_or_limit", "union_option", "query_specification",
++  "query_expression_body", "$@186", "subselect", "subselect_start",
++  "subselect_end", "opt_query_expression_options",
++  "query_expression_option_list", "query_expression_option",
++  "view_or_trigger_or_sp_or_event", "definer_tail", "no_definer_tail",
++  "definer_opt", "no_definer", "definer", "view_replace_or_algorithm",
++  "view_replace", "view_algorithm", "view_suid", "view_tail", "$@187",
++  "view_list_opt", "view_list", "view_select", "$@188", "view_select_aux",
++  "view_check_option", "trigger_tail", "$@189", "$@190", "$@191",
++  "udf_tail", "sf_tail", "$@192", "$@193", "$@194", "$@195", "$@196",
++  "sp_tail", "$@197", "$@198", "$@199", "$@200", "xa", "xid",
++  "begin_or_start", "opt_join_or_resume", "opt_one_phase", "opt_suspend",
++  "$@201", "opt_migrate", "install", "uninstall", "keep_gcc_happy", YY_NULLPTR
++};
++#endif
++
++# ifdef YYPRINT
++/* YYTOKNUM[NUM] -- (External) token number corresponding to the
++   (internal) symbol number NUM (which must be that of a token).  */
++static const yytype_uint16 yytoknum[] =
++{
++       0,   256,   257,   258,   259,   260,   261,   262,   263,   264,
++     265,   266,   267,   268,   269,   270,   271,   272,   273,   274,
++     275,   276,   277,   278,   279,   280,   281,   282,   283,   284,
++     285,   286,   287,   288,   289,   290,   291,   292,   293,   294,
++     295,   296,   297,   298,   299,   300,   301,   302,   303,   304,
++     305,   306,   307,   308,   309,   310,   311,   312,   313,   314,
++     315,   316,   317,   318,   319,   320,   321,   322,   323,   324,
++     325,   326,   327,   328,   329,   330,   331,   332,   333,   334,
++     335,   336,   337,   338,   339,   340,   341,   342,   343,   344,
++     345,   346,   347,   348,   349,   350,   351,   352,   353,   354,
++     355,   356,   357,   358,   359,   360,   361,   362,   363,   364,
++     365,   366,   367,   368,   369,   370,   371,   372,   373,   374,
++     375,   376,   377,   378,   379,   380,   381,   382,   383,   384,
++     385,   386,   387,   388,   389,   390,   391,   392,   393,   394,
++     395,   396,   397,   398,   399,   400,   401,   402,   403,   404,
++     405,   406,   407,   408,   409,   410,   411,   412,   413,   414,
++     415,   416,   417,   418,   419,   420,   421,   422,   423,   424,
++     425,   426,   427,   428,   429,   430,   431,   432,   433,   434,
++     435,   436,   437,   438,   439,   440,   441,   442,   443,   444,
++     445,   446,   447,   448,   449,   450,   451,   452,   453,   454,
++     455,   456,   457,   458,   459,   460,   461,   462,   463,   464,
++     465,   466,   467,   468,   469,   470,   471,   472,   473,   474,
++     475,   476,   477,   478,   479,   480,   481,   482,   483,   484,
++     485,   486,   487,   488,   489,   490,   491,   492,   493,   494,
++     495,   496,   497,   498,   499,   500,   501,   502,   503,   504,
++     505,   506,   507,   508,   509,   510,   511,   512,   513,   514,
++     515,   516,   517,   518,   519,   520,   521,   522,   523,   524,
++     525,   526,   527,   528,   529,   530,   531,   532,   533,   534,
++     535,   536,   537,   538,   539,   540,   541,   542,   543,   544,
++     545,   546,   547,   548,   549,   550,   551,   552,   553,   554,
++     555,   556,   557,   558,   559,   560,   561,   562,   563,   564,
++     565,   566,   567,   568,   569,   570,   571,   572,   573,   574,
++     575,   576,   577,   578,   579,   580,   581,   582,   583,   584,
++     585,   586,   587,   588,   589,   590,   591,   592,   593,   594,
++     595,   596,   597,   598,   599,   600,   601,   602,   603,   604,
++     605,   606,   607,   608,   609,   610,   611,   612,   613,   614,
++     615,   616,   617,   618,   619,   620,   621,   622,   623,   624,
++     625,   626,   627,   628,   629,   630,   631,   632,   633,   634,
++     635,   636,   637,   638,   639,   640,   641,   642,   643,   644,
++     645,   646,   647,   648,   649,   650,   651,   652,   653,   654,
++     655,   656,   657,   658,   659,   660,   661,   662,   663,   664,
++     665,   666,   667,   668,   669,   670,   671,   672,   673,   674,
++     675,   676,   677,   678,   679,   680,   681,   682,   683,   684,
++     685,   686,   687,   688,   689,   690,   691,   692,   693,   694,
++     695,   696,   697,   698,   699,   700,   701,   702,   703,   704,
++     705,   706,   707,   708,   709,   710,   711,   712,   713,   714,
++     715,   716,   717,   718,   719,   720,   721,   722,   723,   724,
++     725,   726,   727,   728,   729,   730,   731,   732,   733,   734,
++     735,   736,   737,   738,   739,   740,   741,   742,   743,   744,
++     745,   746,   747,   748,   749,   750,   751,   752,   753,   754,
++     755,   756,   757,   758,   759,   760,   761,   762,   763,   764,
++     765,   766,   767,   768,   769,   770,   771,   772,   773,   774,
++     775,   776,   777,   778,   779,   780,   781,   782,   783,   784,
++     785,   786,   787,   788,   789,   790,   791,   792,   793,   794,
++     795,   796,   797,   798,   799,   800,   801,   802,   803,   804,
++     805,   806,   807,   808,   809,   810,   811,   812,   813,   814,
++     815,   816,   817,   818,   819,   820,   821,   822,   823,   824,
++     825,   826,   827,   828,   829,   830,   831,   832,   833,   834,
++     835,   836,   837,   838,   839,   840,   841,   842,   843,   844,
++     845,   846,   847,   848,   849,   850,   851,   852,   853,   854,
++     855,   856,   857,   858,   859,   860,   861,   862,   863,   864,
++     865,   866,   867,   868,   869,   870,   871,    61,    62,    60,
++     124,    38,    45,    43,    42,    47,    37,    94,   126,    40,
++      41,    44,    33,   123,   125,    59,    64,    46,    58
++};
++# endif
++
++#define YYPACT_NINF -3798
++
++#define yypact_value_is_default(Yystate) \
++  (!!((Yystate) == (-3798)))
++
++#define YYTABLE_NINF -2585
++
++#define yytable_value_is_error(Yytable_value) \
++  0
++
++  /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
++     STATE-NUM.  */
++static const int yypact[] =
++{
++    4773,  2110,  1213, -3798,  -167,   171, 48419,    85,   624, -3798,
++    -197,  3616, -3798, -3798, -3798, -3798, -3798,  3399, -3798, 48419,
++    1213, -3798, 24653, -3798, -3798,   -59, -3798,   112,   624,  1213,
++     400, -3798, 48419, -3798,   669,  1467,  1213, -3798, -3798, 43555,
++   -3798,  -197, 48419, -3798,   721, -3798, 43555,  1119,  -145,   668,
++     681,   -56, -3798, -3798, 48419,  1756, -3798,   713,  1223,  1115,
++   -3798, -3798,   910, -3798, -3798, -3798, -3798, -3798, -3798, -3798,
++   -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798,
++   -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798,
++   -3798, -3798, -3798, -3798, -3798, -3798, 25268, -3798, -3798, -3798,
++   -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798,
++   -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798,   714, 48419,
++     742, 48419,  1164, 48419, 41731, 48419,   840,   841,  1272, -3798,
++   -3798,  1345, -3798, -3798,   624,  -197, -3798, -3798, -3798, -3798,
++   -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798,
++   -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798,
++   -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798,
++   -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798,
++   -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798,
++   -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798,
++   -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798,
++   -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798,
++   -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798,
++   -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798,
++   -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798,
++   -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798,
++   -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798,
++   -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798,
++   -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798,
++   -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798,
++   -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798,
++   -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798,
++   -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798,
++   -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798,
++   -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798,
++   -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798,
++   -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798,
++   -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798,
++   -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798,
++   -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798,
++   -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798,
++   -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798,
++   -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798,
++   -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798,
++   -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798,
++   -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798,
++   -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798,
++   -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798,
++   -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798,
++   -3798, -3798, -3798, -3798,   864, -3798, -3798,  1013, -3798, -3798,
++   -3798,  1651, -3798,  1547,  1353, -3798,  1397, 41731, -3798, 48419,
++   -3798, -3798, -3798,   915, -3798,  1130, -3798,  1145,  1441,  1479,
++    1494,    84, 11527,  1509,  1509,  1509, 48419,  1538,  1509,  1509,
++   48419, -3798,  1509, -3798,  1509,   624, -3798, -3798,  3649, 48419,
++    1381,   167,   -70, 41731,  1558, 48419,  -167,    51, -3798,  1518,
++   -3798, -3798, -3798,   624, -3798,  1715,  1582,   938, 48419, -3798,
++   -3798, -3798,  1291,   922,  1218, -3798, -3798,  1304, -3798,  4179,
++     139, -3798, -3798, -3798,  2120, -3798, -3798,  5219,  1304, -3798,
++   -3798, -3798,  1226, -3798, -3798, -3798, 48419,  -167,   624,  1533,
++   -3798, -3798,   184,   184,   184, -3798,   184, -3798,   184, -3798,
++     713,  1233, -3798, -3798,  1231, 48419,   728,   793, -3798, -3798,
++    1241,   878, -3798,  1306, 39299, -3798, 48419, -3798, -3798, -3798,
++   -3798,  1529, -3798, -3798, -3798,  2503, -3798, 24653, -3798, -3798,
++   -3798,   841, -3798, 48419,  1399, -3798, -3798, -3798, 24653,  1281,
++   48419, -3798, 24653, -3798, -3798, 24653,   185,   -18,  1452, 48419,
++   48419,  1726, -3798,  1945, 39299,  1484, -3798,   283,  1171,  1345,
++    1963, -3798,  1353, -3798, 48419, 48419, 48419, -3798, -3798, -3798,
++   44163,    84,  1337,  1362,  1367, 16591, -3798,  1370,  1387,  1405,
++   11527,  1407,  1417,  1446,  1454,  1464,  1477,  1489,  1513,  1517,
++    1522,  1543,  1563,  1565,  1568,  1593,  1593,  1604,  1616,  1620,
++    1625,   -80,  1627, -3798,  1637,  1643,  1645, -3798, -3798,  1652,
++    1667,  1674, -3798, -3798,  1678,  1684,  1695, 12160,  1700,  1703,
++    1714, -3798, 21569,  1717,  1719,  1724,  1727,  1731,  1737,  1743,
++    1747,  1759, -3798, -3798, 11527,  1604, -3798, -3798,  1779, -3798,
++    1784,  1788,  1798,  1824,  1826,  1833,  1835,  1837,  1839,  1849,
++    1859,  1861,  1865,  1871,  1878,  1604, -3798,  1280,  1885,  1887,
++    1409,  1890, -3798,  1902, -3798,   192,  1907,  1593,  1604,  1604,
++    1921,  1926,  1932,  1942,  1948, 16591, 16591, 16591, 11527, -3798,
++   48419, -3798, 48419,  1762,  1745, -3798,  2210, 16591,   173, -3798,
++   -3798, -3798, -3798, -3798, -3798, -3798,  1459,  1491, -3798, -3798,
++   -3798, -3798, -3798,  1952,  1434,  1877, 48419, 48419, 48419,  1690,
++   48419, 48419, 41731,  1611, 48419, 39299, -3798,  1509,  1629,  3764,
++    1816,  1672,  1704, -3798, -3798, -3798, -3798, -3798,  1869, -3798,
++   -3798,  1741, -3798,  2031, -3798, -3798,   143, -3798,   101, -3798,
++   -3798, -3798, -3798, -3798, -3798,  2132,  1653, -3798, -3798,   122,
++   -3798, -3798, 48419, -3798, -3798, -3798, -3798,  2068,  1993, -3798,
++   -3798, -3798,   919,  2535,   208, 24653, -3798,  1957, 11527,  1561,
++   -3798,  -235, -3798, -3798,  2316, -3798, -3798, 39299, 24653,  1698,
++   -3798, -3798, 22186, -3798, -3798,  2547, -3798,  1984, -3798, -3798,
++    1491,  3126, -3798,  1816,  2246, -3798,  2264,  2171,   -18,  2062,
++   -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798,
++    2011,  2120, -3798, -3798, -3798, -3798,  2471, -3798,  2170, -3798,
++     -28, -3798,  2020,  1431,   -28, 39907,  2390,  1526, -3798,   392,
++   -3798,  2473, -3798, -3798, -3798, -3798, -3798,  2166,  2174, -3798,
++   -3798,   393,  1980, -3798,  2554, -3798,   739, -3798, -3798,  2229,
++   -3798,  2390,   -28,  1526, -3798,  2484,  2619,   423,  1086, -3798,
++   -3798,   -93, -3798, -3798,  2689, -3798, -3798, 24653, -3798, -3798,
++   -3798,  2068, -3798, -3798, -3798, -3798,  2151, -3798,  2425,  2266,
++   -3798, -3798,    24, -3798,  2164,   745,  2640, -3798,   951, 35651,
++   -3798, -3798, -3798,  2686,  2711,  1593,  2193, -3798, -3798, -3798,
++    2833, -3798, -3798,  2216,  2738,  2738,  2738,  2857, -3798, -3798,
++   -3798, -3798, -3798, -3798,  2395,  2268, -3798,  1399, 24653,  2625,
++    2238, -3798, -3798,  2486, 11527, -3798, -3798,  4506,   172, -3798,
++   -3798, 24653,  1804, -3798,  2822,  2458, -3798, -3798, -3798, -3798,
++    2718, -3798, -3798,  2833,  2778,  2738,  2674,  2277, -3798, -3798,
++   -3798, -3798, -3798, -3798,   892, -3798, -3798, -3798, -3798, -3798,
++   -3798, -3798,  1440, -3798, -3798, -3798, -3798, -3798,  1399, -3798,
++   24653, -3798, -3798, -3798, 24653, -3798,  2279, -3798,  2260, -3798,
++   11527, 11527,   308,  2827,  2897,  2897,  2897,  1762,  2312, 11527,
++   11527, 11527, 11527, 11527, 11527, 11527, 11527, 11527, 11527, 11527,
++   11527, 11527,   312,  2285, -3798, -3798,  1100, -3798,  2286, 11527,
++   11527,  2389, 11527,  1491, 11527, 25883, -3798,  4211, 11527,   513,
++    2779, 11527, 11527, 11527, 11527,  2324, 11527, 11527, 11527, 25883,
++    2918,  2298, -3798,  2294,   993, 11527, 11527,  1326, 11527, 11527,
++   11527, 11527, 11527, -3798, -3798, 11527, 11527, 11527, 11527, 16591,
++   11527, 11527, 11527, 11527, 11527, 11527,  2897,  2897, 11527, 11527,
++    1361, -3798, 11527,  1491,  2723,  2723, 11527,  1491,  8362, 11527,
++   -3798, -3798, -3798, -3798, -3798,  2304, -3798, -3798, -3798, 25883,
++    2897,  2897, 11527, 11527,  2827,  2827,  2827,   254,  2309,   960,
++   11527, 27113,  2307, -3798, -3798, -3798, -3798, 11527, 11527, 11527,
++   16591, -3798,   847, -3798, -3798, -3798, -3798, -3798, 12793, 16591,
++   16591,  2317, 16591, 16591, 16591, 16591, 16591,  2684, 16591, 16591,
++   17224, 17857, 16591, 16591, 16591, 16591,  1466,  2827, 41731, 16591,
++   11527, -3798, -3798, 48419, -3798, -3798, -3798,  2318, 24653,  1611,
++   -3798, -3798,   722,  2782, -3798, -3798,  2328, 24653, -3798,  2325,
++   -3798,  2692, -3798, -3798,  2693,  2694,  2696, -3798, -3798, -3798,
++   -3798, -3798,  2914,  2698, -3798, -3798,  2699, -3798, -3798, -3798,
++   -3798,  2347, -3798, -3798, -3798, -3798, -3798, -3798, -3798,  2450,
++   -3798, -3798, -3798,  2354, -3798, 39299,  2354, -3798, -3798,  2354,
++   -3798, -3798,  2354,    39,  4184, -3798, -3798, 48419, -3798, 49027,
++   -3798, -3798, 22186,  -167, -3798, -3798, 13426, -3798, -3798, -3798,
++    2715,   331,  2357, -3798, 24653, -3798,  1762, -3798,   111,   111,
++    2611,   135, 41731, -3798, -3798,   129,  2368,  2452,  2372, -3798,
++    2469, -3798, -3798, 24653, 24653, -3798, -3798, -3798, -3798,  2994,
++     922, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798,
++   -3798, -3798, -3798, -3798,  2388,  2403,  2391, 39299,   962, -3798,
++   48419, -3798,  1461, -3798, -3798, -3798,  2393, -3798, 11527, -3798,
++    2396, -3798,  1740,  2787, -3798,  -167, 11527, -3798,  2397,  1353,
++   48419, 48419, 48419, 24653, 48419, 24653, -3798,    -1,    -1, -3798,
++   36259, -3798, -3798, -3798, -3798,   -28, 48419, 48419,   -28, 39299,
++   -3798,  1526, 48419,   -28, -3798,  2789,  2508, -3798, -3798, -3798,
++    2855, -3798, -3798,  2846,  2405, -3798,  2787, -3798, -3798,  1526,
++   -3798, -3798, 24653, -3798, -3798,  1526, -3798,  1526,  1526,   -28,
++     -28,  2465, -3798, -3798,  2414, -3798,  2465,  2568, -3798,  1186,
++     184,  2665, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798,
++   -3798, -3798,    63, -3798, -3798, -3798, -3798, -3798, -3798, -3798,
++     155, -3798, -3798, -3798,  1853,  2922, -3798, 41731,  1390,   647,
++     853,  1390,  2387,  -167,   263, -3798,   263, -3798,  3393,  2700,
++     194, 24653, -3798,  2431, 44771, 24653, -3798, -3798, -3798,   140,
++    2426,  2435,  1762,  2451,  2453,  2455,  2456,  2476,  2477,  2478,
++    2479,  2480,  2483,  2491,  2495,  2497,  2500,  2501,  2502,  2506,
++    2507,  2444, -3798, -3798, -3798, -3798, 24653, -3798,     9, -3798,
++   -3798, -3798,  2510, -3798, -3798, -3798, -3798,  2225, -3798, -3798,
++   -3798,   164,  1822,  2475,  2530,   119, 39299,  2894, 48419, 48419,
++    1353, 48419, 48419, -3798, -3798,   531,  2766,  2767,  2769,  2514,
++   -3798, -3798, -3798,  1271, 48419,  2940, 30176, -3798,   302,   481,
++   -3798,  2897,  2511, -3798,  2516,  2517,  2518, 11527,   218,   153,
++     514,  1307,  1550,   731,   348,   355, -3798,  1571,   409,   465,
++     471,   852,   473,   322, -3798,  2519,  2513, -3798, -3798, -3798,
++   -3798, -3798, -3798, -3798, -3798,  2522, -3798, -3798, -3798,   483,
++     489,   879,   899,  2525,  2526, -3798, -3798, -3798, -3798, -3798,
++   -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798,
++   -3798, -3798, -3798, -3798, -3798,  2968, -3798,  1617, -3798, -3798,
++   -3798, -3798,  2529, -3798, -3798,  1036,   559,   571,   335,  2538,
++    1681,   630,  1696,  1720,  2534, 25883, 48419,  2897,  2544,  1082,
++    1091,  2897,  2546,   725,  1108,  1739,  1765,  1770,  1123,  1200,
++     794,  1776,  2740,  1212,   798,   822,   831,   891,  1214,  2548,
++    2550,   895,   294,  2897,  2553,   339,  2537,  2555,  1227,  9628,
++   10261, 10894,   200,   906, -3798,  2558, -3798,  2294,  2563,  2565,
++     364,  1239, -3798, 11527, -3798, -3798,   966,  1157,  2608,   157,
++      50, -3798,  2724, 48419,  2408,   141, -3798, -3798, -3798, -3798,
++   -3798, -3798,  1189, -3798,  2570, -3798,  2571,  1694,  2557, 11527,
++     189,  2557,  2809,  1758,  1758, 16591,  3047,  2278, 12160,  1379,
++   12160,  1379,  2557,  2557,  2557, -3798, 16591,  2576, 16591, 16591,
++   -3798,  2827,  1762,  2582,   839, 48419, -3798,   722, -3798, -3798,
++   -3798, -3798,   921, 39299,   100, 24653, 41731,  2583, -3798, -3798,
++   -3798, -3798, -3798, -3798, -3798, -3798,  4470, 24653, -3798, 48419,
++   -3798,  2669, -3798, -3798, -3798, 22801, 22801, -3798, 22801, -3798,
++   -3798,   869,   870,  2729,  2612, -3798, -3798, -3798, 29566,  1762,
++   -3798, 24653, -3798,  2988,   691, 24653,  2431, -3798,  2594, -3798,
++   -3798, -3798, -3798, -3798,  2383,  2705, -3798,  3214, -3798, 11527,
++    -167, -3798, 39299, 39299, 24653, 24653, 24653,   877, -3798,  1480,
++   -3798, -3798, -3798,  3126, 18490,  3024,  3036, 22801, 22801, 22801,
++   -3798, -3798, -3798, -3798, -3798,  1250,  1762, -3798,  2591, -3798,
++   -3798, -3798, -3798, -3798, 45379,   371, -3798, -3798,  -167,  3039,
++   -3798,  1762,  2603, 48419, -3798, -3798, -3798, -3798, -3798, -3798,
++   -3798, -3798, -3798, -3798, -3798, -3798, -3798,  3068, -3798,  2788,
++    -103, -3798, -3798, -3798, -3798, -3798, -3798, -3798,   -28, -3798,
++   -3798, -3798, -3798, -3798,  2835,  2390,  1980,  3039,   -28,  1526,
++   24653,   -28,   -28, -3798, -3798,  1432, -3798,   -93, -3798, -3798,
++   -3798, -3798, 48419,  2441,  2774, -3798,  2616, -3798, -3798, 24653,
++   -3798,  2621, -3798,  3061,  3207,  2390, -3798, -3798, -3798,   921,
++     921,  2920, -3798,  -167,  2755,  2756,  2759,  2760,  2761,  2806,
++   -3798, -3798,  -167,  -167, -3798, -3798,   921, -3798,   897, -3798,
++   -3798, -3798, -3798,  -167,  -167,  -167,  -167,  2841,  -167,  -167,
++    1809, -3798, -3798,   921,   921, -3798,  1201, -3798, -3798, -3798,
++   -3798, -3798, -3798, -3798,  1234, -3798,  2764,  3192,  2887,   921,
++     921,  3192,   921,  2890,  2891,   921,   921,  2730,  3143,   921,
++    3031,  2773,  3091,  3033,   921, -3798,  2775,  3150,   921,   921,
++     921,   921,  3192,  2902,  3245,   921,   921, -3798,   921,  2921,
++    2925,   144,  2927,  2928,   921,   134, 48419,   921,   921,  2929,
++     921, -3798, -3798,  6509, -3798, -3798, -3798, -3798, -3798, -3798,
++     786, 23419, -3798, -3798,   921,   461, -3798,  2872, -3798, -3798,
++   -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798,
++    2677, -3798, -3798, 11527,  2682,  2841,  -167,  -167,  1955,  -167,
++    2841,  -167,  -167,  -167,  -167,  -167,  2841,  2841,  -167,  2042,
++    -167,  2841,  4506, -3798,  2736, -3798, -3798, -3798, -3798,   188,
++     921,   921,   921,   921, -3798,  2367, -3798, -3798, -3798, -3798,
++   -3798, -3798, -3798, -3798, 41731,  3041,  1898,   -53, -3798, -3798,
++   41731, -3798, 48419, -3798,  1863, 48419,  2691,  -165,  3564,   181,
++     181, -3798, 24653, 24653, 24653, 48419,  2739,  2612, 30176, -3798,
++   -3798,  1186, -3798,  2681, 14059, -3798,  2695, -3798, 11527, -3798,
++   -3798, -3798,   401, 11527, 11527,  3169,  2311, -3798, 40515, -3798,
++   -3798, -3798, 11527, 11527, -3798, 11527, 11527, 11527, 11527, -3798,
++   11527, 40515,  2311, 11527, -3798,  2697, -3798,  3092,  3098, -3798,
++   -3798, -3798, -3798, 11527, -3798, 11527, 11527, -3798, 11527, 11527,
++   11527, 11527, -3798, 11527, -3798, -3798, 16591, -3798,  2701,  2710,
++   -3798, -3798, -3798,  2719, -3798, 11527, -3798, -3798, -3798, -3798,
++   -3798, -3798, 11527, -3798, 11527, -3798, 11527, 11527, 11527, 11527,
++   -3798, -3798, -3798, 14692, 11527, 11527,  2727, -3798, -3798, 11527,
++   11527, 11527, -3798, 11527,  1162, 11527,  1778, 11527,  1780, 11527,
++   -3798, 11527, -3798, -3798, -3798, -3798, 11527, -3798,  1811, -3798,
++   -3798,  2263, -3798,   966,  2741, -3798, -3798,  1461, -3798, -3798,
++    2704,  2717,  2722, 41731, 11527, -3798, -3798, -3798, -3798, -3798,
++   -3798, 16591,   411,  2742, 16591, -3798,  2809,  2324,  2324,  2195,
++   11527,   189,  2809, 11527,  2743,  2744, -3798, 11527, 48419, -3798,
++   -3798, -3798, -3798, -3798, -3798, 41731, -3798, -3798, -3798, -3798,
++     100, -3798,  2325, -3798,  2431, -3798, -3798,  1828, -3798, 39299,
++    2732, -3798,  2733,  2781,  2829,  2830, -3798, -3798, -3798, -3798,
++   -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798,  2390,  1480,
++   -3798, -3798,  2748, -3798, -3798,  2486,  2843,  2785,  3109,  3294,
++   -3798, -3798, 48419, 16591, -3798,  3347,  2768,  2771,  2786,  2776,
++    1762, -3798,  2847, -3798, -3798, -3798,    41, -3798, -3798, -3798,
++   -3798, -3798,    62, -3798, -3798,  2780,  2780, 20337, -3798, -3798,
++   -3798,  2793,  1117,  1117,  1117, -3798, -3798, -3798, -3798,  3029,
++   39299,  3213,  3220,  3221,   951, -3798,   377, -3798,  1025,  3174,
++    2390, -3798,  3224, 42339, -3798, 30784, -3798,  2790,  3172,  2791,
++     921, 32608,   746, 27727, 36867, -3798, -3798,  1955, -3798,   311,
++   -3798, 37475,  3253, 37475, 37475, -3798,  3069, -3798, -3798, -3798,
++   -3798,  2612,  1526, -3798, -3798, -3798,  2792, -3798, -3798,  1104,
++    3188,  3191, -3798,  3071,    42,  3071,  1104,  1104, 25883,  1186,
++    2468, -3798,  2841,  3123, -3798, -3798, -3798, 41123, 38083, -3798,
++   -3798, -3798, -3798,  3333, -3798,  3334,   199, -3798, -3798,  2642,
++     853, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798,
++   -3798, -3798, -3798, -3798, -3798, -3798,  2387,  2642,  2642,   263,
++   -3798,   118, -3798, -3798, -3798, -3798, -3798, 26498,  1213, -3798,
++     637, -3798, 26498, -3798,   140,   140, -3798, 26498,  1213,  1955,
++    2841, 26498,  2841, 45987,  1213,  -167,  -167,  2443,   921,  2841,
++   -3798, -3798,  3199, 48419,  3200, 26498, 26498, -3798, 41731, -3798,
++     921,   127,  2841,  1955,  1955, 26498,  1213, 25883,  1975,  2676,
++   -3798,  -167,  1213, -3798, -3798, -3798, -3798, 24653,  1213,  1213,
++    2961, -3798, -3798, -3798,  2841,  2676, 45987, -3798, -3798,  6256,
++   -3798, -3798, -3798, 19722, 48419,   287,   881, -3798,  2816, 33827,
++     652,   278,  2906,   880,  2834,  2836, 46595,  1762,  2841, -3798,
++   -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798,
++   -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798,
++   -3798, -3798, -3798,  -167,  2383,  2642,  2642,  1822, -3798,  3100,
++    3260,   921, -3798,  2111, -3798, -3798, -3798, -3798, -3798, -3798,
++   -3798, -3798, -3798,  2931, -3798,   133,  3022,  2842, -3798, -3798,
++     282, -3798, -3798,  1132, 24653, 19107, -3798,  3084, -3798,  3080,
++   -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798,  2837,
++    1186,  3102,  1457,  2612,  2849, -3798, 12160,  1249, -3798,  1762,
++   11527,  1762,  1324, -3798,  2850,  2850,  2850, -3798,  2851, -3798,
++   -3798,  2850,  3236,  2850,  3241,  2852, -3798,  2856, -3798,  1875,
++    1273, -3798,  1894,  1264,  1735,  1269,  2858,  2862,  1459, -3798,
++   11527, 11527,  1305,  1309,   603,   929,   940,   448, -3798,  1317,
++    2765, -3798, -3798,  1333,  1365,  1371,  1395,   946,  1411,  1916,
++   12160,  1419,   232,   450, -3798,  1421,   975,   998,  1430, 11527,
++    1442, 11527,  1483, 11527,  1496,  1498,  1503, -3798,  2011,  2263,
++   -3798, -3798,  2866, -3798, -3798, -3798, -3798, -3798,  2860,  1762,
++    2868, -3798, -3798, 11527, -3798,   173, -3798, -3798, 16591,   460,
++    2871, -3798,  1762, -3798, -3798,  2873,  1459, -3798, -3798, -3798,
++   -3798, -3798,  2881, -3798, 48419,  -241,  2863, 31392, 39299, 39299,
++   39299,  2875, 11527, -3798, -3798,  3142, 24653, -3798,  3281, -3798,
++   -3798, -3798, -3798, -3798,  2876,  2878, -3798, -3798, -3798,  2809,
++    3244,  3127, -3798, -3798,  2383, 48419, 39299,  3179, -3798, -3798,
++    2120, 25883, -3798,  2883, -3798,  2883,  1081,  2886,  1918, -3798,
++   -3798, -3798,  2888,  2062, 18490,  3327,  2328, 39299, 39299, 39299,
++   -3798,  2612,  2612,   137,  2945,  3284, -3798, -3798, -3798, -3798,
++   47203, -3798, -3798, -3798, -3798,   941, 48419,  3267, 48419,  8995,
++   -3798, -3798,  3462, 11527, 39299,   -82,    50,   921, -3798, -3798,
++   -3798, -3798, -3798, -3798,  2390, -3798, -3798, -3798, -3798, 37475,
++   -3798, -3798, -3798,  2390, -3798,   -28,  1432,  -210,  1157, -3798,
++    2346, -3798, -3798, -3798,  3285,  1104,  3071,  3071,  3287,  3177,
++     985,  2908, -3798,   921, -3798, -3798, -3798,  2120, -3798, -3798,
++   11527, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798,
++   -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798,
++   -3798, -3798, -3798,  1234, -3798, -3798, -3798, -3798,  2911,  3290,
++    3292,   140, -3798, 26498, -3798, -3798, 26498, 26498,   102, 45987,
++   -3798, -3798, -3798, -3798, -3798, -3798,  2916, -3798, -3798,  2383,
++   -3798, -3798, 38083,  -167, -3798, 26498,  2916, -3798, -3798,   435,
++   -3798,  -167, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798,
++   45987,  2923, -3798,  1413, -3798, -3798, -3798, -3798, -3798,  1715,
++   -3798, 45987, -3798, -3798, 45987, -3798, -3798, -3798, -3798, -3798,
++   -3798, -3798, -3798, -3798, -3798, -3798,  2924,  2678,  2595, -3798,
++    2915,  2933, -3798, -3798, -3798, -3798, 48419, -3798, -3798, 24653,
++   -3798, -3798, -3798,  6264, 48419, -3798, -3798, -3798, -3798,  3151,
++   -3798, 11527, 11527,  3198, 48419,  3202, -3798,  3469, 48419,  3540,
++   45987, -3798,  2938, -3798,  2939, -3798,  1933, -3798, -3798, -3798,
++   -3798, -3798, -3798, -3798,  2943, 48419,  2642,  1898, -3798, -3798,
++   -3798, -3798,  -167,  1132, -3798, -3798, -3798, -3798,  3209,  3216,
++   48419, -3798, -3798, -3798, -3798,  3085, -3798, 24653,  3530, -3798,
++    3114, -3798,  2949,   814,  5178, -3798,  2953,  2954,  2955, 30176,
++    2612,  3319, -3798, -3798,  2324, -3798,  1762, 11527,  1037, -3798,
++   -3798,   266, -3798,  1040, -3798, -3798, -3798,  2959, -3798, -3798,
++   -3798, -3798, -3798, -3798, -3798,  2750, -3798, -3798, -3798,  2311,
++   -3798, -3798, -3798,  2964,  2324,  2324, -3798, -3798,  3548,  3130,
++   11527, 11527, -3798, 11527, -3798,   202,  2970,  2998, -3798, -3798,
++   -3798, -3798, 11527, -3798, -3798,  2324, -3798, 11527, -3798, -3798,
++   11527, -3798, 11527, 11527, -3798,  1508, -3798,  1546, -3798,  1588,
++   -3798, -3798, -3798,  2393, -3798, -3798,   960, 48419, -3798, -3798,
++    1961, -3798, -3798, 11527, -3798, 42339, -3798, -3798,  3187, -3798,
++   -3798,  3401, -3798, -3798, -3798,  -160,  -160,  -160, 15325,  1762,
++    3457, -3798, -3798, -3798,  3281,  3348, -3798,    30, -3798, 48419,
++    2976,   136, -3798,  1973, -3798, -3798,  2979, -3798, -3798,  2011,
++    2980, -3798,   921, 15325,  2780,  3114, -3798, -3798,  1081, 25883,
++   30784, -3798, -3798, 39299,  2328,  2328,  2328,  2390,  3406,  2843,
++    2843, -3798, 28341, -3798, -3798,  3140, -3798, -3798, 32000, -3798,
++    1712, -3798, -3798, 16591,  1637, -3798,  1762, -3798, 41123, -3798,
++    1762,   921,  2987,  2989, -3798, -3798, 47811, 11527, -3798, -3798,
++   -3798, -3798, -3798,  1461,  2926, -3798,  1186, -3798,  1104, -3798,
++    3368,  3371,  1104, -3798, -3798, -3798, 25883,  2612, 15325, -3798,
++      43,  2011,  1762,  2997,  1413, -3798,   579, 11527, 26498, -3798,
++   -3798, -3798,  2996, -3798, -3798,  3502,  3504, -3798, 26498,  2225,
++   48419, -3798,  3462, -3798, -3798, -3798, -3798,  6264, -3798, 25883,
++   -3798, -3798, -3798, -3798, -3798, 48419, -3798, 24653, -3798, 19722,
++   -3798,  3004, -3798,  2850,  2850,  2850, -3798, -3798, -3798,  2850,
++   -3798,  2851,  3238, -3798,  2851,  2851, -3798, -3798, -3798, -3798,
++   -3798,   266,  2139, -3798, -3798,   266, -3798, -3798, -3798,   190,
++     529,  2851, -3798, -3798, -3798, -3798, -3798, -3798, -3798,  2850,
++    2850,  2850, -3798, -3798,   266,  2850, -3798,  2850, -3798,  2494,
++   -3798,   326,   131,  2850,  2850,  2850,  2959,  2999, -3798,  1762,
++    2324,  3551, -3798, -3798,  3156,  -167,  3496, -3798,  1983, -3798,
++    3012, -3798, 46595, -3798,  2841,  2387, -3798, -3798, -3798, -3798,
++    3155,   801, -3798,  3186,  3017,  3019, -3798, -3798,  -167,  3018,
++    3021, -3798, -3798, -3798, -3798,  3633, -3798, 48419, 48419, 48419,
++    2681, -3798, 38691, -3798,   646,  1762,  3023,  3025,  3026,  3028,
++    3626,   197, -3798,  3629, 40515, -3798, -3798, -3798,  1996,  3309,
++   -3798, -3798,  2850, -3798,  2851, -3798, -3798, -3798,  3605, -3798,
++   -3798,  2850,  3427,   266, -3798, -3798,  3046, -3798,  3052,  3053,
++   -3798,   184,  3054,  1598,  1031,  2016,  3353,  3431, -3798,  3276,
++   -3798,  1607,  1052,  1639,  1641,  1648,  1655, -3798, -3798, -3798,
++     150,  1157, -3798, -3798,  2028, -3798,  3413,  3322,  1105,  3088,
++    3088,  3088,  1637,  1762,  2030, -3798, -3798, -3798, -3798,  3454,
++   -3798, -3798,  3065,  3214, 48419, -3798,  3127, -3798,  2393, 25883,
++   15325,  3066,  3067, -3798,   745, -3798, -3798,  3062,  2328, -3798,
++    3653,  3492, -3798, -3798, 41731,  3072, -3798, -3798,  3378, -3798,
++     138,  3289, -3798, -3798, -3798,   -82,  3168,  3170,   921,  1762,
++   -3798, -3798,  2616,  2753,  3124,  1104,  1104,  3229,  3128, 11527,
++   11527,  3083, -3798,  3102, -3798, -3798,   361,  2393, 11527, -3798,
++    2383,  3127, -3798,  1668,  3087,  3089, 48419,  3097,  3099, -3798,
++    3695,   287, -3798, -3798, -3798, -3798,  1213, -3798, -3798,  2916,
++      62,  3079, -3798, 48419,  3412, -3798, -3798, -3798, -3798,   875,
++   -3798,  3101,   875,   875, -3798,  2170, -3798,  3122,   266, -3798,
++   -3798,  3125, -3798, -3798, -3798,   875,  3103,   266, -3798, -3798,
++   -3798, -3798,   875, -3798, 41731,  -167,  3562,  3706, -3798,  3154,
++   -3798,  3606,  3483,  3717, -3798,  2208, -3798,  3485,  3384,   921,
++   -3798,   266, -3798, -3798,  3707, -3798,   266,  3707,   875,   875,
++   48419, -3798, -3798, -3798, -3798, -3798, -3798, 48419, -3798,  1126,
++   -3798, -3798, -3798,  2034,  -167, -3798, -3798, -3798,  3110,  3113,
++   -3798, -3798, -3798,   278, -3798, 48419,  6264, -3798, -3798, -3798,
++    6509, -3798,  1127,  2038,  1413,  3116,  2048,  2050,  3580,  3296,
++   -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798, 40515, -3798,
++    3707,  3396,  3129, -3798, -3798, -3798, -3798, -3798, -3798, -3798,
++   -3798, -3798, 11527, -3798, -3798, -3798, 11527, -3798, -3798,  3429,
++    3581, -3798, -3798, -3798, -3798, -3798, -3798,  1025,  1025, -3798,
++   -3798, -3798,  3738, -3798,  3219,  3222, -3798, -3798,  3225, -3798,
++   -3798,   115,  2267, -3798, -3798, -3798, -3798, 15325,  3505,  3233,
++   -3798, -3798,  3136,  3180, -3798, -3798,   150, -3798, -3798, -3798,
++   -3798, 11527, -3798,  3102,  2443, -3798, 28341, -3798, -3798, -3798,
++   -3798, -3798,  3137,  3138,  8995,   960, -3798,  3193, -3798, -3798,
++   -3798,  3195,  1762,  1762, 48419,  3319, -3798, -3798,   140,   140,
++   -3798,   361,   150,  1413, -3798,  2058, -3798, 48419, 48419,  2064,
++   48419, 48419,  1117,  1117,  1117,  2042,  2042, -3798, -3798, -3798,
++     287, -3798,  3539, -3798, -3798,  2067, -3798,    69,  3409, -3798,
++   -3798, -3798, -3798,   875, -3798,   184, -3798, -3798, -3798, -3798,
++   -3798,   184, -3798, -3798, -3798, -3798,  1593, -3798, -3798, -3798,
++    3432,  3196, -3798, -3798, -3798, -3798, -3798, 34435, -3798, -3798,
++   -3798, -3798, -3798, -3798, -3798,  3279, -3798, 54499, -3798, -3798,
++     713,  3190, -3798, -3798, -3798,  1755, 48419, 24653,  3198,  3342,
++   -3798,  3462, -3798,   745,  3084,  3114, -3798,  1767, 48419, -3798,
++    3440,   186,  1605, -3798,  3628, -3798, -3798,  3173,  3175,  1413,
++    1675, -3798, -3798, -3798, -3798,  3661, -3798, -3798, -3798, -3798,
++   -3798,   347,  3437,  2841,  2841,  2841,   632,  2267, -3798, -3798,
++    3230, 24653, 16591,  3299, 48419,  1323,  3335, -3798,  1540,  1413,
++   11527,  2390, 38083, -3798, -3798, -3798, -3798, -3798, -3798, 11527,
++    3178, 11527,  3183,  2073, -3798, -3798,  3619,  3619, -3798, -3798,
++   -3798, -3798,  2079,  2081, -3798,  2095,  2101, -3798, -3798, -3798,
++    3185, -3798, 48419, -3798, -3798, -3798,   221, -3798, -3798,  2105,
++   -3798,  2109, -3798,  1593, -3798,  3189, -3798, -3798, -3798, -3798,
++   11527,  3665,  3223, 48419,   809, -3798, 55715, 55715, 48419, -3798,
++   -3798, -3798, -3798,  5779, -3798, -3798,   -44, -3798, -3798, -3798,
++   -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798,  3791, -3798,
++    3194, -3798, -3798,  3203,  1135, -3798, -3798, -3798,  6264,  3635,
++     880, -3798, -3798, -3798, -3798,   814,  3204,  2062,  -167,   921,
++   -3798,  1767, -3798, -3798, -3798,   921,  1413,  3206,  3456, -3798,
++     186, -3798, -3798, -3798,  1605, -3798, -3798, -3798, -3798, 11527,
++   -3798, -3798,  3778, -3798, -3798, -3798, -3798, -3798, -3798,    83,
++   -3798, -3798, 25883, -3798, -3798,  2383, -3798,  2114, -3798, -3798,
++   -3798,  3301,   921,   921,  3704,  3708,   921,   921,   921,   921,
++    3226,  3335, -3798,  3684, -3798, -3798, 11527, -3798, -3798,  1762,
++    3447, -3798,  3777,  1157,  1762, 48419,  1762, 48419, -3798, 48419,
++     912, -3798, -3798,  3430, -3798,  1767, -3798, -3798,  3127, -3798,
++     838,   838,   266,   184,   266, -3798, -3798,  1762, 11527, -3798,
++   11527,  3252, -3798, -3798,  3663, 48419, -3798, -3798, -3798, -3798,
++   11527, -3798, 54499, 54499, -3798, -3798, -3798, -3798,  3826,   745,
++    3795,  3493,  3796,  2919, -3798, -3798,  3469,  6264, -3798, -3798,
++   -3798, -3798,  2841, -3798, 35043, -3798, -3798,  1710, -3798, -3798,
++    1413, -3798, -3798, -3798,  3235, -3798,   921,  2443,  3231, -3798,
++   -3798, 48419,  3242, -3798,  -167,  -167,   921,   921,  2854,  2854,
++    2383, 41731,  3345, -3798, -3798,   921,  1413, 48419, -3798,   909,
++    3599, -3798,  2117,  2121, -3798,  3823, -3798,  3827,  3246,  3249,
++   -3798,  1767, -3798,   186,  1605,  2126, -3798,  3868, -3798,   856,
++    3520,  3521, -3798, -3798, -3798,  3255,  1762,  1762, -3798,   251,
++   -3798, -3798,  3643,  3732, 11527,  1762, 51459,  3254, -3798, -3798,
++   -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798,
++   -3798, 55107, 11527, -3798,   -44,  3791, -3798,  3523, -3798,  3524,
++   -3798, -3798, -3798,  3752, 54499, -3798,  3750, -3798,   745, -3798,
++   -3798, -3798, -3798, -3798, -3798, -3798, 25883, 15325, -3798, -3798,
++    3299, -3798,  3266, -3798, -3798,   -40, -3798, -3798,  -167,  -167,
++   -3798, -3798, -3798, -3798, -3798,  2135, -3798, 41731, -3798, -3798,
++    3849,  3851,  3749,  3857,   909, -3798,  -163, -3798, -3798, -3798,
++   -3798, -3798, 46595, 46595, -3798, -3798, -3798, -3798, -3798, -3798,
++   -3798,  3336,  3776,   750,  3310, 11527, 54499, -3798,  3754, -3798,
++    3690,  1683,  3632,  3280, -3798,  3282,   518,  3792, 55715, 55715,
++   -3798, -3798, -3798, -3798,  3768, -3798, -3798, -3798, -3798, -3798,
++    3468, -3798, -3798,  2172, -3798, 15958, -3798, -3798, -3798, -3798,
++   -3798, 41731, -3798,  3345, -3798,  3300,   184,   184,  3881,   184,
++   -3798,  3883,  3884,  -163, -3798,  3304,  2177,   838,   838, -3798,
++   -3798,   109, -3798,   288, -3798,  1762, 52067,  3882, 48419, -3798,
++   -3798, -3798, -3798, 11527, -3798, 42947, 52675,  3302, -3798, -3798,
++   -3798,  3480, -3798,  2919,  3718,  3777, -3798,  3266, -3798,  3307,
++   -3798,  2809,  3335, -3798, -3798,  3312, -3798, -3798,   184, -3798,
++     184,   184, -3798, -3798, -3798, -3798, -3798,  -167,  3688, -3798,
++     109, -3798, 11527, -3798,  3790,  3407, -3798,  3315, -3798, 54499,
++    1742, 54499, -3798, -3798,  3744,  3323,  1601, -3798,  3318, -3798,
++   -3798, 54499,  3908,  3599, -3798, 15958,  3326, -3798, 11527,  3329,
++    3330, -3798, -3798, -3798, -3798, -3798, -3798, -3798,  1762,  3904,
++   54499, 48419, 49635,  3526, 53283,  3775, 48419,  6264,  3779,  3781,
++   -3798, 54499, -3798,   184,  3741, -3798, -3798,  1762, -3798, -3798,
++    3426, -3798, 50243, -3798,  2377, -3798,  3365, -3798, -3798,  3844,
++    2995, -3798, -3798, -3798,  3618,  3351, -3798, -3798, 54499, 54499,
++   -3798, -3798, -3798, 33219, 11527, -3798, -3798, -3798, -3798, -3798,
++     951,     7, 20952,  3509, 50851, 53891, -3798, -3798, -3798, 28955,
++   -3798, -3798, -3798,  3784, -3798,  1762, -3798, -3798, -3798, -3798,
++   -3798, 41731,  2181, -3798, -3798, 25883, -3798, 33219, -3798, -3798,
++   -3798, -3798, 24036,  3352, -3798,   921, -3798, -3798, 25883, -3798,
++   -3798, 15325, -3798, -3798
++};
++
++  /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
++     Performed when YYTABLE does not specify something else to do.  Zero
++     means the default is an error.  */
++static const yytype_uint16 yydefact[] =
++{
++       0,   956,  1035,  2506,     0,     0,     0,     0,     0,  1019,
++    2508,   115,    64,  1679,  1794,  1795,  1592,  1618,     2,     0,
++    1035,   165,     0,    76,  1620,     0,  1850,     0,     0,  1035,
++       0,   444,     0,  1845,     0,     0,  1035,  1623,  1835,   239,
++     165,  2508,     0,  1081,  2329,  1717,     0,     0,     0,     0,
++    1700,     0,  2387,  1668,     0,     0,  2643,     0,     0,     3,
++       8,    19,     0,    40,    24,    28,    14,    18,    13,    53,
++      47,    38,    37,    10,    55,    56,    16,    44,    11,    12,
++      15,    36,    43,    32,    39,    51,  1072,    22,    23,    29,
++      45,    60,    20,    57,    54,    21,  1796,    25,    46,    41,
++      33,    61,    34,    52,    35,    59,    27,    48,    26,     9,
++      17,    49,    50,    42,    62,    30,    58,    31,     0,   890,
++       0,     0,     0,     0,     0,     0,     0,   958,   873,  2573,
++    2574,  2575,  1037,  1036,     0,  2508,  1962,  1015,  1046,  2034,
++    2035,  2036,  2037,  2038,  2039,  2040,  2041,  1976,  2042,  2043,
++    2045,  2044,  2046,  2047,  1977,  1978,  2048,  2049,  2050,  2052,
++    2051,  2053,  1979,  1980,  2054,  2055,  2056,  2057,  1981,  1983,
++    1982,  2058,  2061,  2060,  2059,  1984,  2062,  2063,  2064,  2066,
++    1985,  1986,  1987,  1988,  1989,  1990,  2065,  1991,  2067,  1992,
++    2068,  2069,  2070,  2071,  2072,  2073,  2074,  2076,  2075,  1993,
++    2077,  2078,  2079,  2080,  2081,  2083,  2082,  2084,  2085,  2086,
++    1994,  2087,  2088,  2089,  2090,  2091,  2092,  2093,  1995,  2094,
++    2095,  2096,  2113,  1996,  2097,  2100,  2099,  2098,  2101,  2102,
++    2103,  2105,  2104,  2106,  1997,  1998,  2107,  2108,  2109,  2111,
++    2110,  2115,  2116,  2117,  1999,  2112,  2114,  2305,  2118,  2119,
++    2121,  2120,  2122,  2124,  2123,  2000,  2126,  2125,  2001,  2002,
++    2127,  2128,  1960,  2129,  1961,  2130,  2133,  2134,  2131,  2135,
++    2140,  2003,  2132,  2136,  2137,  2138,  2139,  2141,  2004,  2143,
++    2142,  2144,  2145,  2146,  2147,  2148,  2149,  2150,  2151,  2152,
++    2163,  2156,  2158,  2159,  2161,  2157,  2162,  2166,  2165,  2167,
++    2168,  2169,  2164,  2154,  2160,  2155,  2170,  2171,  2153,  2172,
++    2173,  2174,  2175,  2176,  2177,  2178,  2179,  2180,  2181,  2182,
++    2184,  2183,  2185,  2186,  2187,  2188,  2189,  2190,  2191,  2193,
++    2192,  2194,  2195,  2196,  2198,  2197,  2200,  2201,  2005,  2199,
++    2202,  2203,  2204,  2205,  2206,  2207,  2006,  2008,  2007,  2009,
++    2208,  2209,  2010,  2210,  2211,  2212,  2011,  2213,  2214,  2215,
++    2217,  2216,  2218,  2219,  2012,  2013,  2220,  2221,  2222,  2223,
++    2224,  2225,  2226,  2227,  2228,  2229,  2230,  2231,  2232,  2233,
++    2235,  2234,  2236,  2237,  2238,  2239,  2240,  2241,  2242,  2014,
++    2243,  2015,  2244,  2245,  2016,  2246,  2017,  2247,  2248,  2018,
++    2249,  2250,  2251,  2252,  2253,  2254,  2019,  2255,  2256,  2257,
++    2020,  2259,  2258,  2260,  2021,  2262,  2263,  2022,  2261,  2024,
++    2264,  2265,  2023,  2266,  2025,  2267,  2268,  2270,  2269,  2271,
++    2272,  2273,  2026,  2274,  2027,  2275,  2276,  2277,  2278,  2279,
++    2281,  2280,  2282,  2283,  2284,  2285,  2288,  2290,  2287,  2289,
++    2286,  2291,  2292,  2293,  2294,  2298,  2299,  2300,  2301,  2295,
++    2296,  2297,  2028,  2302,  2303,  2304,  2306,  2307,  2309,  2308,
++    2029,  2030,  2310,  2311,  2033,  2312,  2313,  2314,  2318,  2315,
++    2326,  2316,  2317,  2320,  2319,  2321,  2322,  2031,  2323,  2032,
++    2324,  2325,   184,  1965,   167,  1966,  1975,     0,  2378,  2377,
++     994,     0,  2509,  2510,   540,   819,     0,     0,   820,     0,
++     539,   818,   165,  2575,   120,     0,   536,   537,     0,     0,
++       0,  1693,     0,  1616,  1616,  1616,     0,     0,  1616,  1616,
++       0,  1619,  1616,   165,  1616,     0,    69,  1802,     0,     0,
++       0,     0,  1959,     0,  1626,     0,     0,  1852,  1866,     0,
++    1867,  1861,  2375,     0,  1106,     0,     0,     0,     0,   165,
++    1038,  1002,  1677,     0,   229,   238,   240,   241,   237,     0,
++    2510,  2521,  1073,  1079,  1091,  2330,  2327,  1779,   241,   983,
++     983,   983,   981,   983,  1701,  1698,     0,     0,     0,  1677,
++    1860,  2627,     0,     0,     0,  2623,     0,  2628,     0,  1081,
++       0,     0,     1,     5,     0,     0,  2108,  2212,  1792,  1790,
++    1954,     0,   864,   891,     0,   869,     0,   867,  1971,  1970,
++    1969,     0,   880,   879,   877,     0,   405,     0,   962,   963,
++     957,   959,   961,     0,  2584,   871,  1013,  2507,     0,   186,
++       0,    78,     0,  1017,  1020,     0,     0,  2513,     0,     0,
++       0,     0,   119,     0,     0,     0,   116,  1106,  1106,  2575,
++    2577,  2579,   540,   538,     0,     0,     0,  1697,  1696,  1695,
++       0,  1693,  2035,  1976,  2047,     0,  1927,     0,     0,     0,
++    1381,     0,  1981,     0,  2062,  2064,  1985,  1986,  1987,  1988,
++    1989,  1990,  1993,     0,     0,  1116,  1116,  1113,     0,     0,
++       0,  2085,  2086,  1936,     0,     0,     0,  1923,  1937,  2121,
++    2122,     0,  1925,  1926,  2128,     0,     0,     0,  2142,     0,
++    2147,  1934,     0,     0,  2179,  2181,     0,     0,  2185,  2186,
++    2187,  2188,  1909,  1171,     0,  1113,  1922,  1933,  2204,  1916,
++    2213,  2218,  2219,     0,  2228,     0,     0,     0,  2253,  2257,
++       0,     0,  2278,     0,     0,  1113,  1908,  2298,  2299,  2300,
++    2301,     0,  1924,  2028,  1935,     0,  2312,  1116,  1113,  1113,
++       0,     0,     0,  2321,  2325,     0,     0,     0,  2545,  1170,
++       0,  1343,     0,  1375,  1128,  1134,  1148,     0,  1163,  1197,
++    1198,  1200,  1298,  1199,  1205,  1204,  1593,  1920,  1203,  1202,
++    1921,  1196,  1944,  1965,  1943,     0,     0,     0,     0,     0,
++       0,     0,     0,  1775,     0,     0,  1603,  1616,    71,     0,
++    2423,  2438,  2439,  2435,  2440,  2458,  2441,  2445,     0,  2437,
++    2429,     0,  2444,     0,  2433,  2442,     0,  2427,     0,  2443,
++    2448,  2459,  2431,  2436,  2414,     0,  2421,  2425,  1956,  1487,
++    2390,  2391,     0,    77,  1628,  1629,  1627,   954,     0,  2640,
++    1853,  1854,  1855,     0,  1870,     0,  1033,     0,     0,   454,
++     445,     0,  1774,  1773,     0,  1846,  2522,     0,     0,     0,
++    1631,  1678,     0,  1630,  1841,     0,  1839,  1836,  1838,   230,
++       0,     0,   260,  2423,     0,  2408,     0,  2516,  2513,  2523,
++    2558,  2553,  2552,  2555,  2556,  1097,  2557,  1096,  2554,  2551,
++    1106,  1092,  1094,  1095,  2333,  1737,     0,   753,     0,  1758,
++    1787,  1738,     0,     0,  1787,     0,  1522,  1777,  1780,     0,
++    2342,  1751,   816,   815,  1761,   814,  2343,  1773,     0,  1725,
++    1739,     0,  1702,  1744,     0,  2344,     0,  1776,  1760,     0,
++    1759,  1522,  1787,     0,  1718,     0,     0,     0,     0,   236,
++     977,   987,   979,   974,     0,   980,   976,     0,  2641,  2642,
++    2388,   954,  1915,  1913,  1914,  1963,  2624,  1912,  2632,  2634,
++    2620,  2622,  2629,  1075,     0,  2527,     6,    63,     0,  1799,
++    2582,  2583,  2581,   769,     0,  1116,  1972,  2576,   168,   878,
++       0,   406,   168,     0,     0,     0,     0,     0,   407,   408,
++     344,   862,   960,   875,     0,     0,   874,  2584,     0,     0,
++    1048,  1050,  1049,  1066,   188,   185,   166,     0,   996,  1610,
++    1612,     0,  1021,  2512,     0,     0,  2514,  2518,  1169,  1168,
++       0,   113,   118,     0,     0,     0,  2484,   117,  2474,  2580,
++    1106,  1106,  1106,  2572,     0,  2560,  2567,  2568,  2571,  2570,
++    2569,  2566,     0,  2559,  2562,  2563,  2565,  2564,  2584,  2578,
++       0,   821,   821,   821,     0,  1680,  1683,  1687,  1691,  1694,
++       0,     0,  1492,  1218,  1492,  1492,  1492,  1382,     0,     0,
++       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
++       0,     0,  1492,     0,  1255,  1228,     0,  1256,     0,     0,
++       0,     0,     0,  1930,     0,     0,  2545,     0,     0,     0,
++    1348,     0,     0,     0,  2545,     0,     0,     0,     0,     0,
++       0,  1377,  1379,  1943,  1492,     0,     0,  1492,     0,     0,
++       0,     0,     0,  1121,  1261,     0,     0,     0,     0,     0,
++       0,     0,     0,     0,     0,     0,  1492,  1492,     0,     0,
++    1492,  1269,     0,  1932,     0,     0,     0,  1931,     0,     0,
++    1929,   750,   751,  1910,  1928,     0,  1272,  1274,  1273,     0,
++    1492,  1492,     0,     0,  1208,  1207,  1209,     0,     0,     0,
++       0,     0,     0,  1167,  1166,  1165,  1164,     0,     0,     0,
++       0,  1173,     0,  1175,  1177,  1172,  1174,  1176,     0,     0,
++       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
++       0,     0,     0,     0,     0,     0,     0,  1210,     0,     0,
++       0,  1911,  1307,     0,  1617,  1598,  1605,  1600,     0,  1775,
++    1601,  1609,   419,     0,  1606,  2472,  1602,     0,  1594,     0,
++      70,     0,  1824,  1829,     0,     0,     0,  1819,  1827,  1821,
++    1828,  1820,     0,     0,  1830,  1823,     0,  1822,  1826,  1825,
++    1803,  1807,  1811,  1804,  2424,  2422,  2456,  2455,  2460,     0,
++    2457,  2453,  2446,  2485,  2450,     0,  2485,  2452,  2451,  2485,
++    2447,  2454,  2485,  2419,     0,  1488,  1489,     0,  2389,     0,
++    1955,   955,     0,     0,  1856,  1857,     0,  1056,  1871,  1872,
++    1868,  1487,  2376,  2379,     0,   640,  1107,   455,     0,     0,
++     466,     0,     0,    66,    67,     0,  1040,     0,  1039,  1043,
++       0,  1000,  1003,     0,     0,  1634,  1624,  1633,  1842,  1843,
++       0,   228,   253,   248,   256,   250,   252,   251,   257,   258,
++     259,   254,   249,   255,   242,     0,  2422,     0,  2419,  2517,
++       0,  2519,  2536,  1080,  2524,  1103,  1082,  1102,     0,  1093,
++    2328,  2331,  2339,  1783,   752,     0,     0,  1750,     0,   540,
++       0,     0,     0,     0,     0,     0,  1719,     0,     0,   583,
++       0,  1743,  1523,  1781,  1782,  1787,     0,     0,  1787,     0,
++    1756,  1777,     0,  1787,  1714,     0,     0,  1706,  1711,  1707,
++       0,  1713,  1712,  1715,  1703,  1704,  1783,  1730,  1757,  1777,
++    1742,  1749,     0,  1729,  1736,     0,  1747,  1777,  1777,  1787,
++    1787,   990,   989,   988,   984,   985,   990,     0,  1699,  1416,
++       0,     0,  2621,  2635,  2619,  2630,  2631,  2618,  1076,  2528,
++    1074,  2529,     0,     7,     4,  1793,  1791,  1800,  1801,   770,
++     769,   531,   534,   533,     0,     0,  1974,     0,   870,     0,
++    1775,   868,     0,     0,  1775,   355,  1775,   409,   769,   882,
++       0,     0,   872,  1014,     0,     0,   443,  1066,  1052,  1068,
++       0,   189,   191,     0,     0,     0,     0,     0,     0,     0,
++       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
++       0,    79,    80,    96,   998,   997,     0,   995,  1031,  1029,
++    1028,  1026,     0,  1027,  1025,  1016,  1022,  1023,  2511,  2515,
++     541,   769,  1775,     0,   347,     0,     0,     0,     0,     0,
++     540,     0,     0,  2561,   105,   822,     0,     0,     0,  1685,
++    1613,  1681,  1615,  1954,     0,     0,     0,  1689,     0,     0,
++    1493,  1492,     0,  1357,     0,     0,     0,     0,  1383,     0,
++       0,     0,     0,     0,     0,     0,  1194,     0,     0,     0,
++       0,     0,     0,     0,  1328,     0,  1357,  1117,  1567,  1568,
++    1552,  1553,  1551,  1554,  1114,     0,  1555,  1566,  1285,     0,
++       0,     0,     0,     0,     0,  1463,  1464,  1465,  1466,  1474,
++    1467,  1468,  1469,  1476,  1481,  1470,  1471,  1477,  1478,  1479,
++    1472,  1480,  1475,  1473,  1482,     0,  1462,     0,  1485,  1483,
++    1486,  1484,     0,  1349,  1341,     0,     0,     0,     0,     0,
++       0,     0,     0,     0,     0,     0,     0,  1492,     0,     0,
++       0,  1492,     0,     0,     0,     0,     0,     0,     0,     0,
++       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
++       0,     0,     0,  1492,     0,     0,     0,     0,     0,     0,
++       0,     0,     0,     0,  1251,     0,  1946,  1945,     0,     0,
++       0,     0,  1212,     0,  1211,  1425,     0,  2530,  2546,     0,
++    2345,  1344,  1346,     0,  1119,  1118,  1120,  1131,  1124,  1129,
++    1122,  1126,     0,  1178,  2041,  1132,     0,     0,  1160,  2545,
++    1501,  1161,  1146,  1151,  1152,     0,  1149,  1150,     0,  1154,
++       0,  1153,  1157,  1158,  1159,  1162,     0,     0,     0,     0,
++    1201,  1206,  1376,  1106,  1947,     0,  1596,   419,   422,   421,
++    1607,   420,  1655,     0,   964,     0,     0,    72,    74,  1816,
++    1813,  1812,  1814,  1818,  1817,  1815,     0,  1831,  2449,     0,
++    2430,     0,  2434,  2428,  2432,     0,     0,  2420,     0,  2426,
++    1491,  2116,  2197,     0,  1494,  2393,  1621,  2639,  2312,  1858,
++    1851,     0,  1869,     0,     0,     0,  1034,   641,     0,  1106,
++     453,   452,   451,   450,     0,   468,   448,   456,    68,     0,
++       0,  1847,     0,     0,     0,     0,     0,  1004,  1632,     0,
++    1844,  1840,  1837,     0,     0,     0,     0,     0,     0,     0,
++    2520,  2538,  2537,  2525,  1106,  1513,  1107,  1107,  1943,  2333,
++    2336,  2337,  2340,  2338,     0,  2335,  2334,  2349,     0,  1785,
++    1788,  1789,     0,     0,  1769,  1763,  1762,  1754,  1764,  1755,
++    1772,  1771,  1770,  1727,  1726,  1535,  1536,  2251,  1534,  1526,
++    1529,  1533,  1532,  1722,  1778,  1768,  1766,  1752,  1787,  1767,
++    1765,  1708,  1709,  1710,     0,  1522,     0,  1785,  1787,  1777,
++       0,  1787,  1787,  1746,  1748,     0,   978,   987,   975,   982,
++    1434,  1433,     0,  1390,     0,  1392,  1389,  1388,  1387,     0,
++    1433,  2625,  2633,  2637,     0,  1522,  2535,  2533,   532,  1655,
++    1655,     0,  1973,     0,     0,     0,     0,     0,     0,     0,
++     169,   178,     0,     0,   353,   354,  1655,   352,   395,   396,
++     399,   400,   401,     0,     0,     0,     0,     0,     0,     0,
++       0,   122,   402,  1655,  1655,   349,   375,   376,   379,   380,
++     381,   382,   383,   345,     0,   350,   952,   952,     0,  1655,
++    1655,   952,  1655,     0,     0,  1655,  1655,     0,     0,  1655,
++       0,     0,   952,     0,  1655,   950,     0,     0,  1655,  1655,
++    1655,  1655,   952,     0,     0,  1655,  1655,   443,  1655,     0,
++       0,   970,     0,     0,  1655,     0,     0,  1655,  1655,     0,
++    1655,   898,   949,   544,   565,   566,   863,   897,   899,   911,
++     439,     0,   928,   951,     0,     0,   884,   886,  2585,  2586,
++    2587,  1055,  1047,  1054,  1051,  1066,  1064,  1053,   811,   810,
++       0,  1067,   187,     0,     0,     0,     0,     0,     0,     0,
++       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
++       0,     0,     0,  1611,     0,  1018,  1030,  1024,   114,   769,
++    1655,  1655,  1655,  1655,   351,   384,   385,   388,   389,   390,
++     391,   394,   392,   393,     0,     0,  1775,     0,  2476,  2477,
++       0,  2475,     0,  2613,     0,     0,     0,   167,   542,     0,
++       0,   823,     0,     0,     0,     0,     0,  1494,     0,  1957,
++    1688,  1416,  1692,  1691,     0,  1281,     0,  1321,     0,  1323,
++    1324,  1325,     0,     0,     0,     0,     0,  1282,     0,  1226,
++    1283,  1284,     0,     0,  1279,     0,     0,     0,     0,  1278,
++       0,     0,     0,     0,  1327,     0,  1115,     0,     0,  1229,
++    1230,  1223,  1215,     0,  1300,     0,     0,  1231,     0,     0,
++       0,     0,  1287,     0,  1301,  1378,     0,  1380,  1947,     0,
++    1333,  1288,  1236,     0,  1331,     0,  1237,  1302,  1303,  1304,
++    1290,  1291,     0,  1306,     0,  1292,     0,     0,     0,     0,
++    1239,  1337,  1335,     0,     0,     0,     0,  1339,  1241,     0,
++       0,     0,  1240,     0,     0,     0,     0,     0,     0,     0,
++    1243,     0,  1224,  1336,  1338,  1296,     0,  1252,     0,  2539,
++    1424,  2547,  1425,     0,     0,  2541,  2531,  2536,  2544,  1216,
++       0,     0,     0,     0,     0,  1948,  1125,  1130,  1123,  1127,
++    2545,     0,     0,     0,     0,  1144,  1143,     0,     0,     0,
++    2545,  1501,  1147,     0,     0,  1317,  1318,  1373,     0,  1599,
++    1597,  1608,  1654,  1653,  1656,     0,  2473,   966,   965,  1604,
++     964,    75,     0,  1810,  1832,  1805,  2489,     0,  2488,     0,
++    2468,  2471,  1954,     0,     0,     0,  2397,  2404,  2400,  2405,
++    2398,  2399,  2403,  2406,  2407,  2394,  2401,  1495,  1524,     0,
++    1859,  1057,  1059,  1060,  1058,  1066,     0,     0,  2382,  2383,
++    2381,  2380,   458,     0,   467,     0,   479,     0,     0,     0,
++    1849,  1848,     0,  1041,  1044,  1045,  1011,  1009,  1008,  1010,
++     999,  1005,  1006,   524,  1638,     0,     0,     0,  1644,  1625,
++    1635,     0,  2085,  2298,  2301,   243,   246,   245,   247,     0,
++       0,     0,     0,     0,     0,  1101,  1416,  1585,  1098,  1086,
++    1524,  1514,  1085,  1108,  1104,     0,  2332,     0,  2295,  2360,
++       0,     0,     0,     0,     0,  2350,  1784,     0,  1731,     0,
++    1753,     0,     0,     0,     0,  1724,     0,  1745,  1705,  1733,
++    1723,  1494,  1777,  1720,  1721,   992,   991,   986,  1433,  1416,
++       0,     0,  1413,  1435,     0,  1435,  1416,  1416,     0,  1416,
++    1487,  1430,     0,     0,  2636,  1515,  2534,     0,     0,   866,
++     172,   175,   173,     0,   174,     0,     0,   404,   403,     0,
++    1775,   397,   126,   125,   127,   128,  1549,  1550,  1546,  1547,
++    1545,  1548,   130,   129,   124,   881,     0,     0,     0,  1775,
++     377,   356,   357,   360,   361,   362,   953,   856,  1035,   932,
++       0,   621,   856,   807,   812,   812,   930,     0,  1035,     0,
++       0,     0,     0,     0,  1035,     0,     0,     0,  1655,     0,
++     943,   893,     0,     0,     0,     0,     0,   944,     0,   894,
++    1655,     0,     0,     0,     0,     0,  1035,     0,     0,     0,
++     441,     0,  1035,   912,   973,   971,   972,     0,  1035,  1035,
++       0,   571,   572,   570,     0,     0,     0,   563,   545,   769,
++     895,   440,   896,   620,     0,   967,   617,   623,  1950,     0,
++       0,     0,     0,   136,  2589,     0,  1454,   190,    97,    86,
++      82,   101,  1559,  1560,  1558,  1556,  1557,   102,    84,    85,
++      89,    88,    90,    91,    92,    87,    93,    83,    94,   103,
++     104,    81,  1032,     0,     0,     0,     0,  1775,   386,     0,
++       0,  1655,   346,   363,   364,   367,   368,   369,   370,   371,
++     374,   372,   373,     0,  2480,  2482,     0,     0,   340,   339,
++       0,   131,  2607,     0,     0,   620,   106,   439,   543,   546,
++     849,   851,   850,   837,   836,   107,   109,   111,  1614,  1691,
++    1416,  1513,  1955,  1494,     0,  1690,     0,     0,  1322,  1358,
++       0,  1384,     0,  1220,   724,   724,   724,  1367,   709,  1371,
++    1362,   724,  1363,   724,  1365,     0,   755,     0,   754,     0,
++    1180,  1195,     0,     0,     0,     0,     0,     0,  1329,  1326,
++       0,     0,     0,     0,  1352,     0,     0,     0,  1225,     0,
++    1312,  1334,  1332,     0,     0,     0,     0,     0,     0,     0,
++       0,     0,     0,     0,  1340,     0,     0,     0,     0,     0,
++       0,     0,     0,     0,     0,     0,     0,  1213,  1106,  2548,
++    2550,  1077,     0,  2540,  2542,  2346,  2347,  2348,   858,  1345,
++       0,  1141,  1137,     0,  1135,  1500,  1156,  1155,     0,     0,
++       0,  1145,  1107,  1308,  1106,     0,  1374,  1949,   418,   582,
++    1595,    73,  1808,  2486,     0,  2497,     0,     0,     0,     0,
++       0,     0,     0,  2392,  1525,  1665,     0,  1066,  1070,  1964,
++    1862,  2385,  2386,  2384,     0,   459,   460,   462,  1107,   476,
++     454,     0,   446,   449,     0,   458,     0,     0,  1001,  1007,
++    1091,     0,  1657,  1642,  1649,  1643,     0,     0,     0,  1641,
++    1939,  1938,  1945,  2523,     0,     0,  2413,     0,     0,     0,
++    2526,  1494,  1494,  1579,     0,     0,  1083,  1088,  1084,  1087,
++       0,  1105,  1112,  1111,  1940,  1947,     0,     0,     0,     0,
++     757,   756,   765,     0,     0,     0,  2345,     0,   761,   763,
++     762,  2355,   760,  1786,  1522,  1741,  1740,  1537,  1528,     0,
++    1531,  1530,  1716,  1522,  1735,  1787,     0,     0,  2530,  1428,
++       0,  1415,  1414,  1436,     0,  1416,  1435,  1435,     0,  1395,
++    1394,  1669,  1672,     0,  1393,  1452,  1418,  1091,  2626,  2638,
++       0,   768,   767,   581,   764,   580,   177,   176,   182,   183,
++    1563,  1564,  1561,  1562,   410,   423,  1565,   424,   398,   123,
++     411,   412,   378,     0,   358,   622,   857,   915,     0,     0,
++       0,   812,   616,   856,   821,   813,   856,   856,     0,     0,
++     555,   552,   934,   558,   913,   905,   914,   925,   927,     0,
++     554,   573,     0,     0,   561,   856,   900,   941,   942,   964,
++     549,     0,   592,   593,   591,   567,   574,   550,   551,   936,
++       0,  1509,  1511,  1519,   557,   556,  1570,  1569,   560,     0,
++     553,     0,   947,   920,     0,   589,   587,   584,   586,   585,
++     590,   588,   562,   559,   575,   910,     0,   952,   952,   929,
++       0,   600,   601,   603,   604,  1953,     0,   969,   931,     0,
++     605,   618,   606,     0,     0,   579,   578,   576,   577,     0,
++     146,     0,     0,   883,     0,   139,   137,   148,     0,     0,
++       0,  1457,     0,  1458,  1455,  1456,     0,    98,   100,   417,
++     416,   415,   414,   387,     0,     0,     0,  1775,   365,  2481,
++    2479,  2478,     0,     0,  2614,   343,   341,   342,     0,     0,
++     192,   598,   599,   597,   596,     0,   427,     0,  2011,   425,
++       0,   438,     0,  1873,   769,   547,     0,     0,     0,     0,
++    1494,  1538,  1958,  1684,     0,  1253,  1385,     0,     0,   725,
++    1359,   777,  1369,     0,  1370,   711,   710,   726,  1361,  1364,
++    1368,  1366,  1219,  1227,  1275,     0,  1193,  1276,  1277,     0,
++    1299,  1222,  1221,     0,     0,     0,  1259,  1260,     0,  1350,
++       0,     0,  1233,     0,  1235,     0,     0,  1314,  1289,  1305,
++    1262,  1293,     0,  1238,  1214,     0,  1263,     0,  1268,  1266,
++       0,  1242,     0,     0,  1249,     0,  1247,     0,  1248,     0,
++    1250,  1295,  1297,  1426,  2549,  1078,     0,     0,  1347,  1133,
++       0,  1142,  1139,     0,  1136,  1108,  1319,  1309,     0,  1806,
++    2487,     0,  2418,  2470,  2469,  2490,  2490,  2490,     0,  1496,
++       0,  1622,  1061,  1066,  1070,     0,  1062,  1873,   463,     0,
++       0,     0,   483,     0,   481,   457,     0,  1042,  1012,  1106,
++    1639,  1651,     0,  1659,     0,     0,  1636,  1646,     0,     0,
++       0,  1645,   244,     0,  2410,  2411,  2409,  1524,  1502,     0,
++       0,  1591,     0,  1586,  1099,     0,  1110,  1109,     0,  2362,
++       0,  2361,  2373,  2374,  2371,  2372,  2370,  2351,     0,  2357,
++    2356,     0,     0,     0,  2367,  2358,     0,     0,  1732,  1527,
++    1734,  1728,   993,  2536,  1487,  1420,  1416,  1391,  1416,  1402,
++       0,     0,  1416,  1398,  1396,  1400,     0,  1494,     0,  1417,
++    1449,  1106,  1942,  1516,  1519,   359,   917,     0,   856,   808,
++     809,   821,     0,   821,   821,     0,     0,   904,     0,  1021,
++       0,   909,   765,   568,   940,   939,   569,     0,   902,     0,
++    1520,  1521,  1512,   442,   901,   922,   907,  1831,   933,   620,
++     968,   789,   705,   654,   645,   724,   648,   647,   691,   724,
++     659,   709,   707,   677,   709,   709,   684,   683,   701,   687,
++     667,   777,   777,   666,   704,   777,   688,   686,   690,     0,
++     692,   709,   697,   685,   689,   706,   682,   679,   703,   724,
++     724,   724,   663,   702,   777,     0,   695,   724,   624,   728,
++     665,   777,   784,     0,     0,   724,   726,  1952,   147,   135,
++       0,     0,   885,   887,     0,     0,   888,  2591,     0,  2593,
++       0,  1069,     0,    95,     0,     0,   348,   413,   366,  2483,
++       0,   203,  1106,     0,     0,   193,   195,   196,     0,     0,
++       0,   429,  1875,  1874,   426,   527,   548,     0,     0,     0,
++    1691,  1686,     0,  1682,     0,  1386,     0,     0,     0,     0,
++     771,   782,   780,   774,     0,   778,   779,  1360,     0,     0,
++     727,  1372,   724,  1190,   709,  1184,  1186,  1182,     0,   692,
++    1185,   724,     0,   777,  1189,  1181,     0,  1330,     0,     0,
++    1353,     0,     0,     0,     0,     0,     0,     0,  1217,     0,
++    1310,     0,     0,     0,     0,     0,     0,  1246,  1244,  1245,
++    1524,  2530,   859,  1138,     0,  1320,     0,     0,     0,  2495,
++    2495,  2495,  1664,  1663,     0,  1662,  1666,  1063,  1071,     0,
++     461,   464,     0,   456,     0,   480,     0,   447,   525,     0,
++       0,     0,  1660,  1648,  2527,  1637,  1640,  1947,  2412,  1090,
++       0,  1497,  1590,  1587,     0,  1580,  1582,  1584,     0,  1941,
++       0,     0,  2366,  2352,   766,     0,     0,     0,     0,  2353,
++    1421,  1419,  1429,     0,  1387,  1416,  1416,     0,  1387,     0,
++       0,     0,  1671,  1513,  1673,  1453,     0,  1431,     0,  1518,
++       0,     0,   916,     0,     0,     0,     0,     0,     0,   946,
++       0,   967,   906,   926,   948,   937,  1035,  1510,   921,   923,
++    1004,     0,   602,     0,   793,   653,   646,   664,   662,   713,
++     708,     0,   713,   713,   673,   691,   668,     0,   777,   681,
++     672,   693,   696,   698,   700,   713,     0,   777,   661,   660,
++     670,   657,   713,   736,     0,     0,     0,     0,   732,     0,
++     787,     0,   739,     0,   625,   729,   731,     0,     0,     0,
++     694,   777,   650,   785,   784,   652,   777,   784,   713,   713,
++       0,   133,   138,   149,   150,   876,  2590,     0,  2588,     0,
++    1065,  1459,    99,     0,     0,   206,   204,   205,     0,   199,
++     201,   196,  2601,     0,  2608,     0,     0,  2606,   428,   431,
++     542,   528,     0,     0,  1519,   854,     0,     0,  2251,  1539,
++    1254,   722,   720,   723,   721,   773,   772,   776,     0,   775,
++     784,     0,     0,  1192,  1187,   693,  1191,  1183,  1188,  1280,
++    1257,  1258,     0,  1351,  1342,  1286,     0,  1234,  1311,     0,
++       0,  1294,  1264,  1267,  1265,  1270,  1271,  1098,  1098,   594,
++    2543,  1140,  1833,  2498,     0,     0,  2494,  2492,     0,  2493,
++    2491,  2461,     0,  2416,  2417,  2415,  2402,     0,     0,     0,
++    1106,   469,     0,   486,   485,   482,  1524,  1650,  1652,  1658,
++    1647,     0,  1498,  1513,   758,  1583,     0,  1100,  2364,  2363,
++    2365,  2359,     0,     0,     0,     0,  1403,     0,  1407,  1412,
++    1408,     0,  1399,  1397,     0,  1538,  1441,  1442,     0,     0,
++    1447,  1451,  1524,  1519,   919,     0,   619,     0,     0,     0,
++       0,     0,     0,     0,     0,     0,     0,   945,  1917,   935,
++     967,   903,     0,   908,   564,     0,   792,     0,   797,   717,
++     718,   719,   674,   714,   716,     0,   676,   644,   669,   699,
++     675,     0,   671,   658,   742,   741,  1116,   734,   749,   629,
++       0,     0,   740,   626,   730,   738,   733,     0,   649,   651,
++     655,   656,   642,   643,  1951,   140,   889,   280,  2592,  1081,
++       0,  2597,   121,  2605,  2615,   203,     0,     0,   144,     0,
++     194,   765,   197,  2527,   439,     0,   434,   824,     0,   853,
++       0,   826,   828,  1540,     0,   783,   781,     0,  1354,  1519,
++       0,  1313,  1315,  1427,   595,     0,  1809,  2467,  2466,  2465,
++    2462,     0,     0,     0,     0,     0,     0,  2496,  2500,  1661,
++       0,     0,     0,   477,     0,     0,   511,   526,  1506,  1519,
++       0,  1524,     0,  1588,  1581,  2369,  2368,  2354,  1422,     0,
++       0,     0,     0,     0,  1460,  1670,  1437,  1437,  1448,  1432,
++    1517,   918,     0,     0,   607,     0,     0,  1919,  1918,   938,
++       0,   790,     0,   794,   795,   796,     0,   788,   715,     0,
++     860,     0,   748,  1116,   737,     0,   746,   745,   743,   744,
++       0,   142,   306,     0,   292,   278,     0,     0,     0,   282,
++     151,   154,   152,     0,   153,   159,     0,   160,   161,   162,
++     163,   164,   155,   304,   305,   158,   156,   157,     0,  1967,
++       0,  1968,  2595,     0,     0,  2594,   170,   200,     0,     0,
++     136,   145,  2609,   747,   432,  1873,     0,  2523,     0,  1655,
++     108,   825,   845,   844,   830,     0,  1519,     0,     0,   110,
++     827,   847,   834,   112,   829,   846,   832,  1541,   712,     0,
++    1356,  1232,     0,  2463,  2501,  2504,  2502,  2503,  1542,     0,
++    2505,  2499,     0,  1863,  1107,     0,   470,     0,   473,   475,
++     489,     0,  1655,  1655,     0,     0,  1655,  1655,  1655,  1655,
++     504,   512,   514,     0,  1507,  1508,     0,  1503,  1505,  1499,
++    1571,   759,  1876,  2530,  1404,     0,  1409,     0,  1401,     0,
++       0,  1445,  1443,     0,   613,   824,   609,   611,     0,   791,
++       0,     0,   777,     0,   777,   735,  1106,   141,     0,   134,
++       0,     0,   291,   294,     0,     0,   297,   287,   286,   288,
++       0,   281,   280,   280,   334,   285,   331,   330,   323,  2527,
++       0,     0,     0,  2616,   202,  1106,   148,     0,   430,   436,
++     435,   839,     0,   831,     0,   852,   855,     0,   835,   833,
++    1519,  1834,  1544,  1543,  1667,  1675,     0,   758,     0,   478,
++     471,     0,     0,   487,     0,     0,  1655,  1655,     0,     0,
++       0,     0,     0,   484,   513,  1655,  1519,     0,  1089,     0,
++    1884,  1423,     0,     0,  1461,     0,  1438,     0,     0,     0,
++     615,   824,   608,   826,   828,     0,   803,     0,   802,     0,
++     799,   798,   678,   861,   680,     0,   143,   307,   318,   321,
++     313,   293,     0,     0,     0,   283,   280,     0,   267,   265,
++     266,   272,   273,   274,   275,   276,   277,   268,   271,   269,
++     270,   280,     0,   211,     0,     0,  2596,     0,  2598,     0,
++     180,   179,   171,     0,   280,  2602,     0,  2610,  2527,   838,
++     843,   842,   840,   841,   848,  1355,     0,     0,  1864,   465,
++     477,   474,   497,   490,   493,     0,   523,   517,     0,     0,
++     519,   520,   518,   515,   508,     0,   506,     0,  1504,  1572,
++       0,     0,     0,     0,  1877,  1879,     0,  1589,  1406,  1411,
++    1440,  1439,  1454,     0,   614,   610,   612,   924,   805,   806,
++     804,     0,     0,   630,     0,     0,   280,   314,     0,   289,
++       0,     0,     0,     0,   209,   337,     0,   207,   325,   325,
++    2599,  2600,   181,  2617,     0,   150,   170,   437,  1674,  1676,
++    1890,   472,   497,     0,   495,     0,   491,   488,   492,   521,
++     522,     0,   505,     0,   516,     0,     0,     0,     0,     0,
++    1878,     0,     0,  1885,  1887,     0,     0,     0,     0,   632,
++     631,   633,   315,   321,   311,   319,   280,     0,     0,   279,
++     298,   333,   210,     0,   335,     0,   280,     0,   324,   326,
++     328,     0,   132,  2611,     0,  1876,   494,     0,   502,   498,
++     500,   503,   511,   510,   507,  1106,  1882,  1883,     0,  1880,
++       0,     0,  1886,  1446,  1444,   801,   800,     0,   637,   627,
++     634,   636,     0,   312,     0,     0,   310,   290,   295,   280,
++       0,   280,   222,   221,     0,   213,   261,   332,     0,   212,
++    2603,   280,     0,  1884,   496,     0,     0,   509,     0,     0,
++    1575,  1577,  1881,  1889,  1888,   639,   638,   635,   316,     0,
++     280,     0,   280,     0,   280,     0,     0,     0,     0,     0,
++     208,   280,  2612,     0,  1892,   501,   499,  1107,  1573,  1106,
++       0,   308,   280,   296,   301,   338,     0,   216,   262,   263,
++       0,   219,  2604,  1891,     0,  1896,  1578,  1576,   280,   280,
++     297,   300,   336,     0,     0,   214,   215,   227,   226,   218,
++       0,     0,     0,  1903,   280,   280,   302,   235,   233,   280,
++     223,   231,   225,     0,   232,   264,   220,  1894,  1895,  1893,
++    1898,     0,     0,  1900,  1901,     0,  1865,     0,   217,   234,
++    1902,  1897,     0,  1904,  1906,     0,   224,  1899,     0,  1106,
++    1905,     0,  1107,  1907
++};
++
++  /* YYPGOTO[NTERM-NUM].  */
++static const yytype_int16 yypgoto[] =
++{
++   -3798, -3798, -3798, -3798, -3798,    71, -3798, -3798, -3798, -3798,
++   -3798, -3798, -3798, -3798,  1713, -3798, -3798, -3798, -3798, -3798,
++    1920, -3798,   653, -1794, -3798, -3798, -3798, -3798, -3798, -3798,
++   -3798, -3798,   651,  1542,  3332, -3798,   388, -3798,    55, -3798,
++   -3798, -3798, -2866,   -69,  -259, -3798, -3798,   344,    17,  3000,
++    -258, -3797, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798,
++   -3798,   398,   395, -3798, -3798,   206, -3798, -3798, -1120, -3798,
++   -3798, -3798, -3798, -3798, -3798, -3798, -3798,  -454,  -406,  1852,
++   -3798, -3798, -3798,  3959, -3798,  3428, -3798,  1236,  2184, -3798,
++   -3798, -3798,  -413,   225, -3798,   227, -3798,   228, -3798,   229,
++   -3798,   230,   233,   237,   238, -3798,   240, -3798, -3798,  -412,
++   -3798, -3798, -3798, -3798,   242, -3798, -3798, -3798, -3798, -3798,
++   -3798, -3798,  -263, -3798, -3798,  -108, -3798, -3798,  -261,   246,
++   -3798,  -214,   249, -3798,   250, -3798,  -127, -3798,  -124, -3798,
++   -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798,
++   -3798,  3001, -3798, -3798, -3798, -2217, -3798, -3798, -2123,  2566,
++   -3798, -1678, -3798, -3798, -1785, -3798, -3798, -1623,  1024, -3798,
++   -3798,  -130,  -351, -3798, -1385, -1892, -1885, -3798, -3798, -3798,
++   -1981, -1980,  -781,  2296, -1184, -2208, -3798, -3798, -3798, -3798,
++     103, -3798, -3798, -2534,  2025,  2569, -3798,  2560, -3798, -3798,
++    1122, -3798, -3798,  1303,   611,  1300, -3798,   918,  2745, -1242,
++   -3798, -3798, -3798, -3798, -3798, -3798,   -33,   217,  -129, -3798,
++   -3326,   617, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798,
++   -2613, -3798, -3798, -3798,  -300, -3798, -3798,  -207, -3798, -3798,
++    -255, -3798,    68, -2282, -3798, -3798, -3798, -3798,  2539, -1310,
++   -3798,  3554, -3798,  -558,   463,  2061, -2387, -1402, -3798,  -928,
++    -909, -2442, -3798, -3798, -3798, -3325,  1072,  1486, -3798,   819,
++    2066, -1886, -3798, -3798, -3798, -3798, -3798,  1553, -3798, -3798,
++     844, -3798,   836, -3798, -3798, -3798, -3798, -3798,  -251, -3798,
++      54, -2720, -3798, -3798, -3798, -1896,  1038,   812, -3798, -3798,
++   -3798,  -936, -2079,  -585, -3798,   338, -2519, -2402,   781, -3798,
++   -3798,   535, -3692, -3798, -3798,  -572, -2071, -2356,    15, -3798,
++   -3798,   554, -3082,   923, -3798, -3798, -3798, -3096, -1849, -3798,
++      86, -3798, -3798, -3798, -3798, -3779, -3798, -3798, -1461, -2240,
++   -3798, -3798,  4099,  4101, -1038, -2631, -3708,    -9,    -8, -3798,
++   -3798, -3798,  2578, -1571,   177,   160,   169,  2032, -1145,   323,
++   -2270, -3798,   373, -3798, -3798, -3798, -3798, -3798, -3798, -3798,
++   -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798,  2115,
++    -815, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -2373,   896,
++   -3798, -3798,  1618, -3798, -3798, -3798, -1838,  3167, -3798, -3798,
++   -3798, -3798,  3508, -2143, -3230, -3798, -3798, -3798, -3798, -3798,
++   -3798,  1265, -3798, -3798,  2243,  2706, -3798, -3798, -3798, -3798,
++   -3798, -3798, -3798, -3798,   621,  1813, -3798, -3798, -3798, -3798,
++   -3798, -3798, -3798, -3798, -3798,   904,  2622, -3798, -3798, -3798,
++   -3798,    25, -3798, -3798, -3798, -3798,  2332, -3798, -3798, -3798,
++   -3798,  2663, -3798, -3798, -3798, -3798, -3798, -3798,  1415, -3798,
++    1847, -3798, -1435, -3798, -3798,  1019,  -984,  1800,  -592,  1934,
++     366, -3798,  3557, -3798, -3798, -3798, -1625, -2453, -3798,  3247,
++   -1047, -2495,  2326,  -537, -1818,  1044,  1663,  -689,  3995, -3798,
++   -1149, -1127, -3798, -3798,  -647, -3798, -3798, -3798, -3798, -3798,
++    2026,  2035,  -651, -3798, -3798, -3798, -3798, -3798, -3798, -3798,
++   -3798, -3798, -3798, -3798,  1449, -3798, -3798, -3798, -3798, -1725,
++   -3798, -3798, -3798, -3798, -3798, -3798, -3798,  1924, -3798, -2040,
++   -3798, -3798,  -473, -3798,  3035, -3798, -3798, -3798, -2291, -1900,
++    1757,   963, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798,
++   -3798, -2333, -3798, -3798, -3798, -3798, -3798,  1946, -3798, -3798,
++   -3798, -3798, -3798, -3798, -3798, -1621, -3798, -1840,   303, -3798,
++     451, -3798, -3798, -3798, -3798, -3798, -3798, -3798,   -49,   843,
++     -47, -2067, -1100,  1676, -3798, -3798, -1273,  3075, -1984, -3798,
++   -3798, -3798,  1927, -3798, -3798, -3798, -3798, -3798,   930, -2544,
++    2731, -3798, -3798, -3121,  -907, -2238,  -895, -3798, -1348,  1363,
++     466, -3798, -1908, -1777, -2050, -2482, -1095, -3798,  1673, -3798,
++   -3798, -3798, -3798,  -212, -3798, -3798, -3798,   494,  1836, -3798,
++   -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798,  -571,
++    -748, -3798,  2091,  1103, -3798, -3798, -3798, -3798, -3798, -3798,
++   -3798, -3798, -3798,  2896,  2865,  1901, -3798, -3798, -2248, -3798,
++   -3798,  1867, -3798,   755, -1994, -1808,  1051, -3798, -3798,  1053,
++   -3165, -3798, -3798, -3798, -3798, -3798, -3798,   994, -3798,    26,
++    3624, -3798, -3798, -3798, -3798, -3798, -3798, -3798,  2660, -1058,
++    3544, -3798, -3798, -3798, -3798, -3798, -3798,  2333, -3798, -3798,
++   -3798, -3798, -3798, -3798,  2832,  3641,  -575, -1224, -3798,  -774,
++    2805,  2335,  -746, -3798, -3798, -3798, -3798, -3798, -3798, -3798,
++   -3798, -3798, -3798, -3798, -3798, -3798,  2457,   968, -3798, -3798,
++   -3798, -3798,  2889, -3798, -3798, -3798, -3798, -3798, -3798, -3798,
++   -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798,
++   -3798, -3798, -3798,  1090,   -87, -3798,    16,  -132, -3798,   -50,
++   -3798, -3798, -3798, -3798, -3798,  -228, -3798, -3798,  -233,  -691,
++    -986, -1353,   682, -1781, -2009,  1078,  2874, -3276,  -693, -1158,
++   -1173, -1890,    59, -3798, -3798,  3343,    10,   384,  -320,    -6,
++   -2732,  -109,  -573, -3798, -1752, -3798, -3798, -3798, -3798,  2401,
++   -3798, -3798, -3798, -3798,  1435, -3798, -3798, -3798,  1047, -3798,
++     769,   541, -3798, -3798,   179, -3798,  2454, -3798, -3798, -3798,
++   -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798,
++   -3798,  2893,  3679,  3359, -3798,  2960, -3798, -3798, -3798, -3798,
++   -3798,   422, -3798,   645, -2236, -1659, -3798, -3798,  2720,   851,
++   -3798,  1535,  -252,  -545, -3798, -3798,   420, -3798, -3798,   289,
++    3691,  3362, -3798, -3798, -3798, -3798, -3798, -2709,  -890, -3798,
++   -3324, -2760, -1685, -3798, -3798, -2127, -2971, -3798, -3798, -1041,
++   -3798, -3798, -3798, -3798, -2016, -3798, -3798, -3798,    66,  3751,
++    3753, -3798, -3798,  -215, -3798,   678, -3798, -3798, -3798, -3798,
++   -3798, -3798, -3798,  3604, -3798, -3798, -3798, -3798,  3609, -3798,
++   -3798, -3798, -3798, -3798,  3610, -3798, -3798, -3798, -3798, -3798,
++    1840, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798
++};
++
++  /* YYDEFGOTO[NTERM-NUM].  */
++static const yytype_int16 yydefgoto[] =
++{
++      -1,    58,   604,  1454,    59,    60,    61,    62,    63,  1323,
++      64,   818,  1250,  1757,  1758,    65,   543,    66,  1027,  1511,
++    1512,  2986,  2987,  1513,    67,  2098,  3026,  3027,  3028,  1531,
++     513,   514,  1950,  1951,  1053,  3009,  2973,  3785,  2977,  3901,
++    4039,  3940,  2026,  3326,  3786,  3787,  3910,   538,  2096,  1468,
++    4063,  1930,  4172,  1931,    68,   639,  1025,  1490,  1491,  3344,
++    3345,  3606,  3346,  3598,  3599,  3600,  3601,  4306,  4146,  4247,
++    4307,  4387,  4423,  4429,  4430,  4354,  4439,  4440,  4441,  4427,
++     890,  4442,    69,   566,   567,   892,  1354,  2345,  1355,    70,
++    4355,  4425,  4147,  4148,  4046,  4149,  3913,  4150,  4050,  4151,
++    3916,  4152,  4153,  4154,  4155,  4298,  4156,  4045,  4347,  4143,
++    4144,  4349,  4404,  4421,  4157,  3923,  4040,  4234,  3924,  4041,
++    4293,  4139,  4294,  4342,  4400,  4140,  4235,  4345,  4238,  4158,
++    4164,  4308,  4159,  4165,  4160,  3928,  4057,  4163,  4055,  4162,
++    4351,  4303,  2590,  3008,   622,   623,   652,  2086,   624,  1042,
++     999,  1470,  1963,  1964,  2451,  2452,  2572,  2573,  2574,  1955,
++    1956,  1957,  2074,  2075,  2076,  1937,  1938,  1939,  1474,  1934,
++    1935,   625,  1000,  1010,  1958,  1959,  1960,  2578,  2078,  2079,
++    2080,  2081,  1961,  1750,  1962,  2864,  2596,  3019,  3610,  3803,
++    3354,  3947,  4178,  3020,  3021,  2521,  2929,  2500,    71,   555,
++     870,  1320,  2317,  1321,  2319,  2744,  2745,  2746,  1800,  1801,
++    3681,  1805,  2316,  3843,  4190,  3987,  3988,  2748,  3986,  2752,
++    3143,  3144,  3444,  3683,  3846,  4195,  4092,  4267,  4193,  4263,
++    4194,  4265,  4366,  4319,  4320,  4103,  4205,  4206,  4271,  4322,
++    4000,  4001,  4002,  2338,  2760,  3686,  3612,  2068,  1460,  1461,
++     515,   516,   517,   649,  2597,  2012,  2598,  2599,  2946,  2014,
++    2015,  2718,  1388,  2942,  2915,  3657,  3015,  2950,  2951,  2952,
++    2953,  2954,  4025,  4123,  4124,  4121,  2960,  2882,  2460,  2461,
++    2526,  2963,  3308,  3895,  3563,  4291,  4339,  4340,  4341,    72,
++     867,  3801,  3531,  3546,  3310,  3311,  3312,  3313,  3314,  3315,
++    3316,  3044,  3045,  3752,  3753,  3754,  3039,  3040,  3381,  3564,
++    3565,  3566,  3802,  3767,  1174,  3374,  2801,  2802,  3853,  2810,
++    2811,  2852,  3189,  2853,  1464,  3375,  3376,  3377,  3575,  3567,
++    2962,  3524,  3745,  3748,  3887,  4130,  2462,  2883,  2463,  2886,
++     953,   518,  2464,  2465,  1545,  1546,  3950,  3959,  3963,  3951,
++    3964,  3960,  3952,  3953,  3954,  3966,  3962,  2603,  3613,  3614,
++    2875,  3108,  3889,    73,  1478,   993,  1002,   998,  1017,   634,
++    1479,  2027,  2533,  3585,   612,  2016,  3516,  3239,  3520,  2017,
++    2895,  2018,  3226,  3502,  2019,  3255,  3518,  3742,  2896,  2897,
++    2020,  2021,  2022,  3238,  3247,  3740,  2466,  1302,   126,   127,
++     630,   631,   632,  2269,  2958,  2507,    74,  1436,  1431,    75,
++     965,   960,   961,  1434,  1435,  1896,  2396,    76,   642,  1517,
++    1332,  1816,    77,   879,  2330,  2331,  2332,  2758,    78,  1018,
++      79,   644,  1031,    80,   501,  1525,  1526,  1527,  2065,    81,
++    1314,   134,    82,   878,  1326,  1328,  1329,    83,   638,  1019,
++    1020,  1021,  1022,  2032,    84,  1791,  2301,  2302,  2303,  2304,
++    1487,  2535,  1488,  1489,  2041,  3136,    85,    86,   601,  2224,
++     572,   899,   573,   574,  1835,  2358,  3658,   910,   911,   912,
++    2786,  1366,  1367,  1368,  1797,  2791,  1107,  1104,   783,   784,
++     785,   786,  1198,  1199,  3568,   787,  1208,  1716,  3056,  3395,
++    1576,  1577,   788,   789,   790,   791,   792,   793,  1743,  3076,
++    3077,  3410,  2254,  2255,  2256,   794,  2143,  3063,  2156,   795,
++    1191,  1701,  1634,  3402,  3069,  3642,  3818,  1562,  2118,  2635,
++    3047,  2715,  2218,  1130,  1131,  1088,  2125,  1568,  1903,  1904,
++    1905,  1906,  1907,  3490,  3489,  3491,  3859,  3707,  3861,  3711,
++    2407,  1908,  1909,  2827,  3705,  4013,  2219,  2220,  2221,  3420,
++    2828,  3206,  2846,  2847,  3722,  2398,  1910,  2834,  4021,  3719,
++    3720,  4119,  4118,  3721,  3495,  3496,  3219,  3220,  2982,  2983,
++    2984,  3863,  1625,  1626,  1632,  1297,  1298,  1563,  2298,  2732,
++    3693,  3850,  2245,  3461,  3848,  4007,  2023,  2921,  2922,  2360,
++    2361,  2850,  3223,  3252,  1391,  3659,  2734,  1869,  2817,  2818,
++    3363,  3980,  4428,  1595,  2547,  2865,  2866,  1597,  2928,  4108,
++    4275,  4369,  4370,  4371,  3171,  3172,  3465,  3466,  2362,  2783,
++    3173,  3694,  4012,    87,   522,    88,  1755,  2260,  1247,  2274,
++    1029,  1549,  1550,   806,   535,    89,   544,  2299,    90,   562,
++    1819,   857,   882,  1336,  1337,  2339,  2761,  2768,  2340,  2773,
++    3454,  2763,  3150,  3151,  2264,  2265,  2764,  3153,  3451,  3434,
++    3435,  3131,  3678,    91,   589,  3217,  2841,  2842,  4084,  4085,
++     883,    92,   521,  1075,  2107,  1555,  2106,  1076,  1077,  2109,
++     670,   671,    93,   967,   585,  1413,  1414,  1415,  1885,    94,
++     577,   954,  2814,  2823,  1863,   874,  1243,  1395,   957,  1396,
++    1849,  2378,  1377,    95,   989,   988,    96,   608,  1456,    97,
++     819,  1270,  1767,  2722,  3119,  1271,  1272,  2275,  3826,    98,
++     563,   887,   888,  1339,  1821,    99,   557,   875,  1811,   100,
++     547,   862,  1306,  1790,   101,   102,   864,  3137,  4087,  4260,
++     551,  1793,  1310,  3355,  4110,  4214,  4215,  4217,  4283,  4284,
++    4315,  4415,  4449,  4433,  4452,  4453,  4456,  4463,  4464,   797,
++     976,   798,  3737,   799,   800,  2769,  2770,  3224,   801,  2771,
++     802,  2876,  1030,  1552,   541,   493,   619,   977,  2740,   804,
++    3930,   996,  1046,   495,   496,   103,   914,   576,  1370,  1371,
++    1372,  1844,  1845,   958,  2233,  1846,  1847,  2375,  2370,  3473,
++    3195,  3187,   104,   865,   500,  1312,  1313,  2310,   105,   588,
++     106,  1299,  1784,  1785,  2295,  2731,  2296,   107,   895,   108,
++     844,  1778,   845,  1275,   846,   847,  1289,  1283,  1292,  1286,
++    3831,  3670,  3671,  2283,  1246,  1047,  2090,  3002,  1048,  1770,
++    2277,  2278,  3429,  3673,  3122,  3837,  3838,   109,   135,   503,
++     647,  1037,  1360,   110,   111,   112,   113,  1363,  1449,  2354,
++    1450,  2225,  1451,  1452,  1917,  1833,  1697,  1698,  3106,  1188,
++    1189,  2228,  2688,  2689,   913,   656,  1063,  1055,   128,   129,
++     130,   659,   660,   131,  1015,  1016,  2534,  2979,  3328,  3588,
++    3589,  3791,  3935,  1057,  3797,  4254,  4391,  1058,  1059,  3010,
++    3799,  4067,  4256,  4361,  1060,  2587,  3341,  3936,  4174,   114,
++     978,   598,  1447,  1442,  1444,  1913,  2414,   115,   116,   117
++};
++
++  /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM.  If
++     positive, shift that token.  If negative, reduce the rule whose
++     number is the opposite.  If YYTABLE_NINF, syntax error.  */
++static const yytype_int16 yytable[] =
++{
++     494,  1040,   956,  1457,  1455,   952,  1686,  1105,   984,  1364,
++    1113,  1596,  2226,   536,   137,   621,   542,   868,  2363,  2364,
++    1557,  1685,  1662,   492,  1083,  1639,   556,  2314,  2040,  1132,
++    2529,  1392,  1242,   568,  1547,  1548,   571,  1871,  1794,  2442,
++     568,   997,  1870,  2347,  1420,   537,  2910,  2966,   590,   796,
++    2558,  1707,  2037,  3494,   553,  2767,  1392,  2637,  1751,  1715,
++    2733,   561,  2855,  3023,  3161,  1462,  1163,  3031,  3205,  1167,
++    2646,  1028,  2454,  2839,  1032,  1604,  2013,  1803,  1176,  2455,
++    2459,   540,  1717,  1718,  1463,  1940,  1721,  1722,  1723,  1724,
++     610,  1726,  1727,  1729,  1731,  1732,  1733,  1734,  1735,  2346,
++    2694,  2395,  2647,  3499,  1070,  2579,  2580,  3322,  2830,  3046,
++    2906,  2417,  2418,   613,  2776,   494,  2840,   494,   620,   626,
++    1054,  1062,  2788,  2611,  1184,  1185,  1186,  2720,  2429,  2467,
++    3690,  2527,  3830,  2471,  1335,  3421,  1227,  2539,   615,  1226,
++     617,  1295,  2549,  1953,  2486,  2447,  2448,  2077,  2555,  2556,
++    1918,  2267,  3000,  2560,  2495,   609,   646,  1193,  1194,  1809,
++    3514,  2469,  2470,  2504,  2472,  3573,  2087,  2475,  2476,  1193,
++    1194,  2479,  2126,  1193,  1194,  3725,  2488,  1878,  1386,  1422,
++    2491,  2492,  2493,  2494,  1798,  3534,  3539,  2498,  2499,  3540,
++    2501,  4337,  2884,  3103,  2576,  1888,  2510,   635,  2064,  2514,
++    2515,  2577,  2517,  1891,  1892,  2690,  1421,   552,  3550,  1287,
++    2359,  2613,  3025,  1290,   560,  3572,  1193,  1194,  3626,  1438,
++     972,  3698,  3723,  3041,  3042,  2887,   548,  2600,  1170,  3048,
++   -1450,  3050,  2757,  1775,  2874,   850,  2327,  1375,  4052,  2870,
++    2871,  1033,  1245,  3309,  1228,  3406,  4064,  3235,  1193,  1194,
++    3541,  2230,  4131,  3232,  3352,  2383,   917,   918,   860,   732,
++    1228,  3883,  2563,  2564,  2565,  2566,  4171, -1450,  3948,  4266,
++    1193,  1194, -2464,  1445,  2511,  4447,  1860,  3192,  2450, -1490,
++    3428,  3739,  2593,  1459,  3169,  3688,  1942,  3370,  1953,  2411,
++    2568,  2835,  1459,  1050, -1954,  2956,  1308,  3638,   661,  1043,
++    3371,  2971,   136,  2836,  1327,  3193,  1466,  3149,   667,  2912,
++    1193,  1194,  -865,   636,  3372,  2431,  1459,  4122,  1193,  1194,
++    1560,  -529,  2231,  2028,  1560,   917,   918,  2813,  2858,  1390,
++     570,  1861,   545,  1035,  2583,   586,  1432,   581,  1193,  1194,
++     549,  2356,  4281,  1806,  3442,  -530,  1514,  3370,  2083,  1936,
++    1295,  1193,  1194,  4030,  2244,  1193,  1194,  2991,  2992,  3203,
++    3371,  3847,  3121,  4082,  1193,  1194,  3819,   668,  2038,  2123,
++     136,  1193,  1194,  4282,  3372,  4177,  2799,  2803,  2805,   653,
++    1193,  1194,  2913,   497,   569,   917,   918,  1807,  3443,  2601,
++    1536,  2209,  2039,  4053,  3221,   973,   974,  3869,   651,   138,
++     813,  1322,  4236,  1171,  1172,   582,   262,  2824,   264,   502,
++    1433,  3664,  1036,  4224,  3005,  3849,  1390,  1193,  1194,  2890,
++    3204,  3087,  1603,  1954,   637,  1193,  1194,  1193,  1194,   546,
++     917,   918,   587,  1914,   853,  2029,  1132,  3949,  4083,  4236,
++    2859,  1776,  3758,  2917,  2918,  1069,  2972,  1483,  2512,  1561,
++    2998,  3762,  3884,  1584,  1911,  3194,  2782,   756,  1747,  1239,
++    1518,  4448,  1397,  1402,  1193,  1194,  1193,  1194,  3353,  2957,
++    1446,  1536,   640,  2328,  2815,  3778,  1193,  1194,  2914,  3944,
++    3780,  1193,  1194,  1111,  2584,  2194,  2267,  1193,  1194,  1193,
++    1194,  1309,  2837,  3809,  1936,   669,  1425,  1193,  1194,  1193,
++    1194,   620,  3209,   626,  2848,  1193,  1194,  1862,  4335,  4336,
++    3879,  3170,  3839,  1537,  1538,  1539,  4171,  3006,  3156,  2232,
++     809,  2485,  1195,  2781,   626,  1196,  1195,  3309,  2384,  1196,
++    1193,  1194,  1462,   848,  1193,  1194,  1034,   620,   861,   858,
++    3407,  3164,  3165,  3166,  1229,  2268,  3242,  2530,  3716,  1112,
++    3885,  1463,   876,  1940,  1335,  1712,   859,  1916,  4054,  2454,
++    1229,  1720,  2891,  1751,  2893,  2838,  2455,   852,  1954,  1195,
++    1777,  2904,  1196,  1376,  3236,  1193,  1194,  2888,  1741,  2453,
++     968,  2892,   851,  1515,  2916,  3717,  1335,  1193,  1194,  4262,
++    2925,  2927,  2579,  2580,  3665,  2908,  2909,   969,  2246,   987,
++    3505,  1195,  3870,  1462,  1196,  2919,  2943,  2927,   620,  2249,
++    1001,  2013,  2252,  3231, -1490,  1748,  3233,  3234,  1571,  1572,
++    2725,   610,  1463,  1195, -1450,  1288,  1196,   494,  1628,  3033,
++    2988,  1629,   610,  2527,  1026,  3244,   610,  3356,  2602,   610,
++    1516,  3230,  2329,  1041,  1001,  1627,  1193,  1194,   620,  1873,
++    1013,  1890,  1876,  1640,  3448,  1642,  3225,  1880,  1071,  1072,
++    1073,  3660,  4304,  1195,  1078,  2391,  1196,  1655,  1656,  1657,
++    2903,  1195,  1516,  3104,  1196,  1661,  1754,  1810,  2243,  4338,
++     645,  2576,  2911,  1893,  1894,  1051,  1011,   897,  2577,  1941,
++    2077,  1195,  2505,  4080,  1196,  4409,  1291,  1023,  3970,  3699,
++    2878,  2575,  4125,  1241,  1195,  2527,  2371,  1196,  1195,  1596,
++    3030,  1196,  1771,  2088,   817,  3001,  1133,  1195, -2464,  3943,
++    1196,   975,  2089,   550,  1195,  1068,  3497,  1196,  4008,  1173,
++    4106,  1516,   866,  1195,  3858,  4166,  1196,  2789,  3350,  1296,
++    1799,  1193,  1194,  1796,  3525,  3526, -1490,  1193,  1194,  2873,
++   -2464,  2082,  3046,  1197,  1942,  3046,  3046, -1490,  2372,  1918,
++    3038,  2506,  1817,  2996,  3627,  1197,  3245,   970,  2063,  1197,
++    1195,  2872,  3046,  1196,  1190,   947,  1192,  2829,  1195,  3542,
++    1195,  1196,  2993,  1196,  1826,  1014,  3551,  2990,  3337,  3958,
++    -865,  2229,  3571,  3574,  3576,  3577,  4031,  3167,  3168,  -529,
++    1235,   494,  1237,  1516,  1001,   494,   620,  2868,   494,   620,
++    1193,  1194,  1197,  3197,  1193,  1194,  1389,  1195,  2124,  1195,
++    1196,  1853,  1196,  -530,  1236,  2879,  1877,  1426,  1240,  1195,
++    2210,  1244,  1196,  3373,  1195,  4075,  1052,  1196,  1193,  1194,
++    1195,  1900,  1195,  1196,  1197,  1196,  1300,  1193,  1194,  3218,
++    1195,  4138,  1195,  1196,  4257,  1196,   654,  3007,  1195,   610,
++    1749,  1196,  3088,  3527,  3668,  3046,  1197,  3528,  1193,  1194,
++    2738,   620,   610,  2767,  3338,  3484,   610,   815, -2584,  3488,
++    2268,  1324,  3519,  1195,  1692,  1693,  1196,  1195,  4292,  4126,
++    1196,  2083,  1920,  3373,  3115,  1193,  1194,  3547,  3548,  3549,
++    1398,  1403,  2582,   877,  2141,  3552,  1197,  1193,  1194,  2816,
++    3455,  1193,  1194,  3578,  1197,  1193,  1194,  3483,  3570,   620,
++    2531,  3487,  1193,  1194,  1311,  2195,   118,  3458,  1195,  3459,
++    3140,  1196,  3941,  2114,  1197,  2804,  4132,  1330,  4134, -1490,
++    1195,  2620,  3718,  1196,  2878,  1193,  1194,  1197,  1296,  3715,
++    1427,  1197,  2167,  2142,  1417,  3038,  1193,  1194,  3504,  4185,
++    1197,   610,  1193,  1194,  3500,  1692,  2160,  1197,  3380,  2198,
++    2199,  -433,   872,  3068,  2307,  1428,  1197,  3145,  2387,  2132,
++    3633,  2454,  2095,  1458,  4229,  4208,  2133,  3978,  2455,  3636,
++    1392,  1193,  1194,  2347,  2215,  2216,  3210,  3211,  1273,  1195,
++    4043,  2969,  1196,  2885,  2885,  1560,  1901,  2373,  2416,  1304,
++    1902, -2532,   610,  1197,  1193,  1194,  2579,  2580,  2975,  3396,
++    1392,  1197,  4259,  1197,  1708,   610, -2395, -2396,  1871,   554,
++    1871,  1871,  3202,  2976,  3595,  2820,  2821,  2880,  3352,  2660,
++    2136,  2702,  2703,  3596,   120,  1940,  3361,  1193,  1194,  2346,
++    2970,  2327,  1193,  1194,  1630,  2615, -1775,  1631,  1333,  1540,
++    1197,  2459,  1197,  4210,   610,   628,  2453,  1932,  1553,  3125,
++    3126,  3127,  1197,  4211,  1748,  2753,  3480,  1197,  3072,  3073,
++    3089,  3090,  1702,  1197,  1936,  1197,  1541,  2251,   575,  2099,
++    3112,  3113,  2701,  1197,  1195,  1197,  2137,  1196,  1193,  1194,
++    1195,  1197,  2138,  1196,  2140,  2576,  2308,  1193,  1194,  1133,
++    2486,  2115,  2577,  2100,  2147, -2532,  4115,  2013,  3543,  1740,
++    2148,  3544,  3241,  1133,  1193,  1194,  1197,   558,  1936,  1544,
++    1197,  2348,  2385,  1551,  1647, -2395, -2396,  2845,  4289,  1193,
++    1194,  1462,  2390,  2226,  2127,  2393,  2394,  2706,  2707,  3851,
++     583,   498,  3708,  3709,  4044,   499,  1827,  1941,  3450,  3393,
++    1463,  4116,  3366,  1195,  1686,  3366,  1196,  1195,  2825,  3664,
++    1196,  1197,  1997,  1687,  4047,  4048,  3597,   599,  1193,  1194,
++    2266,  1231,  2077,  1197,  2270,   620,  2749,  4060,  2575,  4127,
++    2158,  1195, -1797,   990,  1196,  1038,  1039,  3475,  4061,  2700,
++    1195,  1709,  2159,  1196,   629,  1748,  2253,  2881,  3501,  2710,
++    4230,  1933,   584,  1808,  2784,  2300,  1193,  1194,  2000,  2262,
++     884,  1195,   620,   602,  1196,  1588,  1953,  1744,  1193,  1194,
++    1193,  1194,   610,  3493,  1230,  1686,   873,  3380,  4070,  2322,
++    2323,   610,  1197,  1193,  1194,  2326,  1942,  1418,  1195,  1748,
++    2843,  1196,  3353,  4111,  3979,  1193,  1194, -1798,  3011,  1953,
++    1195,  2163,  2313,  1196,  1195,  1193,  1194,  1196,  1195,  2161,
++    3945,  1196,   603,  2374,  1341,  1195,  3620,  4212,  1196,   620,
++    1193,  1194,  4117,  4128,  1589,  1193,  1194,   655,  2328,  1193,
++    1194,  1780,  3055,  1783,  2082,  3897,   610,  1746,  1195,  2309,
++    2785,  1196,  3134,  3630,  2959,  2581,  4472,   605,   610,  1195,
++    4129,  1590,  1196,  1787,  1362,  1195,   620,  3367,  1196,  1749,
++    3367,  1193,  1194,  2404,  1686,  1193,  1194,   610,   610,  1305,
++    3806,   611,   885,  1193,  1194,  1056,  1064,  1197,  1560,  2923,
++    1193,  1194,   600,  1197,  1195,  3214,  4290,  1196,  2527,  1193,
++    1194,   620,  3665,  2679,  1830,  3749,  2175, -1797,  1922,   614,
++   -1775,  2131,  1838,  2263,  1828,   947,  2236,  1195,   616,  2527,
++    1196,   627,  3012,  1560,   494,   494,   494,   610,   494,   610,
++    1591,  1193,  1194,  2083,  1872,  1850,  3537,  1193,  1194,  2582,
++    1874,   494,  3368,   620,  2262,  3378,   494,  1854,  1855,  1856,
++    1195,  1858,  1710,  1196,   886,  1195,  1197,  4062,  1196,   947,
++    1197,  1193,  1194,   991,  1875,    43,   610,  2519,  1711,  1879,
++    2885,   880, -1798, -2532,  1695,  2182,  2988,  1193,  1194,  2186,
++    2222,  -198,  1936,  3250,  1197,  1193,  1194,  1193,  1194,   633,
++     992,  2356,  1857,  1197,  1859,  4213,  1193,  1194,  3750,  -433,
++    1749,  1195,  3666,  2187,  1196,  1592,   732,  2329,  1193,  1194,
++    1195,   620,  2188,  1196,  1197,  1936,  1871,  1651,  2257,  1596,
++   -2395, -2396,  1923,  1831,   120,   610,  2258,  1195,  2033,   610,
++    1196,  1889,  2139,  1952,  3704,   132,  1924,  2485,  2453,  2357,
++    3751,  1197,  1195,  1777,  1749,  1196,  4011,  1231,  1736,  1193,
++    1194,   640,  1673,  1197, -2395, -2396,  1954,  1197,  1516,  2149,
++     610,  1197,  1193,  1194,  1193,  1194,  4309,  4309,  1197,  1193,
++    1194,  1210,  2189,  3946,  1193,  1194,  2193, -2532,  2430,  2150,
++     620,  1195,   494,   494,  1196,  2097,   494,  2211,  2263,  1954,
++    2030,  1197,  1379,  2237,  2035,  2333,  3251,  1231,  1078,  3013,
++    2113,  1231,  1197,  1748,  3032,  2093,  2094,  3815,  1197,  3111,
++    3070,   641,  1193,  1194,   646,  3990,   133,  3215,  1900,  1195,
++    2257,  3071,  1196,  1051,   881,  3777,   648,  3082,  3178,  4264,
++      57,  1195,  4268,  1195,  1196,  3991,  1196,  1197,  1686,  1696,
++    3789,  2333,  4181,  2705,  1429,  2223,  1195,  3369,  1380,  1196,
++    3369,   650,  1832,  3152,  1193,  1194,  3092,  1540,  1195,  3667,
++    1197,  1196,  2575,  4010,  1193,  1194,  4200,  4201,  1195,   732,
++    1914,  1196,  3668,  1193,  1194,  1381,   579,   807,   808,  3093,
++     580,   811,   812,  1195,  1542,   814,  1196,   816,  1195,  1133,
++    2168,  1196,  1195,  1197,  1925,  1196,  3014,  2271,  1197,  1941,
++    1900,  1113,  1163,  1167,   756,  1193,  1194,  1193,  1194,  1596,
++    1593,   662,  3646,  2642,  1193,  1194,  2157,  2335,  2336,   664,
++    2648,  1193,  1194,  1014,  1195,  2161,  1430,  1196,  1195,   510,
++    1111,  1196,  3652,  2654,  1193,  1194,  1195,  3948,   854,  1196,
++    4388,  1193,  1194,  1195,  1197,  1482,  1196,  2235,  2738,  1193,
++    1194,  2945,  1195,  1197,  4364,  1196,  1213,   665,  1737,  4389,
++    3155,  2241,  2171,   947,  3669,  1926,  2669,  1393,  1496,  1497,
++    1197,  2172,   666,  3724,  1052,  3779,  3877,  3878,  3781,  3738,
++    1594,  1738,   805,  1901,  1195,  1197,  2226,  1196,  2176,  2259,
++    1195,  1927,   810,  1196,  2238,   849,  1543,   620,   732,   610,
++     620,  1193,  1194,  2180,  3059,  3790,  3805,   863,  1193,  1194,
++    2239,   610,   869,  2276,  1195,  4274, -2584,  1196,  1394,  2282,
++    2282,   855,  2282,   871,  1197,  3738,   891,  1245,  1193,  1194,
++    1195,  3816,   620,  1196,  2716,   610,  2082,   591,  1195,   610,
++    1195,  1196,  2581,  1196,  1193,  1194,  1193,  1194,  1749,  1195,
++    1038,  1039,  1196,  1928,  1596,   889,   620,   620,   610,   610,
++     610,  1195,  1197,  2582,  1196,  1901,   881,   756,  1133,  1902,
++    2321,  2282,  2282,  2282,  1197,   262,  1197,   264,  1317,   964,
++    2181,  1318,  2449,  1382,  2281,  2281,  1210,  2281,  2369,  1197,
++     592,   856,  2185,  1111,  2190,   962,   963,  2380,   966,  3948,
++    2305,  1197,  1195, -1691,  1311,  1196,  3949,  2202,  2376,  1509,
++    1510,  1197,  1519,   985,  3037,  1195,   986,  1195,  1196,  2217,
++    1196,  2588,  1195,  1330,  2325,  1196,  1197,  1195,   852,  3035,
++    1196,  1197,   994,  1364,   610,  1197,  2281,  2281,  2281,  2128,
++    1739,   565,  1929,  2589,  3058,  1003,  2399,  4383,   565,  3060,
++    1210,  1014, -1691,   610,  2070,  2902,  1200,  3198,  2108,  1162,
++    1024,   593,   917,   918,  1044,  1195,  3200,  1197,  1196,  1392,
++    1248,  1197,  1049,  1953,  1919,  3975,  3976,  3977,  1392,  1197,
++     262,  3481,   264,  2420,  3364,  3066,  1197,  2129,  1230,  3067,
++    1201,  1840,  2427,  2428,  2333,  1197,   756,  3074,  4112,  2392,
++    4113,  1045,  2334,  2432,  2433,  2434,  2435,  1195,  2443,  2444,
++    1196,  4074,  1383,  3078,  3398,  3399,  1080,  1195,  2410,  2681,
++    1196,  2683,  1111,  1319,   118,  2569,  1195,  1197,  1520,  1196,
++    2070,  2585,  1521,  1197,  1384,  3412,  1686,   262,  3595,   264,
++    1202,  1081,  1404,  1522,   498,  3079,  1082,  3596,   499,  1084,
++    2513,  3080,  1203,  1222,  1223,  1224,  1225,  1197,  1195,  1871,
++    1195,  1196,  1841,  1196,  3619,  2528,  1085,  1195,  3949,  2638,
++    1196,  1213,  1405,  1197,  1195,  3081,  1385,  1196,   975,  1475,
++    1476,  1197,  2638,  1197,  1086,  3931,  1089,  1195,  1166, -1691,
++    1196,  3083,  1197,  1686,  1195,   559,  1090,  1196,  1234,  3086,
++    1238,  3091,  1195,  1936,  1197,  1196,  2540,  2541,  2843,  2548,
++    3094,  2550,  2551,  2552,  2553,  2554,  2335,  2336,  2557,  1534,
++    2559,  1233,  3096,  2571,  3237,  1091,  1686,  1406,   620,  3201,
++    2542,  2348,  1407,  1092,   620,  1213,  2586,  1204, -1691,   494,
++    1230,  2923,  4187,  1093,  2614,  1197,   610,   610,   610,  2609,
++    2436,  1842,  2612,  2924,  1195,  3248,  1094,  1196,  1197,  2337,
++    1197,  1195,  2591,  3098,  1196,  1197,  3254,  1523,  1095,  3256,
++    1197,   118,   620,   947,  2698,  1276,  3100,  3470,  3101,  1936,
++    3597,  1195,   900,  3102,  1196,   620,  1953,  1772,  3417,  2543,
++    1773,  4072,  1096,  1774,  4004,  4005,  1097,  1195,  3471,  1195,
++    1196,  1098,  1196,   594,  3931,  3931,  2719,  1277,  1197,  2437,
++    3370,  2605,  2606,  2607,  4179,  3330,  4088,   703,  2071,  1215,
++    1216,  4006,  1099,  3371,  1748,   595,  3418,  2253,   498,  3472,
++    2130,  1230,   499,  3147,  4094,  4095,  2438,  3372,  4098,  4099,
++    4100,  4101,  1100,  2070,  1101,  3507,  3508,  1102,   917,  3535,
++    1197,  2134,  2135,  1954,  1245,  1245,  1245,   596,  4089,  1843,
++    1197,  1249,  2708,  3616,  3617,  1524,  2581,  1274,  3419,  1197,
++    3581,   119,  1103,  4300,  1408,   498,   708,   620,  3645,   499,
++    3110,  3191,  1278,  1106,  3553,  2544,  1282,  3651,  1279,   120,
++    3961,  3965,  1209,  2072,  2071,  1108,   643,  2154,  1230,  1109,
++    1748,  1197,  2717,  1197,  1110,  2439,  1114,  3866,  3867,   620,
++    1197,   901,  2638,   597,  2807,  2812,  1115,  1197,  1284,  3653,
++   -1775,  3654,  1116,   620,  1117,   900,  1686, -2575,  3655,  3554,
++    1197,  1118,  1280,  1519,  1294,  3656,  2571,  1197,  4198,  4199,
++    3555,  3152,  1301,  1331,  1409,  1197,  1119,  4207,  3726,  1281,
++    3931,  3931,  3032,  1120,   121,  3971,  2747,  1121,  2854,  2638,
++    2545,  2162,  1230,  1122,  1218,  1219,  1220,  1221,  1222,  1223,
++    1224,  1225,   721,  4202,  1123,  2099,  2164,  1230,  2226,  1126,
++    2440,  2772,  1127,   902,   947,  3529,  3556,  1210,  3532,  3533,
++    1193,  1194,  1936,  1128,   620,  2624,  1134,  1197,  1135,  2100,
++    2165,  1645,  1210,  1136,  1197,  3545,  1137,  2793,  1410,  2795,
++    1138,  3729,  1205,  1206,  1207,   620,  1139,   620,   620,  2177,
++    1230,  2625,  1140,  2792,  1197,  1872,  1141,  1872,  1872,  2719,
++    1220,  1221,  1222,  1223,  1224,  1225,   122,  2073,  1142,  3961,
++    1197,  1285,  1197,  3965,  3931,  2178,  1230,   737,  1144,  1520,
++    2179,  1230,  1687,  1521,   901,  1596,  2183,  1230,  1145,  3931,
++     947,   620,   620,  1146,  1522,  3643,  1954,  1147,  1161,  1749,
++    1210,  2284,  3931,  2285,  1193,  1194,  2626,  1148,   262,  2627,
++     264,  1177,  1178,   979,   980,  1516,   981,  2628,   982,  2445,
++    2446,  2687,  1230,  1605,  1606,  1607,  1608,  1609,  3634,  2070,
++    2400,  2528,  1211,  1149,  2629,  1150,  2528,  2071,  2723,  2724,
++    -786,  2528,  1151,  1748,  1152,  2528,  1153,  2898,  1154,  3832,
++    1411,  4469,  2351,  2352,  2353,  1212,   902,  2898,  1155,  2528,
++    2528,  1303,   620,  2877,  3931,  2900,  2901,  1295,  1156,  2528,
++    1157,  1687,  1293,  2889,  1158,  1749,  3931,  3931,  1943,  2899,
++    1159,   610,   917,   918,  1412,  3054,  2135,  1160,  1588,  1004,
++    2898,  2930,   123,  -628,  1164,  2546,  1165,  2528,  2955,  1168,
++    3553,  2920,  1213,  2968,  3057,  1230, -1775,  2931,  4419,  4420,
++    2985,  1169,  1083,  2933,  2934,  2441,  1175,  1213,  1523,  2967,
++    1610,  1611,  1612,  1613,  3931,  2400,  3084,  1230,  3158,  3159,
++    1179,  2630,  3961,  3965,  3931,  1180,  1038,  1039,  1038,  1039,
++    1005,  1181,  3558,  3333,  3334,  3554,  2932,  1589,  3559,  3833,
++    3834,  1182, -1490,  2989,  3835,  3836,  3555,  1183,  2401,  4416,
++     124,  1232,  3872,  3873,  1307,  3875,  3876,  1315,   610,  2528,
++    1245,  3423,  1230,  1325,  1590,  2402,  1338,  3931,  1936,  3931,
++    3405,  1944,   764,  3445,  3446,  1213,  1357,  2403,  3560,  3931,
++    3823,  3824, -2575,  3586,  3587,  1340,   903,   904,   905,   906,
++     907,   908,  3556,   947,  1358, -1490,  3623,  3631,  3931,  1359,
++    3931,  1362,  3931,   909,  1214,  1365,  1524,  1373,   125,  3931,
++    3424,  1614,  1374,  1615,  1616,  1617,  3647,  1230,  1006,  1378,
++    3931,  2631,  1618,  3016,  4473, -1490,  1390, -1490,  3661,  1230,
++    3676,  3677,  1399,  1591,  3792,  2446,  3931,  3931,  3807,  3808,
++    1215,  1216, -1490,  2401,  1400,  2456,  3561, -1490,  3811,  3808,
++    3812,  3808,  3931,  3931,  2404,  1215,  1216,  3931,  3871,  3446,
++    2402,  3557, -1490,  1195,  3874,  3808,  1196,  3881,  3882,  1217,
++   -1490,  1401,  2403,  4018,  4019, -2575,  3373, -1490,  1749,  4023,
++    3808,  4024,  3808,  2071,   262,  2749,   264, -1490,  2276,  1748,
++    1416,  1300,   620,   620,   620,  4026,  3808,  3536,  3306, -1490,
++     610,  4027,  3808,  1619, -1490,  4032,  4033,  1419,  1592,  4034,
++    4033,  -620,  2997, -1490,  4090,  4091,  -786,  4218,  4019,  2747,
++     620,  4219,  4019,  1215,  1216,  1687,  4227,  3446,  2456,   903,
++     904,  1423,   906,  1945,   908,  4272,  4273,  1588,  1133,  3890,
++    2457,   620,   620,   620,  1946,  3890,   909,  1424,  3562,  2404,
++    1437,  1947,  1440,  2482,  3177,  1620,  1621,  1441,  2072,  1443,
++    3179,  2632,  3181,  2638,  1448,  3133,  2405,  1453,   620,  3628,
++    3176,  2436,  4316,  4317,  2926,  3602, -1490,  4334,  3332,  1686,
++    3268,  4461,  4462,  1872,  1459,  1218,  1219,  1220,  1221,  1222,
++    1223,  1224,  1225,  2038,  4086,  1465,  1589,  -620, -1490,  1467,
++    1218,  1219,  1220,  1221,  1222,  1223,  1224,  1225, -1490,  1469,
++    1676,  1677,  1038,  1039,  2456,  1472,  1609,  2039,  3558,  3462,
++    3463,  1473,  1007,  2860,  3559,  2633,  2457,  2400,  1480,  2406,
++    2437,  1477,   262,  1481,   264,  3382,  -620,  1484,  3383,  1485,
++   -1490,   505,  1486,  1948,  3430,  3431,  3384,  2528,  1528,   947,
++    2528,  2528,  1210,  2898,  2634,  3674,  3675,  2438,  1529,  1530,
++    1596,  2405,  1533,  3385,  3560,  1535,   620,  1556,  1228,  2528,
++    1220,  1221,  1222,  1223,  1224,  1225,  2038,  1210,  1536,  1560,
++    1554,  2286,  1567,  3243,  2898,  1587,  1598,  1008, -1490,  1009,
++    1633,  3246,  2861,  1622,  2287,  2898,  1173,  1644,  2898,  1645,
++    2039,  1646,  2073,  4161,  1684,  3386,  1197,  1623,  1624,  1694,
++   -1490,  1752,  1613,  1593,  1703,  1295,  1719,  3756,  3757,  1725,
++    3260,  1210,  -620,   610,  2406,  1745,  2439,   505,  3317,  1753,
++    3760,  1756,  3561,  1763,  1749,  1949,  2436,  3763,   494,  1759,
++    1760,  1761,  3327,  1762,  2898,  1764,  1765,  1768,  1766,  1588,
++    3207, -1490,  2184,  1769,  2288,  2401,  2289,  1792,  1795,  3336,
++    3387,  3323,  2038,  3782,  3783,  2484,  1804,  2862,  2567,  1812,
++    1813,  1923,  2402,  1814,  3347,  1596,  1820,  3075,  1564,  1565,
++    1566,   610,  3339,  1686,  2403,  1924,  2039,  1815,  3261,  1823,
++    1824,  1852,  1825,  3360,  1834,  2437,  1585,  1839,  4086,  1848,
++   -1490,  2440,  1881,  1882,  1883,  1884,  1886, -1490,  1589,  1895,
++    1614,  1113,  1163,  1167,  1617,  1897,  2935,  4133,  2936, -1490,
++   -1490,  1618,  2438,  1899,  1912,  4170,  2042,  1364,  1648,  1921,
++    2025,  1652,  1516,  3467,  3562,  2860,  2043,  1213,  2044, -1490,
++    2045, -1490,  2046,  2047,  2290,  2062,  3349,  3892,  -620,  2854,
++    1669,  1670,  2084, -1490,  1674,  1296,  2066,  3388,  2092,  2937,
++    3389,  2404,  1213,  2048,  2049,  2050,  2051,  2052, -1490, -1490,
++    2053,  3422, -1490, -1490,  1688,  1689,  1969,  1970,  2054,  2793,
++    2938,  2085,  2055,  3706,  2056, -1490,  4296,  2057,  2058,  2059,
++    2436,  2439,  3852,  2060,  2061,  2792,  2102,  2103,  2291,  2104,
++   -1490,  2111,  1619,  2747,  2861, -1490,  1213,  2145,  4321,  -769,
++    -769,  2117,  1972,  3842,  2939,  2105,  2119,  2120,  2121,  2144,
++    2458,  -769,  2146,  2772,  3457,  2151,  2152,   620, -1490,  2153,
++    2155,  2161,  1975,  2166,  -620, -1490,   620,  3390,  2200,   508,
++    1976,  2456,  2717,  1925,  2170, -1490,  2174,  2227,  2191,  2437,
++    2192,  1342,   620,  2197,  1225,  1621,  2201, -1490,  2212,  1210,
++    2369,  1343, -1490,  2213,  1978,  2214,  2440,  2234,  3933, -1179,
++    2240, -1490,  2863,  2405,  4035,  2250,  2438,  1344,  1459,  2862,
++    1687,  1979, -1316,  2297,  2272,  1215,  1216,  2279,  2306,  1345,
++    1346,  1347,  2528,  2312,  2315,  2318,  2349,  2350,  2365,  4382,
++    2377,  4384,  2528,  2379,  2898,  1348,  2441,  2381,  4321,  1984,
++    1215,  1216,  2382,  1687,  1926,  2386,  2408,  2409,  -620,  2898,
++    2413,   610,  2412,  2528,  2415,   508,  2419,  2421,  2422,  1686,
++    4402,  2423,  2424,  2425, -1490,  2638,  2406,  1038,  1039,  2426,
++    1927,  4003,  2456,  2468,  4454,  2439,  2473,  2474,  2477,  2482,
++    2478,  2480,  1686,  2487,  1215,  1216, -1490,  2490,  2496,  1686,
++    4326,  4327,  2497,  4329,  3391,  1686, -1490,  4465,  4434,  4435,
++     262,  2481,   264,  2489,  4454,  2532,  2536,  2502,  1987,  2503,
++    4465,  2538,  2562,  2508,  2509,  2516,  1988,  2570,  2614,  2038,
++    2592,  2610,  1622,  3392,  2623,  2618,  2985,  2649, -1490,  2728,
++    2650,  1989,  1928,  2400,  -620,  3583,  2651,  1624,  2258,  2940,
++    2661,  2695,  4372,  2039,  4373,  4374,  2292,  2293,  2294,  2662,
++    2440,  3615,  3615,  3615,  2696,  3695,  1872,  2674,  3607,  2697,
++    1218,  1219,  1220,  1221,  1222,  1223,  1224,  1225,   620,  2726,
++    2727,  2693,  2704,  2713,  1213,  2714, -1490,  2729,  2730,  2736,
++    2739,  2742,  2743,  2941,  1990,  1218,  1219,  1220,  1221,  1222,
++    1223,  1224,  1225,  2741,  2750,  2756,  2775,  2751, -1490,  1966,
++    1799,  2441,  1991,  2754,  2777,  2755,  1967,  4413,  1968,  2762,
++    2774,  2778,  2779,  2357,  2863,  2356,  4173,  3992,  2797,  1969,
++    1970,  1929,  2819,  2826,  2822,  3993,  4003,  2796,  2798,  1218,
++    1219,  1220,  1221,  1222,  1223,  1224,  1225,  2831,  3684, -1490,
++    2832,  2849,  1349,  1687,  2833,  2854,  4446,  2856,  2857,  3994,
++    1971,  2905,  2907,  2964,  2974,  1972,  1973,  1995,   620,  1996,
++    1350,  2401,  1974,  2978,  2995,  2980,  2994,  1998,  2999,  3003,
++    1997,  3004,  1914,  2112,  3029,  1975,  3049,  2483,  2402,  3038,
++    3043,  3051,  3052,  1976,  3118,  2116,  3053,  3123,  3061,   564,
++    2403,  2484,  3062,  1977, -1775, -1490,  3105,  3107,  3109,   868,
++    3615,  3114,  3130,  3117,  3128,  3135,  3138,  1978, -1490,  3139,
++     523,  1317,  3148,  3142,  3154,  3852,  3157,  3746,  3163,  2638,
++    3174,  1459,  1215,  1216,  1979,  3160,  3175, -1490,  4175, -1490,
++    3180,  1980,  1981,  3188,  3208,  2004,  3212,  3213,  1982,  3216,
++    3227,  3741,  3228,  1296,  3229,  3258,  1983,  3240,   620,  3318,
++    -892,  3325,  1984,  3257,  3249,  2441, -1490, -1490,  3321,  3329,
++   -1490, -1490,  3324,  3995,  3259,  3765,   524,  2404,  3331,  3342,
++    3332,  2169,  3335,  3348,  3784,  2173,  3343,  -443,  2333,  3351,
++    1985,  3788,  3357,  3358,  3359,  3362,  1351,  3467,  3379,  3710,
++    1969,  1970,  2005,   525,  3397,  3400,  3401,  2196,   676,  3347,
++    3408,  3409,  3426,  3427,  3793,  3436,  3441,  3438,  2006,  3447,
++    3460,  3449,  2007,   262,  3468,   264,  3476,  3485,  3477,  1986,
++    3486,  1987,   620,  -769,  -769,  3506,  1972,   526,  3498,  1988,
++    3509,  2008,  3510,  3523,  3530,  -769,  3580,  2530,  3582,  3996,
++    3584,  1352,  3590,  3594,  1989,  3603,  1975,  3604,  3608,  2010,
++    3605,  3609,  3611,  3621,  1976,  3622,  3623,  3997,  3624,  1353,
++    3625,   820,   821,  3629,  3632,  3635,  4173,  3637,  1219,  1220,
++    1221,  1222,  1223,  1224,  1225,   527,  3639,  3648,  1978,  2405,
++    3732,  3998,  3640,  3641,  3644,  3649,  3650,   703,  3662,  3663,
++     620,  3672,  1459,  3679,  3680,  1979,  3689,  1990,  3677,  3178,
++    3691,  3692,  3697,  3696,  3700,  3702, -1405,  3703,  3864,  3744,
++   -1410,  3024,  3714,  3747,  3570,  1991,  3727,  3759,  3728,  1992,
++    3769,  3615,  3615,  1984,  3615,  3615,  3730,   504,  3731,  3770,
++    3755,   676,  3761,  4243,  3771,  3772,  3773,  3775,  3776,   707,
++    3794,  3573,  2406,  2638,  3795,  3810,   708,  4003,  4243,  3813,
++    3814,  3817,   822,  3821,  3822,  3825,  3827,  3840,  1993,  3828,
++    3631,  4253,  3829,  1994,  3841,  3844,  3845,  3855,  3856,  3886,
++    1995,  3899,  1996,   712,   713,  3860,  4443,  3862,  3880,  1997,
++    1998,   823,  3893,  3894,   262,  3900,   264,  3898,  4368,  3942,
++    3938,   610,  1987,  3934,   824,  3957,   -65,  3967,  1251,  3972,
++    1988,   528,  3615,  3968,  3974,  3982,  3969,  4015,  4020,   505,
++    4443,  1999,  4017,  3732,  4028,  1989,   825,  3985,  4036,   826,
++     703,  4038,  4056,  -309,  4065,  2000,  2001,  2002,  2003,  2594,
++     827,  1252,  4058,  4059,  4069,   610,  4076,  4077,  3989,  4081,
++    4093,  4096,   721,  4105,  -817,  4097,   620,   947,  2004,  4107,
++    4109,   828,  4138,  2959,  4141,  4102,  3939,  -327,  4167,  4169,
++    4168,  4189,  4368,  3999,  4204,   803,  4186,  4216,  1990,   529,
++    4220,  4192,   707,  4228,  4221,  4222,  4029,   829,  4223,   708,
++    4231,  4232,  4239,  4243,   830,  4233,  1991,  4240,  4252,  4244,
++    4250,  4251,   506,  4358,  4255,  4262,  4276,  4042,  4277,  1253,
++    3983,   732,  4049,  4278,  4279,  2005,   712,   713,  4288,  4297,
++    4292,  4287,  3766,  4299,  4301,  4302,   736,   737,  4311,  4305,
++   -2311,  2006,  4314,  1254,   831,  2007,  1255,   530,  4328,  4325,
++    4330,  4331,  4471,   531,  4333,  4346,  4360,  4359,  4365,  4362,
++    4376,  1995, -1574,  1996,  2008,  4379,  4381,  4380,  4392,  2009,
++    4385,  1998,   532,  4390,  4386,  4393,  4396,  4401,  4071,  4398,
++    1256,  4399,  2010,  4405,  4407,  4414,  4418,  4422,  4410,  4243,
++    4411,  4243,  4424,  4431,  4459,   721,  1687,   533,  4412,  1257,
++    4432,  4455,  2561,  4468,  4051,  2721,  3593,  3592,  2869,  4243,
++    1061,  3798,  4203,  1258,   534,  4066,  4312,  4176,  4313,  3796,
++    3800,  3937,  1471,  4466,  4426,   578,   959,  2341,  4436,  3864,
++    3162,  3864,  3911,  4114,  3912,  3914,  3915,  3917,   803,  2004,
++    3918,  4243,  4243,   803,  3919,  3920,  4458,  3921,  -892,  3922,
++    4343,  4237,  4344,  3925,   732,  4310,  3926,  3927,  4249,  4142,
++    4248,  1259,  1965,  2261,  1532,  2520,  2036,  2011,  4068,   736,
++     737,  3253,   832,  3141,  3682,  3146,   833,  3440,  4191,  3984,
++     803,  4261,  1260,  3685,  1802,  4395,  4324,  4367,  4183,  4104,
++    2069,   663,   834,  3804,  2518,  3340,  2005,   803,  3522,  2961,
++     835,  3022,  3511,  3515,  4182,  3989,   507,  2525,   836,  4377,
++    4135,  3888,  2006,  3394,  3538,   620,  2007,  3579,  2719,   756,
++    3774,  4209,  4188,  3733,  4196,  4197,  3734,   508,  3764,  4120,
++     519,  3474,   520,   837,  4225,  2008,  4226,   762,   803,   803,
++     803,   803,   764,  2101,  4079,   765,   838,   839,  4073,  4078,
++     803,  3956,  2604,  2010,  3891,  2522,  3513,  2949,  1439,  1012,
++    2397,  3743,  1898,  3512,   509,  2759,  2324,  -535,  2034,  2067,
++     510,  3132,  2737,  3437,  2780,  3932,   983,  2692,  1369,  3425,
++    2355,  2641,  4323,  3116,  1643,  1261,  2844,  2639,  2691,  3482,
++    4022,   840,  3868,  4285,  1262,  3591,  4286,  1586,  2711,  3517,
++    1687,  3865,  3199,  1915,  3735,  3736,   511,  4417,  2944,  1263,
++    3854,   893,   821,  2595,   512,  2787,  2608,   821,  1786,  1818,
++    2735,   620,   841,  2765,  3687,  3453,  3452,  1264,  4269,  4270,
++    3492,   803,  4258,   971,  2110,  1079,  2985,  2985,   955,  2388,
++    1864,  1887,  2389,  2273,   842,  3521,   843,  3439,  4363,  1822,
++    4280,  4394,   756,  4332,  4467,  4470,  3733,  3456,  3768,  3734,
++    2366,  3196,  1837,  3478,  3701,  3857,  1265,  1266,   896,  2311,
++     762,  1829,  1356,  3973,  1779,   764,  2091,  3981,   765,  3120,
++    1361,   898,  1065,     0,   657,   620,   658,  1066,  1067,     0,
++       0,     0,  1267,     0,     0,     0,     0,     0,     0,     0,
++       0,     0,   822,     0,     0,     0,     0,   822,     0,     0,
++       0,   498,  4348,     0,  1268,   499,     0,     0,     0,  4356,
++       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
++       0,   823,     0,     0,     0,     0,   823,  3735,  3736,     0,
++       0,     0,     0,     0,   824,     0,     0,     0,     0,   824,
++    1605,  1606,  1607,  1608,  1609,     0,     0,     0,     0,     0,
++       0,     0,  4460,  1269,     0,     0,   825,  4375,     0,   826,
++       0,   825,     0,     0,   826,     0,     0,     0,     0,     0,
++     827,     0,     0,     0,     0,   827,     0,   803,     0,     0,
++       0,     0,     0,     0,     0,  4403,     0,     0,     0,     0,
++    4408,   828,     0,     0,     0,     0,   828,     0,     0,     0,
++       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
++       0,     0,     0,     0,     0,     0,     0,   829,     0,     0,
++       0,     0,   829,     0,   830,     0,     0,  4444,     0,   830,
++       0,     0,     0,   803,   803,     0,  1687,  1610,  1611,  1612,
++    1613,     0,   803,   803,   803,   803,   803,   803,   803,   803,
++     803,   803,   803,   803,   803,   620,     0,     0,     0,  1687,
++       0,  4444,   803,   803,   831,   803,  1687,   803,     0,   831,
++       0,   803,  1687,     0,   803,   803,   803,   803,     0,   803,
++     803,   803,     0,     0,     0,     0,     0,     0,   803,   803,
++       0,   803,   803,   803,   803,   803,     0,     0,   803,   803,
++     803,   803,   803,   803,   803,   803,   803,   803,   803,     0,
++       0,   803,   803,     0,  1251,   803,     0,     0,     0,   803,
++       0,   803,   803,     0,     0,     0,     0,     0,     0,     0,
++       0,     0,     0,     0,     0,   803,   803,     0,  1614,     0,
++    1615,  1616,  1617,   803,     0,     0,     0,  1252,     0,  1618,
++     803,   803,   803,   803,     0,     0,     0,     0,     0,     0,
++       0,   803,   803,   803,     0,   803,   803,   803,   803,   803,
++       0,   803,   803,   803,   803,   803,   803,   803,   803,     0,
++       0,     0,   803,   803,     0,     0,     0,     0,     0,     0,
++       0,     0,   832,     0,     0,     0,   894,   832,     0,     0,
++       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
++       0,     0,   834,     0,     0,  1253,     0,   834,     0,     0,
++     835,     0,     0,     0,     0,   835,     0,     0,   836,     0,
++    1619,     0,     0,   836,     0,     0,     0,     0,     0,  1254,
++       0,     0,  1255,     0,     0,     0,     0,     0,     0,     0,
++       0,     0,     0,   837,     0,     0,     0,     0,   837,   803,
++       0,     0,     0,     0,     0,     0,   838,   839,     0,     0,
++       0,   838,   839,     0,     0,     0,  1256,     0,     0,     0,
++       0,     0,  1620,  1621,     0,  1087,     0,     0,     0,     0,
++       0,     0,     0,     0,     0,  1257,     0,     0,     0,     0,
++       0,     0,     0,     0,     0,     0,     0,     0,     0,  1258,
++       0,   840,     0,     0,     0,     0,   840,     0,     0,     0,
++       0,   803,  1125,     0,     0,     0,     0,     0,     0,   803,
++       0,     0,     0,     0,     0,     0,     0,     0,     0,  1143,
++       0,  1493,   841,     0,     0,     0,     0,   841,     0,     0,
++       0,     0,     0,     0,     0,     0,     0,  1259,     0,     0,
++       0,     0,     0,     0,   842,     0,   843,     0,     0,   842,
++       0,   843,     0,     0,     0,     0,     0,     0,  1260,     0,
++       0,     0,     0,  1187,     0,     0,     0,     0,     0,     0,
++       0,     0,     0,     0,     0,     0,     1,     0,     2,     0,
++    1494,  1495,  1496,  1497,  1498,  1499,     0,  1500,  1501,  1502,
++    1503,  1504,  1505,  1506,     3,  1507,  1508,     0,     4,     0,
++    1622,     0,     0,     0,     0,     0,     0,     0,     0,     0,
++       0,  2024,     5,     6,  1623,  1624,     0,     0,     0,     0,
++       7,     0,     0,     0,     0,     8,     9,     0,     0,     0,
++       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
++       0,     0,     0,     0,     0,     0,     0,    10,     0,     0,
++       0,     0,     0,  1316,     0,     0,     0,     0,     0,     0,
++       0,  1261,     0,     0,     0,     0,    11,     0,     0,     0,
++    1262,     0,     0,     0,     0,     0,     0,     0,     0,     0,
++       0,     0,     0,     0,     0,  1263,     0,    12,     0,     0,
++       0,     0,     0,     0,     0,    13,    14,    15,     0,     0,
++     803,     0,     0,  1264,     0,     0,     0,    16,    17,     0,
++       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
++      18,     0,     0,  1509,  1510,     0,     0,     0,     0,     0,
++       0,     0,     0,    19,     0,     0,     0,     0,     0,     0,
++       0,     0,  1265,  1266,     0,     0,     0,     0,     0,    20,
++       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
++       0,     0,     0,     0,     0,    21,     0,     0,  1267,    22,
++       0,     0,     0,    23,     0,     0,     0,     0,     0,     0,
++       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
++    1268,     0,     0,     0,     0,     0,     0,     0,    24,     0,
++      25,     0,     0,     0,     0,     0,     0,     0,     0,  1492,
++       0,     0,   803,   803,   803,     0,    26,     0,     0,     0,
++       0,     0,     0,     0,     0,     0,   803,     0,     0,     0,
++       0,     0,     0,     0,    27,     0,     0,     0,    28,  1269,
++       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
++       0,     0,   803,     0,     0,     0,     0,     0,   803,     0,
++       0,   803,     0,   803,     0,  1558,  1559,     0,     0,   803,
++       0,   803,   803,     0,  1569,  1570,     0,     0,  1573,  1574,
++    1575,  1578,  1579,  1580,  1581,  1582,  1583,     0,     0,     0,
++       0,     0,     0,     0,  1599,  1600,     0,  1601,     0,  1602,
++       0,     0,     0,     0,     0,     0,  1635,  1636,  1637,  1638,
++       0,     0,  1641,     0,     0,     0,     0,     0,     0,     0,
++    1649,  1650,     0,  1653,  1654,     0,     0,     0,    29,     0,
++    1658,  1659,  1660,     0,     0,  1663,  1664,  1665,  1666,  1667,
++    1668,     0,   803,  1671,  1672,    30,     0,  1675,     0,    31,
++       0,  1678,     0,  1682,  1683,     0,     0,     0,     0,     0,
++      32,     0,     0,     0,     0,     0,     0,  1690,  1691,     0,
++       0,    33,     0,     0,     0,  1699,     0,     0,     0,     0,
++       0,     0,  1704,  1705,  1706,     0,     0,     0,     0,     0,
++       0,     0,     0,    34,  1969,  1970,    35,     0,    36,     0,
++       0,    37,     0,     0,    38,    39,     0,     0,     0,     0,
++       0,     0,    40,     0,    41,  1742,     0,     0,     0,     0,
++       0,    42,     0,     0,     0,     0,     0,    43,     0,     0,
++    1972,     0,     0,   915,     0,    44,     0,     0,     0,     0,
++      45,     0,    46,   872,   916,    47,     0,     0,     0,     0,
++    1975,     0,     0,     0,     0,     0,     0,     0,  1976,     0,
++       0,     0,     0,     0,     0,     0,     0,     0,   917,   918,
++      48,     0,     0,     0,    49,     0,   919,     0,     0,     0,
++       0,   920,  1978,     0,     0,     0,     0,     0,     0,     0,
++       0,  1789,     0,     0,     0,     0,  1459,     0,     0,  1979,
++       0,     0,     0,     0,     0,     0,     0,     0,   921,     0,
++     922,     0,   923,     0,     0,     0,     0,     0,     0,    50,
++       0,   924,     0,     0,     0,     0,     0,  1984,     0,     0,
++       0,    51,     0,     0,     0,    52,     0,     0,    53,     0,
++       0,     0,     0,     0,    54,     0,  2024,     0,     0,     0,
++       0,     0,     0,  1836,     0,     0,     0,     0,     0,     0,
++       0,  1851,     0,     0,     0,     0,     0, -1775,   925,     0,
++       0,     0,   926,    55,     0,   927,   803,     0,     0,    56,
++       0,     0,     0,     0,     0,     0,     0,     0,   262,     0,
++     264,     0,    57,     0,     0,     0,  1987,     0,     0,     0,
++       0,   928,     0,   929,  1988,     0,     0,     0,     0,     0,
++     930,     0,   931,     0,     0,     0,     0,     0,     0,  1989,
++       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
++       0,  2024,     0,     0,     0,     0,   932,   933,   934,     0,
++       0,     0,     0,     0,     0,     0,     0,   803,     0,     0,
++       0,   803,     0,     0,     0,     0,   803,   803,     0,   935,
++       0,     0,     0,     0,     0,   803,   803,     0,   803,   803,
++     803,   803,  1990,   803,     0,     0,   803,     0,     0,     0,
++       0,   936,     0,     0,     0,     0,   803,     0,   803,   803,
++    1991,   803,   803,   803,   803,     0,   803,     0,     0,   803,
++       0,     0,     0,     0,     0,     0,     0,   937,   803,     0,
++       0,     0,     0,     0,     0,   803,     0,   803,     0,   803,
++     803,   803,   803,     0,     0,     0,   803,   803,   803,     0,
++       0,     0,   803,   803,   803,     0,   803,     0,   803,     0,
++     803,     0,   803,     0,   803,  1995,     0,  1996,     0,   803,
++       0,     0,  2122,     0,     0,  1998,     0,     0,     0,     0,
++       0,     0,     0,     0,     0,     0,     0,   803,     0,     0,
++       0,     0,     0,   938,   803,     0,     0,   803,     0,     0,
++       0,     0,     0,   803,     0,     0,   803,     0,     0,     0,
++     803,     0,     0,     0,     0,     0,     0,     0,     0,   939,
++       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
++     940,   941,     0,     0,   942,   943,     0,     0,     0,     0,
++       0,     0,     0,  2004,     0,     0,     0,     0,     0,     0,
++       0,     0,     0,     0,     0,   944,     0,     0,     0,     0,
++       0,     0,     0,     0,     0,     0,   803,     0,     0,     0,
++       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
++       0,     0,     0,     0,  2204,  2206,  2208,     0,     0,     0,
++       0,     0,     0,     0,     0,     0,     0,     0,   945,     0,
++    2005,     0,     0,     0,     0,     0,     0,     0,     0,     0,
++       0,   946,     0,     0,     0,     0,  2006,     0,     0,     0,
++    2007,     0,     0,     0,  2242,     0,     0,     0,     0,     0,
++       0,     0,     0,  2247,     0,  2248,     0, -2341,     0,  2008,
++       0,   947,     0,     0,     0,     0,     0,     0,     0,     0,
++       0,     0,     0,     0,     0,     0,     0,  2010,     0,   948,
++     949,     0,     0,     0,     0,     0,     0,     0,     0,     0,
++       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
++       0,     0,  2867,     0,     0,     0,     0,     0,     0,     0,
++       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
++    2867,  2867,     1,     0,     2,     0,     0,     0,   950,     0,
++       0,     0,     0,     0,  2320,     0,     0,     0,     0, -2341,
++       0,     0,     0,     0,     4,     0,     0,   951,     0,     0,
++       0,     0,     0,     0,     0,     0,     0,     0,     5,     6,
++       0,     0,     0,     0,     0,     0,     7,     0,     0,     0,
++       0,     8,     9,     0,     0,     0,     0,     0,     0,     0,
++       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
++       0,     0,  2024,    10,     0,     0,     0,     0,     0,     0,
++       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
++       0,     0,    11,     0,     0,     0,     0,     0,     0,     0,
++       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
++       0,     0,     0,    12,     0,     0,     0,     0,  2867,  2867,
++       0,    13,    14,    15,     0,     0,     0,     0,     0,     0,
++       0,     0,     0,    16,    17,     0,     0,     0,     0,     0,
++       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
++       0,     0,  2024,     0,     0,     0,     0,     0,     0,    19,
++       0,     0,     0,     0,     0,     0,     0,     0,     0,   803,
++       0,     0,     0,   803,     0,    20,     0,     0,     0,     0,
++       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
++       0,    21,     0,     0,     0,    22,     0,     0,     0,    23,
++       0,     0,     0,   803,   803,     0,     0,     0,     0,     0,
++       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
++       0,     0,     0,   803,    24,     0,    25,     0,     0,     0,
++       0,     0,   803,     0,   803,     0,   803,     0,     0,     0,
++       0,     0,    26,     0,     0,     0,     0,     0,  2537,     0,
++       0,     0,     0,     0,     0,     0,   803,     0,     0,     0,
++      27,   803,     0,     0,    28,     0,     0,     0,     0,     0,
++       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
++       0,     0,     0,     0,     0,   803,     0,     0,     0,     0,
++       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
++       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
++       0,     0,     0,     0,     0,     0,     0,     0,     0,  2617,
++       0,     0,     0,  2619,     0,     0,     0,     0,  2621,  2622,
++       0,     0,     0,     0,     0,     0,     0,  1575,  2640,     0,
++    1575,     0,  2643,  2644,     0,  2645,     0,     0,     0,     0,
++       0,     0,   803,     0,    29,     0,   803,     0,  2652,     0,
++    2653,     0,     0,  2655,  2656,  2657,  2658,     0,  2659,     0,
++       0,    30,     0,     0,     0,    31,     0,     0,     0,     0,
++    2663,     0,     0,     0,     0,     0,    32,  2664,     0,  2665,
++       0,  2666,  2667,  2668,     0,     0,     0,    33,  2671,  2672,
++    2673,     0,     0,   803,  2675,  2676,  2677,     0,  2678,     0,
++    2680,     0,  2682,     0,  2684,     0,  2685,     0,     0,    34,
++       0,  2686,    35,     0,    36,     0,     0,    37,     0,     0,
++      38,    39,     0,     0,     0,     0,     0,     0,    40,  2699,
++      41,     0,     0,     0,     0,     0,     0,    42,     0,     0,
++       0,     0,     0,    43,     0,  2709,     0,     0,  2712,     0,
++       0,    44,     0,     0,     0,     0,    45,     0,    46,     0,
++       0,    47,  2947,     0,     0,     0,     0,     0,     0,  1967,
++       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
++       0,     0,  1969,  1970,     0,     0,    48,     0,     0,     0,
++      49,     0,     0,     0,     0,     0,     0,  3262,  3263,     0,
++       0,     0,     0,  3264,     0,  3265,     0,  3266,  3267,     0,
++       0,     0,     0,  1971,   803,   803,     0,     0,  1972,     0,
++       0,     0,     0,     0,  3268,     0,     0,     0,     0,     0,
++       0,     0,     0,     0,     0,    50,     0,     0,  1975,  2867,
++       0,     0,     0,     0,     0,     0,  1976,    51,     0,     0,
++       0,    52,     0,     0,    53,     0,  1977,     0,     0,     0,
++      54,     0,     0,     0,     0,     0,     0,  2024,     0,     0,
++    1978,     0,     0,     0,     0,     0,     0,     0,     0,  3269,
++     803,     0,  3270,     0,  1459,     0,     0,  1979,     0,    55,
++    3271,     0,     0,     0,  1980,    56,     0,     0,     0,     0,
++       0,  2948,     0,     0,     0,     0,     0,  3272,    57,  1983,
++       0,     0,     0,   803,   803,  1984,   803,     0,     0,     0,
++       0,     0,     0,     0,  3273,   803,     0,     0,     0,     0,
++     803,     0,     0,   803,     0,   803,   803,     0,     0,     0,
++       0,     0,     0,  1985,     0,     0,     0,  3274,     0,  3275,
++       0,     0,     0,     0,     0,     0,   803,     0,     0,     0,
++       0,     0,  3276,  3277,     0,     0,     0,     0,     0,     0,
++       0,   803,     0,     0,     0,     0,   262,     0,   264,     0,
++       0,     0,     0,     0,  1987,     0,     0,     0,     0,     0,
++       0,     0,  1988,     0,     0,     0,   803,     0,     0,     0,
++       0,     0,     0,     0,  3278,     0,     0,  1989,     0,     0,
++       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
++       0,     0,     0,     0,     0,     0,   803,     0,     0,     0,
++       0,     0,     0,  3279,     0,  1969,  1970,     0,     0,     0,
++     803,     0,  3280,  3281,     0,  3282,     0,     0,     0,     0,
++       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
++    1990,   803,     0,     0,     0,     0,     0,     0,  -769,  -769,
++     803,  1972,     0,     0,  3283,  3284,  3285,     0,  1991,     0,
++    -769,     0,  1992,     0,     0,     0,     0,     0,     0,     0,
++       0,  1975,     0,  3286,  3287,  3288,     0,     0,     0,  1976,
++       0,  3289,     0,     0,  3290,     0,     0,     0,     0,     0,
++       0,  3034,     0,     0,     0,  3036,     0,     0,     0,     0,
++    3291,  3292,     0,  1978,     0,     0,  1994,     0,     0,     0,
++       0,     0,     0,  1995,     0,  1996,     0,  1459,     0,     0,
++    1979,     0,     0,  1998,     0,  3064,  3065,     0,     0,     0,
++       0,     0,  3569,     0,     0,     0,  3293,  3294,     0,     0,
++       0,     0,     0,     0,     0,  3085,     0,     0,  1984,     0,
++       0,     0,     0,     0,  3095,     0,  3097,     0,  3099,     0,
++       0,  3295,     0,     0,     0,     0,     0,     0,     0,  2001,
++       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
++       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
++       0,  2004,     0,     0,     0,     0,     0,     0,     0,     0,
++       0,     0,     0,     0,     0,     0,     0,  3129,     0,   262,
++       0,   264,  3296,     0,     0,     0,  3297,  1987,     0,     0,
++       0,     0,     0,     0,     0,  1988,     0,     0,  3298,     0,
++       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
++    1989,     0,     0,     0,     0,     0,     0,     0,  2005,     0,
++       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
++       0,     0,     0,     0,  2006,     0,     0,     0,  2007,     0,
++       0,     0,     0,   803,  3186,     0,     0,     0,  3190,     0,
++       0,     0,  3299,     0,     0,  3300,     0,  2008,  3301,  3302,
++    3303,  3304,     0,  1990,     0,     0,     0,     0,     0,     0,
++       0,     0,     0,     0,     0,  2010,     0,     0,     0,     0,
++       0,  1991,   803,   803,     0,     0,     0,     0,     0,     0,
++       0,   803,     0,     0,     0,  3222,     0,     0,     0,     0,
++       0,     0,  3305,  3306,     0,     0,     0,     0,     0,     0,
++       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
++       0,     0,     0,     0,     0,     0,     0,     0,  3307,     0,
++       0,     0,     0,     0,     0,     0,  1995,     0,  1996,     0,
++       0,     0,     0,     0,     0,     0,  1998,     0,     0,     0,
++       0,     0,     0,     0,     0,     0,     0,     0,  3569,     0,
++       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
++       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
++       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
++       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
++       0,     0,     0,  2024,     0,     0,     0,     0,     0,     0,
++       0,     0,     0,     0,  2004,     0,  3319,  3320,     0,     0,
++       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
++       0,     0,     0,     0,     0,   803,     0,     0,     0,   803,
++       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
++       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
++       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
++     803,  2005,     0,     0,     0,     0,     0,     0,     0,     0,
++       0,     0,  3365,     0,   803,     0,     0,  2006,     0,     0,
++       0,  2007,     0,     0,     0,     0,     0,   803,     0,     0,
++       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
++    2008,     0,     0,     0,     0,  3403,  3404,     0,     0,     0,
++       0,     0,     0,     0,     0,     0,     0,  3411,  2010,     0,
++       0,     0,  3413,     0,     0,  3414,     0,  3415,  3416,     0,
++       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
++       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
++       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
++       0,     0,     0,  3433,     0,     0,     0,     0,     0,     0,
++    3929,     0,     0,     0,     0,     0,     0,     0,     0,     0,
++       0,     0,     0,     0,     0,     0,     0,     0,  3433,     0,
++    3955,     0,     0,     0,  3955,  3955,     0,     0,     0,     0,
++       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
++       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
++       0,     0,     0,     0,     0,   803,     0,     0,     0,     0,
++       0,     0,  3479,   803,     0,     0,     0,     0,     0,     0,
++       0,     0,   803,     0,   803,     0,     0,     0,     0,     0,
++       0,     0,     0,  3433,     0,     0,     0,     0,     0,     0,
++       0,     0,  3503,     0,     0,     0,     0,     0,     0,     0,
++       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
++       0,     0,     0,   803,     0,     0,     0,     0,     0,  3929,
++    3929,     0,     0,     0,     0,     0,     0,     0,     0,     0,
++       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
++       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
++       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
++       0,     0,     0,     0,  3955,     0,     0,     0,     0,     0,
++       0,     0,     0,  3955,     0,     0,     0,  3955,     0,     0,
++       0,     0,   803,     0,     0,     0,     0,     0,     0,     0,
++       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
++       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
++       0,     0,     0,     0,     0,     0,     0,     0,     0,   803,
++       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
++       0,     0,     0,     0,     0,     0,     0,     0,  3955,     0,
++       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
++       0,   803,     0,   803,     0,     0,     0,     0,     0,     0,
++       0,     0,     0,   803,     0,  3929,  3929,     0,     0,     0,
++       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
++       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
++    4184,     0,     0,     0,     0,     0,     0,     0,     0,     0,
++       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
++       0,     0,     0,     0,     0,  3433,     0,     0,     0,     0,
++       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
++       0,     0,     0,     0,  3955,     0,  3955,  3955,     0,     0,
++       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
++       0,     0,     0,     0,  3712,  3713,     0,   803,     0,  3929,
++       0,     0,     0,  3222,     0,     0,     0,     0,     0,     0,
++       0,     0,     0,     0,  3929,   803,     0,     0,     0,     0,
++       0,     0,     0,     0,     0,     0,     0,  3929,     0,     0,
++       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
++     803,     0,     0,     0,     0,     0,     0,     0,     0,     0,
++       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
++       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
++       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
++       0,     0,     0,     0,     0,     0,     0,     0,   803,  3929,
++       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
++       0,  3929,  3929,     0,     0,     0,     0,     0,     0,     0,
++       0,     0,     0,     0,     0,     0,     0,     0,   803,     0,
++       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
++       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
++       0,     0,     0,     0,     0,     0,     0,  3222,     0,  3929,
++       0,  3820,     0,     0,     0,     0,   803,     0,     0,  3929,
++       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
++       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
++       0,     0,  3433,     0,     0,     0,     0,     0,     0,     0,
++       0,     0,     0,     0,     0,   803,  3222,     0,     0,     0,
++       0,     0,  3929,     0,  3929,     0,     0,     0,     0,  3186,
++       0,     0,     0,     0,  3929,     0,     0,     0,   803,     0,
++       0,   803,     0,     0,     0,     0,     0,     0,     0,     0,
++       0,     0,     0,  3929,     0,  3929,     0,  3929,     0,     0,
++       0,     0,     0,     0,  3929,     0,     0,     0,     0,     0,
++       0,     0,     0,     0,     0,  3929,     0,     0,     0,     0,
++       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
++       0,  3929,  3929,     0,     0,     0,     0,   803,     0,     0,
++       0,     0,     0,     0,     0,     0,     0,  3929,  3929,     0,
++       0,     0,  3929,     0,     0,     0,     0,     0,     0,     0,
++       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
++       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
++       0,     0,     0,     0,   803,     0,     0,     0,     0,     0,
++       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
++       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
++       0,     0,     0,     0,     0,  4009,     0,     0,     0,     0,
++       0,     0,     0,     0,  4014,     0,  4016,     0,     0,     0,
++       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
++       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
++       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
++       0,     0,     0,     0,     0,  4037,     0,     0,     0,     0,
++       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
++       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
++       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
++       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
++       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
++       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
++       0,     0,     0,     0,  3222,     0,     0,     0,     0,     0,
++       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
++       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
++       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
++       0,  3222,     0,     0,     0,     0,     0,     0,     0,     0,
++       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
++       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
++       0,     0,     0,  4136,     0,  4137,     0,     0,     0,     0,
++       0,     0,     0,     0,     0,  4145,     0,     0,     0,     0,
++       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
++       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
++       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
++       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
++       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
++       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
++       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
++       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
++       0,     0,     0,     0,     0,     0,     0,     0,     0,  4241,
++       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
++       0,     0,     0,     0,     0,     0,     0,  4246,     0,     0,
++       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
++       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
++       0,     0,  3433,     0,     0,     0,     0,     0,     0,     0,
++       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
++       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
++       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
++       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
++    4295,     0,     0,     0,     0,     0,     0,     0,     0,     0,
++       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
++       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
++       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
++       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
++       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
++       0,     0,     0,     0,     0,     0,     0,     0,  4350,     0,
++       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
++       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
++       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
++       0,     0,     0,     0,     0,     0,     0,  4378,     0,     0,
++       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
++       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
++       0,     0,     0,  4397,     0,     0,     0,   139,     0,   672,
++     141,   142,   143,   144,     0,     0,   145,     0,     0,     0,
++     146,     0,     0,   673,     0,   148,   149,   150,   151,   152,
++     674,   154,     0,   155,     0,     0,   675,   156,   676,   677,
++     678,   157,   679,     0,   158,   159,   160,  1679,   161,     0,
++     162,   163,     0,     0,   164,   680,   681,   165,   166,  4445,
++     167,   682,   683,   169,   170,     0,   171,   172,   173,   174,
++     175,   684,   177,     0,   685,   179,   686,   687,   688,   689,
++     690,   691,     0,   186,   187,   188,   189,   190,   191,   192,
++     193,     0,   194,   195,     0,   196,   197,   198,   692,   200,
++       0,   201,   693,   694,   202,     0,  3433,   203,   695,   696,
++       0,   204,   697,   698,     0,   205,   206,   207,   699,   700,
++     701,     0,     0,     0,     0,   702,   210,   703,     0,     0,
++     704,   211,     0,   212,     0,     0,     0,   213,     0,   214,
++     215,   216,   217,     0,     0,     0,   218,     0,     0,   219,
++     220,   221,     0,     0,     0,   222,     0,   223,   224,     0,
++     225,   226,   227,     0,   228,   229,     0,   230,   231,   232,
++     233,   234,   235,   705,     0,   236,   237,   238,   706,   707,
++     239,   240,     0,   241,   242,   243,   708,     0,   244,     0,
++       0,     0,   245,     0,   246,     0,   247,     0,   248,   249,
++     709,   251,   710,   253,     0,   254,     0,   711,   255,   256,
++     257,     0,   258,   712,   713,     0,   259,   260,     0,     0,
++       0,   714,   262,   263,   264,   715,     0,   265,   266,   267,
++       0,   268,     0,   269,     0,     0,     0,   716,   270,   271,
++     717,     0,     0,   272,     0,   273,   274,     0,   275,   276,
++       0,     0,     0,   277,     0,     0,   278,   279,   718,     0,
++    1680,   281,     0,   719,   282,   283,     0,     0,     0,     0,
++       0,   720,   285,     0,   286,     0,   287,     0,   288,   289,
++       0,     0,   721,     0,     0,     0,   290,   291,   292,   293,
++     294,   295,   296,   297,   298,   299,   300,   301,   302,     0,
++     303,   304,   305,   722,   306,   307,   308,   309,   723,   310,
++     311,     0,     0,     0,     0,   312,   313,   314,   315,   724,
++     317,     0,     0,   725,   319,   726,   320,     0,   321,   727,
++     728,   729,   730,   731,   326,   327,   328,   329,   330,   331,
++       0,   732,   332,   333,     0,     0,   334,   335,   336,   337,
++     733,   734,   735,   338,   339,     0,   736,   737,     0,   340,
++     341,   738,     0,   343,   344,   345,   346,     0,   347,   348,
++       0,     0,     0,     0,     0,     0,     0,     0,   349,   350,
++     351,     0,   739,   352,     0,   353,   354,   355,   356,   740,
++     358,   359,   360,   361,   741,   742,   364,   743,     0,   365,
++     366,   367,     0,   368,     0,   369,   370,   371,   372,   373,
++       0,   744,   375,   376,     0,     0,   377,     0,     0,     0,
++     378,   379,   380,   381,   382,     0,     0,   383,   384,   385,
++     386,   387,     0,   388,   389,     0,   390,   391,   392,   745,
++     746,   393,     0,   394,     0,   395,   396,     0,   397,   398,
++       0,     0,   747,   399,   400,   401,   402,   403,   748,   405,
++     406,   407,   408,     0,   749,   410,     0,     0,     0,   411,
++     412,   413,   414,     0,     0,     0,   415,     0,     0,     0,
++     416,     0,   417,   418,   419,   420,     0,   421,   422,   423,
++     424,   425,   426,     0,     0,     0,     0,     0,     0,   427,
++     428,     0,   429,     0,     0,   430,     0,     0,   431,   432,
++     433,   750,   751,   434,   435,     0,   436,   437,   752,   439,
++     440,   441,   753,   754,   442,   443,   444,   445,   755,   446,
++     447,     0,   448,     0,   449,   450,   451,   452,     0,   756,
++     453,   454,     0,   757,   758,   759,   760,     0,     0,     0,
++       0,  1681,   459,   460,   461,     0,   761,   762,   763,   463,
++     464,   465,   764,   466,   467,   765,   468,   469,     0,   470,
++     471,     0,     0,   472,     0,     0,   473,     0,   474,     0,
++     766,   476,   477,     0,     0,   767,   768,   769,   770,   478,
++       0,     0,   479,   771,     0,   772,   480,   481,   482,   483,
++     484,   773,     0,     0,     0,     0,     0,     0,   486,   487,
++       0,   488,   489,   490,     0,     0,   774,     0,     0,     0,
++       0,     0,     0,     0,   775,   776,     0,     0,     0,     0,
++     777,   778,     0,     0,   779,   780,     0,     0,   781,   782,
++     139,     0,   672,   141,   142,   143,   144,  3182,     0,   145,
++       0,     0,     0,   146,     0,     0,   673,     0,   148,   149,
++     150,   151,   152,   674,   154,     0,   155,     0,     0,  3183,
++     156,   676,   677,   678,   157,   679,     0,   158,   159,   160,
++       0,   161,     0,   162,   163,     0,     0,   164,   680,   681,
++     165,   166,     0,   167,   682,   683,   169,   170,     0,   171,
++     172,   173,   174,   175,   684,   177,     0,   685,   179,   686,
++     687,   688,   689,   690,   691,     0,   186,   187,   188,   189,
++     190,   191,   192,   193,     0,   194,   195,     0,   196,   197,
++     198,   692,   200,     0,   201,   693,   694,   202,     0,     0,
++     203,   695,   696,     0,   204,   697,   698,     0,   205,   206,
++     207,   699,   700,   701,     0,     0,     0,     0,   702,   210,
++     703,     0,     0,  3184,   211,     0,   212,     0,     0,     0,
++     213,     0,   214,   215,   216,   217,     0,     0,     0,   218,
++       0,     0,   219,   220,   221,     0,     0,     0,   222,     0,
++     223,   224,     0,   225,   226,   227,     0,   228,   229,     0,
++     230,   231,   232,   233,   234,   235,   705,     0,   236,   237,
++     238,   706,   707,   239,   240,     0,   241,   242,   243,   708,
++       0,   244,     0,     0,     0,   245,     0,   246,     0,   247,
++       0,   248,   249,   709,   251,   710,   253,     0,   254,     0,
++     711,   255,   256,   257,     0,   258,   712,   713,     0,   259,
++     260,     0,     0,     0,   714,   262,   263,   264,   715,     0,
++     265,   266,   267,     0,   268,     0,   269,     0,     0,     0,
++     716,   270,   271,   717,     0,     0,   272,     0,   273,   274,
++       0,   275,   276,     0,     0,     0,   277,     0,     0,   278,
++     279,   718,     0,     0,   281,     0,   719,   282,   283,     0,
++       0,     0,     0,     0,   720,   285,     0,   286,     0,   287,
++       0,   288,   289,     0,     0,   721,     0,     0,     0,   290,
++     291,   292,   293,   294,   295,   296,   297,   298,   299,   300,
++     301,   302,     0,   303,   304,   305,   722,   306,   307,   308,
++     309,   723,   310,   311,     0,     0,     0,     0,   312,   313,
++     314,   315,   724,   317,     0,     0,   725,   319,   726,   320,
++       0,   321,   727,   728,   729,   730,   731,   326,   327,   328,
++     329,   330,   331,     0,   732,   332,   333,     0,     0,   334,
++     335,   336,   337,   733,   734,   735,   338,   339,     0,   736,
++     737,     0,   340,   341,   738,  3185,   343,   344,   345,   346,
++       0,   347,   348,     0,     0,     0,     0,     0,     0,     0,
++       0,   349,   350,   351,     0,   739,   352,     0,   353,   354,
++     355,   356,   740,   358,   359,   360,   361,   741,   742,   364,
++     743,     0,   365,   366,   367,     0,   368,     0,   369,   370,
++     371,   372,   373,     0,   744,   375,   376,     0,     0,   377,
++       0,     0,     0,   378,   379,   380,   381,   382,     0,     0,
++     383,   384,   385,   386,   387,     0,   388,   389,     0,   390,
++     391,   392,   745,   746,   393,     0,   394,     0,   395,   396,
++       0,   397,   398,     0,     0,   747,   399,   400,   401,   402,
++     403,   748,   405,   406,   407,   408,     0,   749,   410,     0,
++       0,     0,   411,   412,   413,   414,     0,     0,     0,   415,
++       0,     0,     0,   416,     0,   417,   418,   419,   420,     0,
++     421,   422,   423,   424,   425,   426,     0,     0,     0,     0,
++       0,     0,   427,   428,     0,   429,     0,     0,   430,     0,
++       0,   431,   432,   433,   750,   751,   434,   435,     0,   436,
++     437,   752,   439,   440,   441,   753,   754,   442,   443,   444,
++     445,   755,   446,   447,     0,   448,     0,   449,   450,   451,
++     452,     0,   756,   453,   454,     0,   757,   758,   759,   760,
++       0,     0,     0,     0,     0,   459,   460,   461,     0,   761,
++     762,   763,   463,   464,   465,   764,   466,   467,   765,   468,
++     469,     0,   470,   471,     0,     0,   472,     0,     0,   473,
++       0,   474,     0,   766,   476,   477,     0,     0,   767,   768,
++     769,   770,   478,     0,     0,   479,   771,     0,   772,   480,
++     481,   482,   483,   484,   773,     0,     0,     0,     0,     0,
++       0,   486,   487,     0,   488,   489,   490,     0,     0,   774,
++       0,     0,     0,     0,     0,     0,     0,   775,   776,     0,
++       0,     0,     0,   777,   778,     0,     0,   779,   780,     0,
++       0,   781,   782,   139,     0,   672,   141,   142,   143,   144,
++       0,     0,   145,     0,     0,     0,   146,     0,     0,   673,
++       0,   148,   149,   150,   151,   152,   674,   154,     0,   155,
++       0,     0,   675,   156,   676,   677,   678,   157,   679,     0,
++     158,   159,   160,     0,   161,     0,   162,   163,     0,     0,
++     164,   680,   681,   165,   166,     0,   167,   682,   683,   169,
++     170,     0,   171,   172,   173,   174,   175,   684,   177,     0,
++     685,   179,   686,   687,   688,   689,   690,   691,     0,   186,
++     187,   188,   189,   190,   191,   192,   193,     0,   194,   195,
++       0,   196,   197,   198,   692,   200,     0,   201,   693,   694,
++     202,     0,     0,   203,   695,   696,     0,   204,   697,   698,
++       0,   205,   206,   207,   699,   700,   701,     0,     0,     0,
++       0,   702,   210,   703,     0,     0,   704,   211,     0,   212,
++       0,     0,     0,   213,     0,   214,   215,   216,   217,     0,
++       0,     0,   218,     0,     0,   219,   220,   221,     0,     0,
++       0,   222,     0,   223,   224,     0,   225,   226,   227,     0,
++     228,   229,     0,   230,   231,   232,   233,   234,   235,   705,
++       0,   236,   237,   238,   706,   707,   239,   240,     0,   241,
++     242,   243,   708,     0,   244,     0,     0,     0,   245,  2203,
++     246,     0,   247,     0,   248,   249,   709,   251,   710,   253,
++       0,   254,     0,   711,   255,   256,   257,     0,   258,   712,
++     713,     0,   259,   260,     0,     0,     0,   714,   262,   263,
++     264,   715,     0,   265,   266,   267,     0,   268,     0,   269,
++       0,     0,     0,   716,   270,   271,   717,     0,     0,   272,
++       0,   273,   274,     0,   275,   276,     0,     0,     0,   277,
++       0,     0,   278,   279,   718,     0,     0,   281,     0,   719,
++     282,   283,     0,     0,     0,     0,     0,   720,   285,     0,
++     286,     0,   287,     0,   288,   289,     0,     0,   721,     0,
++       0,     0,   290,   291,   292,   293,   294,   295,   296,   297,
++     298,   299,   300,   301,   302,     0,   303,   304,   305,   722,
++     306,   307,   308,   309,   723,   310,   311,     0,     0,     0,
++       0,   312,   313,   314,   315,   724,   317,     0,     0,   725,
++     319,   726,   320,     0,   321,   727,   728,   729,   730,   731,
++     326,   327,   328,   329,   330,   331,     0,   732,   332,   333,
++       0,     0,   334,   335,   336,   337,   733,   734,   735,   338,
++     339,     0,   736,   737,     0,   340,   341,   738,     0,   343,
++     344,   345,   346,     0,   347,   348,     0,     0,     0,     0,
++       0,     0,     0,     0,   349,   350,   351,     0,   739,   352,
++       0,   353,   354,   355,   356,   740,   358,   359,   360,   361,
++     741,   742,   364,   743,     0,   365,   366,   367,     0,   368,
++       0,   369,   370,   371,   372,   373,     0,   744,   375,   376,
++       0,     0,   377,     0,     0,     0,   378,   379,   380,   381,
++     382,     0,     0,   383,   384,   385,   386,   387,     0,   388,
++     389,     0,   390,   391,   392,   745,   746,   393,     0,   394,
++       0,   395,   396,     0,   397,   398,     0,     0,   747,   399,
++     400,   401,   402,   403,   748,   405,   406,   407,   408,     0,
++     749,   410,     0,     0,     0,   411,   412,   413,   414,     0,
++       0,     0,   415,     0,     0,     0,   416,     0,   417,   418,
++     419,   420,     0,   421,   422,   423,   424,   425,   426,     0,
++       0,     0,     0,     0,     0,   427,   428,     0,   429,     0,
++       0,   430,     0,     0,   431,   432,   433,   750,   751,   434,
++     435,     0,   436,   437,   752,   439,   440,   441,   753,   754,
++     442,   443,   444,   445,   755,   446,   447,     0,   448,     0,
++     449,   450,   451,   452,     0,   756,   453,   454,     0,   757,
++     758,   759,   760,     0,     0,     0,     0,     0,   459,   460,
++     461,     0,   761,   762,   763,   463,   464,   465,   764,   466,
++     467,   765,   468,   469,     0,   470,   471,     0,     0,   472,
++       0,     0,   473,     0,   474,     0,   766,   476,   477,     0,
++       0,   767,   768,   769,   770,   478,     0,     0,   479,   771,
++       0,   772,   480,   481,   482,   483,   484,   773,     0,     0,
++       0,     0,     0,     0,   486,   487,     0,   488,   489,   490,
++       0,     0,   774,     0,     0,     0,     0,     0,     0,     0,
++     775,   776,     0,     0,     0,     0,   777,   778,     0,     0,
++     779,   780,     0,     0,   781,   782,   139,     0,   672,   141,
++     142,   143,   144,     0,     0,   145,     0,     0,     0,   146,
++       0,     0,   673,     0,   148,   149,   150,   151,   152,   674,
++     154,     0,   155,     0,     0,   675,   156,   676,   677,   678,
++     157,   679,     0,   158,   159,   160,     0,   161,     0,   162,
++     163,     0,     0,   164,   680,   681,   165,   166,     0,   167,
++     682,   683,   169,   170,     0,   171,   172,   173,   174,   175,
++     684,   177,     0,   685,   179,   686,   687,   688,   689,   690,
++     691,     0,   186,   187,   188,   189,   190,   191,   192,   193,
++       0,   194,   195,     0,   196,   197,   198,   692,   200,     0,
++     201,   693,   694,   202,     0,     0,   203,   695,   696,     0,
++     204,   697,   698,     0,   205,   206,   207,   699,   700,   701,
++       0,     0,     0,     0,   702,   210,   703,     0,     0,   704,
++     211,     0,   212,     0,     0,     0,   213,     0,   214,   215,
++     216,   217,     0,     0,     0,   218,     0,     0,   219,   220,
++     221,     0,     0,     0,   222,     0,   223,   224,     0,   225,
++     226,   227,     0,   228,   229,     0,   230,   231,   232,   233,
++     234,   235,   705,     0,   236,   237,   238,   706,   707,   239,
++     240,     0,   241,   242,   243,   708,     0,   244,     0,     0,
++       0,   245,  2205,   246,     0,   247,     0,   248,   249,   709,
++     251,   710,   253,     0,   254,     0,   711,   255,   256,   257,
++       0,   258,   712,   713,     0,   259,   260,     0,     0,     0,
++     714,   262,   263,   264,   715,     0,   265,   266,   267,     0,
++     268,     0,   269,     0,     0,     0,   716,   270,   271,   717,
++       0,     0,   272,     0,   273,   274,     0,   275,   276,     0,
++       0,     0,   277,     0,     0,   278,   279,   718,     0,     0,
++     281,     0,   719,   282,   283,     0,     0,     0,     0,     0,
++     720,   285,     0,   286,     0,   287,     0,   288,   289,     0,
++       0,   721,     0,     0,     0,   290,   291,   292,   293,   294,
++     295,   296,   297,   298,   299,   300,   301,   302,     0,   303,
++     304,   305,   722,   306,   307,   308,   309,   723,   310,   311,
++       0,     0,     0,     0,   312,   313,   314,   315,   724,   317,
++       0,     0,   725,   319,   726,   320,     0,   321,   727,   728,
++     729,   730,   731,   326,   327,   328,   329,   330,   331,     0,
++     732,   332,   333,     0,     0,   334,   335,   336,   337,   733,
++     734,   735,   338,   339,     0,   736,   737,     0,   340,   341,
++     738,     0,   343,   344,   345,   346,     0,   347,   348,     0,
++       0,     0,     0,     0,     0,     0,     0,   349,   350,   351,
++       0,   739,   352,     0,   353,   354,   355,   356,   740,   358,
++     359,   360,   361,   741,   742,   364,   743,     0,   365,   366,
++     367,     0,   368,     0,   369,   370,   371,   372,   373,     0,
++     744,   375,   376,     0,     0,   377,     0,     0,     0,   378,
++     379,   380,   381,   382,     0,     0,   383,   384,   385,   386,
++     387,     0,   388,   389,     0,   390,   391,   392,   745,   746,
++     393,     0,   394,     0,   395,   396,     0,   397,   398,     0,
++       0,   747,   399,   400,   401,   402,   403,   748,   405,   406,
++     407,   408,     0,   749,   410,     0,     0,     0,   411,   412,
++     413,   414,     0,     0,     0,   415,     0,     0,     0,   416,
++       0,   417,   418,   419,   420,     0,   421,   422,   423,   424,
++     425,   426,     0,     0,     0,     0,     0,     0,   427,   428,
++       0,   429,     0,     0,   430,     0,     0,   431,   432,   433,
++     750,   751,   434,   435,     0,   436,   437,   752,   439,   440,
++     441,   753,   754,   442,   443,   444,   445,   755,   446,   447,
++       0,   448,     0,   449,   450,   451,   452,     0,   756,   453,
++     454,     0,   757,   758,   759,   760,     0,     0,     0,     0,
++       0,   459,   460,   461,     0,   761,   762,   763,   463,   464,
++     465,   764,   466,   467,   765,   468,   469,     0,   470,   471,
++       0,     0,   472,     0,     0,   473,     0,   474,     0,   766,
++     476,   477,     0,     0,   767,   768,   769,   770,   478,     0,
++       0,   479,   771,     0,   772,   480,   481,   482,   483,   484,
++     773,     0,     0,     0,     0,     0,     0,   486,   487,     0,
++     488,   489,   490,     0,     0,   774,     0,     0,     0,     0,
++       0,     0,     0,   775,   776,     0,     0,     0,     0,   777,
++     778,     0,     0,   779,   780,     0,     0,   781,   782,   139,
++       0,   672,   141,   142,   143,   144,     0,     0,   145,     0,
++       0,     0,   146,     0,     0,   673,     0,   148,   149,   150,
++     151,   152,   674,   154,     0,   155,     0,     0,   675,   156,
++     676,   677,   678,   157,   679,     0,   158,   159,   160,     0,
++     161,     0,   162,   163,     0,     0,   164,   680,   681,   165,
++     166,     0,   167,   682,   683,   169,   170,     0,   171,   172,
++     173,   174,   175,   684,   177,     0,   685,   179,   686,   687,
++     688,   689,   690,   691,     0,   186,   187,   188,   189,   190,
++     191,   192,   193,     0,   194,   195,     0,   196,   197,   198,
++     692,   200,     0,   201,   693,   694,   202,     0,     0,   203,
++     695,   696,     0,   204,   697,   698,     0,   205,   206,   207,
++     699,   700,   701,     0,     0,     0,     0,   702,   210,   703,
++       0,     0,   704,   211,     0,   212,     0,     0,     0,   213,
++       0,   214,   215,   216,   217,     0,     0,     0,   218,     0,
++       0,   219,   220,   221,     0,     0,     0,   222,     0,   223,
++     224,     0,   225,   226,   227,     0,   228,   229,     0,   230,
++     231,   232,   233,   234,   235,   705,     0,   236,   237,   238,
++     706,   707,   239,   240,     0,   241,   242,   243,   708,     0,
++     244,     0,     0,     0,   245,  2207,   246,     0,   247,     0,
++     248,   249,   709,   251,   710,   253,     0,   254,     0,   711,
++     255,   256,   257,     0,   258,   712,   713,     0,   259,   260,
++       0,     0,     0,   714,   262,   263,   264,   715,     0,   265,
++     266,   267,     0,   268,     0,   269,     0,     0,     0,   716,
++     270,   271,   717,     0,     0,   272,     0,   273,   274,     0,
++     275,   276,     0,     0,     0,   277,     0,     0,   278,   279,
++     718,     0,     0,   281,     0,   719,   282,   283,     0,     0,
++       0,     0,     0,   720,   285,     0,   286,     0,   287,     0,
++     288,   289,     0,     0,   721,     0,     0,     0,   290,   291,
++     292,   293,   294,   295,   296,   297,   298,   299,   300,   301,
++     302,     0,   303,   304,   305,   722,   306,   307,   308,   309,
++     723,   310,   311,     0,     0,     0,     0,   312,   313,   314,
++     315,   724,   317,     0,     0,   725,   319,   726,   320,     0,
++     321,   727,   728,   729,   730,   731,   326,   327,   328,   329,
++     330,   331,     0,   732,   332,   333,     0,     0,   334,   335,
++     336,   337,   733,   734,   735,   338,   339,     0,   736,   737,
++       0,   340,   341,   738,     0,   343,   344,   345,   346,     0,
++     347,   348,     0,     0,     0,     0,     0,     0,     0,     0,
++     349,   350,   351,     0,   739,   352,     0,   353,   354,   355,
++     356,   740,   358,   359,   360,   361,   741,   742,   364,   743,
++       0,   365,   366,   367,     0,   368,     0,   369,   370,   371,
++     372,   373,     0,   744,   375,   376,     0,     0,   377,     0,
++       0,     0,   378,   379,   380,   381,   382,     0,     0,   383,
++     384,   385,   386,   387,     0,   388,   389,     0,   390,   391,
++     392,   745,   746,   393,     0,   394,     0,   395,   396,     0,
++     397,   398,     0,     0,   747,   399,   400,   401,   402,   403,
++     748,   405,   406,   407,   408,     0,   749,   410,     0,     0,
++       0,   411,   412,   413,   414,     0,     0,     0,   415,     0,
++       0,     0,   416,     0,   417,   418,   419,   420,     0,   421,
++     422,   423,   424,   425,   426,     0,     0,     0,     0,     0,
++       0,   427,   428,     0,   429,     0,     0,   430,     0,     0,
++     431,   432,   433,   750,   751,   434,   435,     0,   436,   437,
++     752,   439,   440,   441,   753,   754,   442,   443,   444,   445,
++     755,   446,   447,     0,   448,     0,   449,   450,   451,   452,
++       0,   756,   453,   454,     0,   757,   758,   759,   760,     0,
++       0,     0,     0,     0,   459,   460,   461,     0,   761,   762,
++     763,   463,   464,   465,   764,   466,   467,   765,   468,   469,
++       0,   470,   471,     0,     0,   472,     0,     0,   473,     0,
++     474,     0,   766,   476,   477,     0,     0,   767,   768,   769,
++     770,   478,     0,     0,   479,   771,     0,   772,   480,   481,
++     482,   483,   484,   773,     0,     0,     0,     0,     0,     0,
++     486,   487,     0,   488,   489,   490,     0,     0,   774,     0,
++       0,     0,     0,     0,     0,     0,   775,   776,     0,     0,
++       0,     0,   777,   778,     0,     0,   779,   780,     0,     0,
++     781,   782,   139,     0,   672,   141,   142,   143,   144,     0,
++       0,   145,     0,     0,     0,   146,     0,     0,   673,     0,
++     148,   149,   150,   151,   152,   674,   154,     0,   155,     0,
++       0,   675,   156,   676,   677,   678,   157,   679,     0,   158,
++     159,   160,     0,   161,     0,   162,   163,     0,     0,   164,
++     680,   681,   165,   166,     0,   167,   682,   683,   169,   170,
++       0,   171,   172,   173,   174,   175,   684,   177,     0,   685,
++     179,   686,   687,   688,   689,   690,   691,     0,   186,   187,
++     188,   189,   190,   191,   192,   193,     0,   194,   195,     0,
++     196,   197,   198,   692,   200,     0,   201,   693,   694,   202,
++       0,     0,   203,   695,   696,     0,   204,   697,   698,     0,
++     205,   206,   207,   699,   700,   701,     0,     0,     0,     0,
++     702,   210,   703,     0,     0,   704,   211,     0,   212,     0,
++       0,     0,   213,     0,   214,   215,   216,   217,     0,     0,
++       0,   218,     0,     0,   219,   220,   221,     0,     0,     0,
++     222,     0,   223,   224,     0,   225,   226,   227,     0,   228,
++     229,     0,   230,   231,   232,   233,   234,   235,   705,     0,
++     236,   237,   238,   706,   707,   239,   240,     0,   241,   242,
++     243,   708,     0,   244,     0,     0,     0,   245,     0,   246,
++       0,   247,     0,   248,   249,   709,   251,   710,   253,     0,
++     254,     0,   711,   255,   256,   257,     0,   258,   712,   713,
++       0,   259,   260,     0,     0,     0,   714,   262,   263,   264,
++     715,     0,   265,   266,   267,     0,   268,     0,   269,     0,
++       0,     0,   716,   270,   271,   717,     0,     0,   272,     0,
++     273,   274,     0,   275,   276,     0,     0,     0,   277,     0,
++       0,   278,   279,   718,     0,     0,   281,     0,   719,   282,
++     283,     0,     0,     0,     0,     0,   720,   285,     0,   286,
++       0,   287,     0,   288,   289,     0,     0,   721,     0,     0,
++       0,   290,   291,   292,   293,   294,   295,   296,   297,   298,
++     299,   300,   301,   302,     0,   303,   304,   305,   722,   306,
++     307,   308,   309,   723,   310,   311,     0,     0,     0,     0,
++     312,   313,   314,   315,   724,   317,     0,     0,   725,   319,
++     726,   320,     0,   321,   727,   728,   729,   730,   731,   326,
++     327,   328,   329,   330,   331,     0,   732,   332,   333,     0,
++       0,   334,   335,   336,   337,   733,   734,   735,   338,   339,
++       0,   736,   737,     0,   340,   341,   738,     0,   343,   344,
++     345,   346,     0,   347,   348,     0,     0,     0,     0,     0,
++       0,     0,     0,   349,   350,   351,     0,   739,   352,     0,
++     353,   354,   355,   356,   740,   358,   359,   360,   361,   741,
++     742,   364,   743,     0,   365,   366,   367,     0,   368,     0,
++     369,   370,   371,   372,   373,     0,   744,   375,   376,     0,
++       0,   377,     0,     0,     0,   378,   379,   380,   381,   382,
++       0,     0,   383,   384,   385,   386,   387,     0,   388,   389,
++       0,   390,   391,   392,   745,   746,   393,     0,   394,     0,
++     395,   396,     0,   397,   398,     0,     0,   747,   399,   400,
++     401,   402,   403,   748,   405,   406,   407,   408,     0,   749,
++     410,     0,     0,     0,   411,   412,   413,   414,     0,     0,
++       0,   415,     0,     0,     0,   416,     0,   417,   418,   419,
++     420,     0,   421,   422,   423,   424,   425,   426,     0,     0,
++       0,     0,     0,     0,   427,   428,     0,   429,     0,     0,
++     430,     0,     0,   431,   432,   433,   750,   751,   434,   435,
++       0,   436,   437,   752,   439,   440,   441,   753,   754,   442,
++     443,   444,   445,   755,   446,   447,     0,   448,     0,   449,
++     450,   451,   452,     0,   756,   453,   454,     0,   757,   758,
++     759,   760,     0,     0,     0,     0,     0,   459,   460,   461,
++       0,   761,   762,   763,   463,   464,   465,   764,   466,   467,
++     765,   468,   469,     0,   470,   471,     0,     0,   472,     0,
++       0,   473,     0,   474,     0,   766,   476,   477,     0,     0,
++     767,   768,   769,   770,   478,     0,     0,   479,   771,     0,
++     772,   480,   481,   482,   483,   484,   773,     0,     0,     0,
++       0,     0,     0,   486,   487,     0,   488,   489,   490,     0,
++       0,   774,     0,     0,     0,     0,     0,     0,     0,   775,
++     776,     0,     0,     0,     0,   777,   778,     0,     0,   779,
++     780,     0,     0,   781,   782,   139,     0,   672,   141,   142,
++     143,   144,     0,     0,   145,     0,     0,     0,   146,     0,
++       0,   673,     0,   148,   149,   150,   151,   152,   674,   154,
++       0,   155,     0,     0,   675,   156,   676,   677,   678,   157,
++     679,     0,   158,   159,   160,     0,   161,     0,   162,   163,
++       0,     0,   164,   680,   681,   165,   166,     0,   167,   682,
++     683,   169,   170,     0,   171,   172,   173,   174,   175,   684,
++     177,     0,   685,   179,   686,   687,   688,   689,   690,   691,
++       0,   186,   187,   188,   189,   190,   191,   192,   193,     0,
++     194,   195,     0,   196,   197,   198,   692,   200,     0,   201,
++     693,   694,   202,     0,     0,   203,   695,   696,     0,   204,
++     697,   698,     0,   205,   206,   207,   699,   700,   701,     0,
++       0,     0,     0,   702,   210,   703,     0,     0,   704,   211,
++       0,   212,     0,     0,     0,   213,     0,   214,   215,   216,
++     217,     0,     0,     0,   218,     0,     0,   219,   220,   221,
++       0,     0,     0,   222,     0,   223,   224,     0,   225,   226,
++     227,     0,   228,   229,     0,   230,   231,   232,   233,   234,
++     235,   705,     0,   236,   237,   238,   706,   707,   239,   240,
++       0,   241,   242,   243,   708,     0,   244,     0,     0,     0,
++     245,     0,   246,     0,   247,     0,   248,   249,   709,   251,
++     710,   253,     0,   254,     0,   711,   255,   256,   257,     0,
++     258,   712,   713,     0,   259,   260,     0,     0,     0,   714,
++     262,   263,   264,   715,     0,   265,   266,   267,     0,   268,
++       0,   269,     0,     0,     0,   716,   270,   271,   717,     0,
++       0,   272,     0,   273,   274,     0,   275,   276,     0,     0,
++       0,   277,     0,     0,   278,   279,   718,     0,     0,   281,
++       0,   719,   282,   283,     0,     0,     0,     0,     0,   720,
++     285,     0,   286,     0,   287,     0,   288,   289,     0,     0,
++     721,     0,     0,     0,   290,   291,   292,   293,   294,   295,
++     296,   297,   298,   299,   300,   301,   302,     0,   303,   304,
++     305,   722,   306,   307,   308,   309,   723,   310,   311,     0,
++       0,     0,     0,   312,   313,   314,   315,   724,   317,     0,
++       0,   725,   319,   726,   320,     0,   321,   727,   728,   729,
++     730,   731,   326,   327,   328,   329,   330,   331,     0,   732,
++     332,   333,     0,     0,   334,   335,   336,   337,   733,   734,
++     735,   338,   339,     0,   736,   737,     0,   340,   341,   738,
++       0,   343,   344,   345,   346,     0,   347,   348,     0,     0,
++       0,     0,     0,     0,     0,     0,   349,   350,   351,     0,
++     739,   352,     0,   353,   354,   355,   356,   740,   358,   359,
++     360,   361,   741,   742,   364,   743,     0,   365,   366,   367,
++       0,   368,     0,   369,   370,   371,   372,   373,     0,   744,
++     375,   376,     0,     0,   377,     0,     0,     0,   378,   379,
++     380,   381,   382,     0,     0,   383,   384,   385,   386,   387,
++       0,   388,   389,     0,   390,   391,   392,   745,   746,   393,
++       0,   394,     0,   395,   396,     0,   397,   398,     0,     0,
++     747,   399,   400,   401,   402,   403,   748,   405,   406,   407,
++     408,     0,   749,   410,     0,     0,     0,   411,   412,   413,
++     414,     0,     0,     0,   415,     0,     0,     0,   416,     0,
++     417,   418,   419,   420,     0,   421,   422,   423,   424,   425,
++     426,     0,     0,     0,     0,     0,     0,   427,   428,     0,
++     429,     0,     0,   430,     0,     0,   431,   432,   433,   750,
++     751,   434,   435,     0,   436,   437,   752,   439,   440,   441,
++     753,   754,   442,   443,   444,   445,   755,   446,   447,     0,
++     448,     0,   449,   450,   451,   452,     0,   756,   453,   454,
++       0,   757,   758,   759,   760,     0,     0,     0,     0,     0,
++     459,   460,   461,     0,   761,   762,   763,   463,   464,   465,
++     764,   466,   467,   765,   468,   469,     0,   470,   471,     0,
++       0,   472,     0,     0,   473,     0,   474,     0,   766,   476,
++     477,     0,     0,   767,   768,   769,   770,   478,     0,     0,
++     479,   771,     0,   772,   480,   481,   482,   483,   484,   773,
++       0,     0,     0,     0,     0,     0,   486,   487,     0,   488,
++     489,   490,     0,     0,   774,     0,     0,     0,     0,     0,
++       0,     0,   775,   776,     0,     0,     0,     0,   777,  1124,
++       0,     0,   779,   780,     0,     0,   781,   782,   139,     0,
++     672,   141,   142,   143,   144,  1713,     0,   145,     0,     0,
++       0,  1714,     0,     0,   673,     0,   148,   149,   150,   151,
++     152,   674,   154,     0,   155,     0,     0,   675,   156,   676,
++     677,   678,   157,   679,     0,   158,   159,   160,     0,   161,
++       0,   162,   163,     0,     0,   164,   680,   681,   165,   166,
++       0,   167,   682,   683,   169,   170,     0,   171,   172,   173,
++     174,   175,   684,   177,     0,   685,   179,   686,   687,   688,
++     689,   690,   691,     0,   186,   187,   188,   189,   190,   191,
++     192,   193,     0,   194,   195,     0,   196,   197,   198,   692,
++     200,     0,   201,   693,   694,   202,     0,     0,   203,   695,
++     696,     0,   204,   697,   698,     0,   205,   206,   207,   699,
++     700,   701,     0,     0,     0,     0,   702,   210,   703,     0,
++       0,   704,   211,     0,   212,     0,     0,     0,   213,     0,
++     214,   215,   216,   217,     0,     0,     0,   218,     0,     0,
++     219,   220,   221,     0,     0,     0,   222,     0,   223,   224,
++       0,   225,   226,   227,     0,   228,   229,     0,   230,   231,
++     232,   233,   234,   235,   705,     0,   236,   237,   238,   706,
++     707,   239,   240,     0,   241,   242,   243,   708,     0,   244,
++       0,     0,     0,   245,     0,   246,     0,   247,     0,   248,
++     249,   709,   251,   710,   253,     0,   254,     0,   711,   255,
++     256,   257,     0,   258,   712,   713,     0,   259,   260,     0,
++       0,     0,   714,   262,   263,   264,   715,     0,   265,   266,
++     267,     0,   268,     0,   269,     0,     0,     0,   716,   270,
++     271,   717,     0,     0,   272,     0,   273,   274,     0,   275,
++     276,     0,     0,     0,   277,     0,     0,   278,   279,   718,
++       0,     0,   281,     0,   719,   282,   283,     0,     0,     0,
++       0,     0,   720,   285,     0,   286,     0,   287,     0,   288,
++     289,     0,     0,   721,     0,     0,     0,   290,   291,   292,
++     293,   294,   295,   296,   297,   298,   299,   300,   301,   302,
++       0,   303,   304,   305,   722,   306,   307,   308,   309,   723,
++     310,   311,     0,     0,     0,     0,   312,   313,   314,   315,
++     724,   317,     0,     0,   725,   319,   726,   320,     0,   321,
++     727,   728,   729,   730,   731,   326,   327,   328,   329,   330,
++     331,     0,   732,   332,   333,     0,     0,   334,   335,   336,
++     337,   733,     0,   735,   338,   339,     0,   736,   737,     0,
++     340,   341,   738,     0,   343,   344,   345,   346,     0,   347,
++     348,     0,     0,     0,     0,     0,     0,     0,     0,   349,
++     350,   351,     0,   739,   352,     0,   353,   354,   355,   356,
++     740,   358,   359,   360,   361,   741,   742,   364,   743,     0,
++     365,   366,   367,     0,   368,     0,   369,   370,   371,   372,
++     373,     0,   744,   375,   376,     0,     0,   377,     0,     0,
++       0,   378,   379,   380,   381,   382,     0,     0,   383,   384,
++     385,   386,   387,     0,   388,   389,     0,   390,   391,   392,
++     745,   746,   393,     0,   394,     0,   395,   396,     0,   397,
++     398,     0,     0,   747,   399,   400,   401,   402,   403,   748,
++     405,   406,   407,   408,     0,   749,   410,     0,     0,     0,
++     411,   412,   413,   414,     0,     0,     0,   415,     0,     0,
++       0,   416,     0,   417,   418,   419,   420,     0,   421,   422,
++     423,   424,   425,   426,     0,     0,     0,     0,     0,     0,
++     427,   428,     0,   429,     0,     0,   430,     0,     0,   431,
++     432,   433,   750,   751,   434,   435,     0,   436,   437,   752,
++     439,   440,   441,   753,   754,   442,   443,   444,   445,   755,
++     446,   447,     0,   448,     0,   449,   450,   451,   452,     0,
++     756,   453,   454,     0,   757,   758,   759,   760,     0,     0,
++       0,     0,     0,   459,   460,   461,     0,   761,   762,   763,
++     463,   464,   465,   764,   466,   467,   765,   468,   469,     0,
++     470,   471,     0,     0,   472,     0,     0,   473,     0,   474,
++       0,   766,   476,   477,     0,     0,   767,   768,   769,   770,
++     478,     0,     0,   479,   771,     0,   772,   480,   481,   482,
++     483,   484,   773,     0,     0,     0,     0,     0,     0,   486,
++     487,     0,   488,   489,   490,     0,     0,   774,     0,     0,
++       0,     0,     0,     0,     0,   775,   776,     0,     0,     0,
++       0,   777,   778,     0,     0,   779,   780,     0,     0,   781,
++     782,   139,     0,   672,   141,   142,   143,   144,     0,     0,
++     145,     0,     0,     0,   146,     0,     0,   673,     0,   148,
++     149,   150,   151,   152,   674,   154,     0,   155,     0,     0,
++     675,   156,   676,   677,   678,   157,   679,     0,   158,   159,
++     160,     0,   161,     0,   162,   163,     0,     0,   164,   680,
++     681,   165,   166,     0,   167,   682,   683,   169,   170,     0,
++     171,   172,   173,   174,   175,   684,   177,     0,   685,   179,
++     686,   687,   688,   689,   690,   691,     0,   186,   187,   188,
++     189,   190,   191,   192,   193,     0,   194,   195,     0,   196,
++     197,   198,   692,   200,     0,   201,   693,   694,   202,     0,
++       0,   203,   695,   696,     0,   204,   697,   698,     0,   205,
++     206,   207,   699,   700,   701,     0,     0,     0,     0,   702,
++     210,   703,     0,     0,   704,   211,     0,   212,     0,     0,
++       0,   213,     0,   214,   215,   216,   217,     0,     0,     0,
++     218,     0,     0,   219,   220,   221,     0,     0,     0,   222,
++       0,   223,   224,     0,   225,   226,   227,     0,   228,   229,
++       0,   230,   231,   232,   233,   234,   235,   705,     0,   236,
++     237,   238,   706,   707,   239,   240,     0,   241,   242,   243,
++     708,     0,   244,     0,     0,     0,   245,     0,   246,     0,
++     247,     0,   248,   249,   709,   251,   710,   253,     0,   254,
++       0,   711,   255,   256,   257,     0,   258,   712,   713,     0,
++     259,   260,     0,     0,     0,   714,   262,   263,   264,   715,
++       0,   265,   266,   267,     0,   268,     0,   269,     0,     0,
++       0,   716,   270,   271,   717,     0,     0,   272,     0,   273,
++     274,     0,   275,   276,     0,     0,     0,   277,     0,     0,
++     278,   279,   718,     0,     0,   281,     0,   719,   282,   283,
++       0,     0,     0,     0,     0,   720,   285,     0,   286,     0,
++     287,     0,   288,   289,     0,     0,   721,     0,     0,     0,
++     290,   291,   292,   293,   294,   295,   296,   297,   298,   299,
++     300,   301,   302,     0,   303,   304,   305,   722,   306,   307,
++     308,   309,   723,   310,   311,     0,     0,     0,     0,   312,
++     313,   314,   315,   724,   317,     0,     0,   725,   319,   726,
++     320,     0,   321,   727,   728,   729,   730,   731,   326,   327,
++     328,   329,   330,   331,     0,   732,   332,   333,     0,     0,
++     334,   335,   336,   337,   733,   734,   735,   338,   339,     0,
++     736,   737,     0,   340,   341,   738,     0,   343,   344,   345,
++     346,     0,   347,   348,     0,     0,     0,     0,     0,     0,
++       0,     0,   349,   350,   351,     0,   739,   352,     0,   353,
++     354,   355,   356,   740,   358,   359,   360,   361,   741,   742,
++     364,   743,     0,   365,   366,   367,     0,   368,     0,   369,
++     370,   371,   372,   373,     0,   744,   375,   376,     0,     0,
++     377,     0,     0,     0,   378,   379,   380,   381,   382,     0,
++       0,   383,   384,   385,   386,   387,     0,   388,   389,     0,
++     390,   391,   392,   745,   746,   393,     0,   394,     0,   395,
++     396,     0,   397,   398,     0,     0,   747,   399,   400,   401,
++     402,   403,   748,   405,   406,   407,   408,     0,   749,   410,
++       0,     0,     0,   411,   412,   413,   414,     0,     0,     0,
++     415,     0,     0,     0,   416,     0,   417,   418,   419,   420,
++       0,   421,   422,   423,   424,   425,   426,     0,     0,     0,
++       0,     0,     0,   427,   428,     0,   429,     0,     0,   430,
++       0,     0,   431,   432,   433,   750,   751,   434,   435,     0,
++     436,   437,   752,   439,   440,   441,   753,   754,   442,   443,
++     444,   445,   755,   446,   447,     0,   448,     0,   449,   450,
++     451,   452,     0,   756,   453,   454,     0,   757,   758,   759,
++     760,     0,     0,     0,     0,     0,   459,   460,   461,     0,
++     761,   762,   763,   463,   464,   465,   764,   466,   467,   765,
++     468,   469,     0,   470,   471,     0,     0,   472,     0,     0,
++     473,     0,   474,     0,  1788,   476,   477,     0,     0,   767,
++     768,   769,   770,   478,     0,     0,   479,   771,     0,   772,
++     480,   481,   482,   483,   484,   773,     0,     0,     0,     0,
++       0,     0,   486,   487,     0,   488,   489,   490,     0,     0,
++     774,     0,     0,     0,     0,     0,     0,     0,   775,   776,
++       0,     0,     0,     0,   777,   778,     0,     0,   779,   780,
++       0,     0,   781,   782,   139,     0,   672,   141,   142,   143,
++     144,     0,     0,   145,     0,     0,     0,   146,     0,     0,
++     673,     0,   148,   149,   150,   151,   152,   674,   154,     0,
++     155,     0,     0,   675,   156,   676,   677,   678,   157,   679,
++       0,   158,   159,   160,     0,   161,     0,   162,   163,     0,
++       0,   164,   680,   681,   165,   166,     0,   167,   682,   683,
++     169,   170,     0,   171,   172,   173,   174,   175,   684,   177,
++       0,   685,   179,   686,   687,   688,   689,   690,   691,     0,
++     186,   187,   188,   189,   190,   191,   192,   193,     0,   194,
++     195,     0,   196,   197,   198,   692,   200,     0,   201,   693,
++     694,   202,     0,     0,   203,   695,   696,     0,   204,   697,
++     698,     0,   205,   206,   207,   699,   700,   701,     0,     0,
++       0,     0,   702,   210,   703,     0,     0,   704,   211,     0,
++     212,     0,     0,     0,   213,     0,   214,   215,   216,   217,
++       0,     0,     0,   218,     0,     0,   219,   220,   221,     0,
++       0,     0,   222,     0,   223,   224,     0,   225,   226,   227,
++       0,   228,   229,     0,   230,   231,   232,   233,   234,   235,
++     705,     0,   236,   237,   238,   706,   707,   239,   240,     0,
++     241,   242,   243,   708,     0,   244,     0,     0,     0,   245,
++       0,   246,     0,   247,     0,   248,   249,   709,   251,   710,
++     253,     0,   254,     0,   711,   255,   256,   257,     0,   258,
++     712,   713,     0,   259,   260,     0,     0,     0,   714,   262,
++     263,   264,   715,     0,   265,   266,   267,     0,   268,     0,
++     269,     0,     0,     0,   716,   270,   271,  2616,     0,     0,
++     272,     0,   273,   274,     0,   275,   276,     0,     0,     0,
++     277,     0,     0,   278,   279,   718,     0,     0,   281,     0,
++     719,   282,   283,     0,     0,     0,     0,     0,   720,   285,
++       0,   286,     0,   287,     0,   288,   289,     0,     0,   721,
++       0,     0,     0,   290,   291,   292,   293,   294,   295,   296,
++     297,   298,   299,   300,   301,   302,     0,   303,   304,   305,
++     722,   306,   307,   308,   309,   723,   310,   311,     0,     0,
++       0,     0,   312,   313,   314,   315,   724,   317,     0,     0,
++     725,   319,   726,   320,     0,   321,   727,   728,   729,   730,
++     731,   326,   327,   328,   329,   330,   331,     0,   732,   332,
++     333,     0,     0,   334,   335,   336,   337,   733,   734,   735,
++     338,   339,     0,   736,   737,     0,   340,   341,   738,     0,
++     343,   344,   345,   346,     0,   347,   348,     0,     0,     0,
++       0,     0,     0,     0,     0,   349,   350,   351,     0,   739,
++     352,     0,   353,   354,   355,   356,   740,   358,   359,   360,
++     361,   741,   742,   364,   743,     0,   365,   366,   367,     0,
++     368,     0,   369,   370,   371,   372,   373,     0,   744,   375,
++     376,     0,     0,   377,     0,     0,     0,   378,   379,   380,
++     381,   382,     0,     0,   383,   384,   385,   386,   387,     0,
++     388,   389,     0,   390,   391,   392,   745,   746,   393,     0,
++     394,     0,   395,   396,     0,   397,   398,     0,     0,   747,
++     399,   400,   401,   402,   403,   748,   405,   406,   407,   408,
++       0,   749,   410,     0,     0,     0,   411,   412,   413,   414,
++       0,     0,     0,   415,     0,     0,     0,   416,     0,   417,
++     418,   419,   420,     0,   421,   422,   423,   424,   425,   426,
++       0,     0,     0,     0,     0,     0,   427,   428,     0,   429,
++       0,     0,   430,     0,     0,   431,   432,   433,   750,   751,
++     434,   435,     0,   436,   437,   752,   439,   440,   441,   753,
++     754,   442,   443,   444,   445,   755,   446,   447,     0,   448,
++       0,   449,   450,   451,   452,     0,   756,   453,   454,     0,
++     757,   758,   759,   760,     0,     0,     0,     0,     0,   459,
++     460,   461,     0,   761,   762,   763,   463,   464,   465,   764,
++     466,   467,   765,   468,   469,     0,   470,   471,     0,     0,
++     472,     0,     0,   473,     0,   474,     0,   766,   476,   477,
++       0,     0,   767,   768,   769,   770,   478,     0,     0,   479,
++     771,     0,   772,   480,   481,   482,   483,   484,   773,     0,
++       0,     0,     0,     0,     0,   486,   487,     0,   488,   489,
++     490,     0,     0,   774,     0,     0,     0,     0,     0,     0,
++       0,   775,   776,     0,     0,     0,     0,   777,   778,     0,
++       0,   779,   780,     0,     0,   781,   782,   139,     0,   672,
++     141,   142,   143,   144,     0,     0,   145,     0,     0,     0,
++     146,     0,     0,   673,     0,   148,   149,   150,   151,   152,
++     674,   154,     0,   155,     0,     0,   675,   156,   676,   677,
++     678,   157,   679,     0,   158,   159,   160,     0,   161,     0,
++     162,   163,     0,     0,   164,   680,   681,   165,   166,     0,
++     167,   682,   683,   169,   170,     0,   171,   172,   173,   174,
++     175,   684,   177,     0,   685,   179,   686,   687,   688,   689,
++     690,   691,     0,   186,   187,   188,   189,   190,   191,   192,
++     193,     0,   194,   195,     0,   196,   197,   198,   692,   200,
++       0,   201,   693,   694,   202,     0,     0,   203,   695,   696,
++       0,   204,   697,   698,     0,   205,   206,   207,   699,   700,
++     701,     0,     0,     0,     0,   702,   210,   703,     0,     0,
++     704,   211,     0,   212,     0,     0,     0,   213,     0,   214,
++     215,   216,   217,     0,     0,     0,   218,     0,     0,   219,
++     220,   221,     0,     0,     0,   222,     0,   223,   224,     0,
++     225,   226,   227,     0,   228,   229,     0,   230,   231,   232,
++     233,   234,   235,   705,     0,   236,   237,   238,   706,   707,
++     239,   240,     0,   241,   242,   243,   708,     0,   244,     0,
++       0,     0,   245,     0,   246,     0,   247,     0,   248,   249,
++     709,   251,   710,   253,     0,   254,     0,   711,   255,   256,
++     257,     0,   258,   712,   713,     0,   259,   260,     0,     0,
++       0,   714,   262,   263,   264,   715,     0,   265,   266,   267,
++       0,   268,     0,   269,     0,     0,     0,   716,   270,   271,
++    2670,     0,     0,   272,     0,   273,   274,     0,   275,   276,
++       0,     0,     0,   277,     0,     0,   278,   279,   718,     0,
++       0,   281,     0,   719,   282,   283,     0,     0,     0,     0,
++       0,   720,   285,     0,   286,     0,   287,     0,   288,   289,
++       0,     0,   721,     0,     0,     0,   290,   291,   292,   293,
++     294,   295,   296,   297,   298,   299,   300,   301,   302,     0,
++     303,   304,   305,   722,   306,   307,   308,   309,   723,   310,
++     311,     0,     0,     0,     0,   312,   313,   314,   315,   724,
++     317,     0,     0,   725,   319,   726,   320,     0,   321,   727,
++     728,   729,   730,   731,   326,   327,   328,   329,   330,   331,
++       0,   732,   332,   333,     0,     0,   334,   335,   336,   337,
++     733,   734,   735,   338,   339,     0,   736,   737,     0,   340,
++     341,   738,     0,   343,   344,   345,   346,     0,   347,   348,
++       0,     0,     0,     0,     0,     0,     0,     0,   349,   350,
++     351,     0,   739,   352,     0,   353,   354,   355,   356,   740,
++     358,   359,   360,   361,   741,   742,   364,   743,     0,   365,
++     366,   367,     0,   368,     0,   369,   370,   371,   372,   373,
++       0,   744,   375,   376,     0,     0,   377,     0,     0,     0,
++     378,   379,   380,   381,   382,     0,     0,   383,   384,   385,
++     386,   387,     0,   388,   389,     0,   390,   391,   392,   745,
++     746,   393,     0,   394,     0,   395,   396,     0,   397,   398,
++       0,     0,   747,   399,   400,   401,   402,   403,   748,   405,
++     406,   407,   408,     0,   749,   410,     0,     0,     0,   411,
++     412,   413,   414,     0,     0,     0,   415,     0,     0,     0,
++     416,     0,   417,   418,   419,   420,     0,   421,   422,   423,
++     424,   425,   426,     0,     0,     0,     0,     0,     0,   427,
++     428,     0,   429,     0,     0,   430,     0,     0,   431,   432,
++     433,   750,   751,   434,   435,     0,   436,   437,   752,   439,
++     440,   441,   753,   754,   442,   443,   444,   445,   755,   446,
++     447,     0,   448,     0,   449,   450,   451,   452,     0,   756,
++     453,   454,     0,   757,   758,   759,   760,     0,     0,     0,
++       0,     0,   459,   460,   461,     0,   761,   762,   763,   463,
++     464,   465,   764,   466,   467,   765,   468,   469,     0,   470,
++     471,     0,     0,   472,     0,     0,   473,     0,   474,     0,
++     766,   476,   477,     0,     0,   767,   768,   769,   770,   478,
++       0,     0,   479,   771,     0,   772,   480,   481,   482,   483,
++     484,   773,     0,     0,     0,     0,     0,     0,   486,   487,
++       0,   488,   489,   490,     0,     0,   774,     0,     0,     0,
++       0,     0,     0,     0,   775,   776,     0,     0,     0,     0,
++     777,   778,     0,     0,   779,   780,     0,     0,   781,   782,
++     139,     0,   672,   141,   142,   143,   144,     0,     0,   145,
++       0,     0,     0,   146,     0,     0,   673,     0,   148,   149,
++     150,   151,   152,   674,   154,     0,   155,     0,     0,   675,
++     156,   676,   677,   678,   157,   679,     0,   158,   159,   160,
++       0,   161,     0,   162,   163,     0,     0,   164,   680,   681,
++     165,   166,     0,   167,   682,   683,   169,   170,     0,   171,
++     172,   173,   174,   175,   684,   177,     0,   685,   179,   686,
++     687,   688,   689,   690,   691,     0,   186,   187,   188,   189,
++     190,   191,   192,   193,     0,   194,   195,     0,   196,   197,
++     198,   692,   200,     0,   201,   693,   694,   202,     0,     0,
++     203,   695,   696,     0,   204,   697,   698,     0,   205,   206,
++     207,   699,   700,   701,     0,     0,     0,     0,   702,   210,
++     703,     0,     0,  3432,   211,     0,   212,     0,     0,     0,
++     213,     0,   214,   215,   216,   217,     0,     0,     0,   218,
++       0,     0,   219,   220,   221,     0,     0,     0,   222,     0,
++     223,   224,     0,   225,   226,   227,     0,   228,   229,     0,
++     230,   231,   232,   233,   234,   235,   705,     0,   236,   237,
++     238,   706,   707,   239,   240,     0,   241,   242,   243,   708,
++       0,   244,     0,     0,     0,   245,     0,   246,     0,   247,
++       0,   248,   249,   709,   251,   710,   253,     0,   254,     0,
++     711,   255,   256,   257,     0,   258,   712,   713,     0,   259,
++     260,     0,     0,     0,   714,   262,   263,   264,   715,     0,
++     265,   266,   267,     0,   268,     0,   269,     0,     0,     0,
++     716,   270,   271,   717,     0,     0,   272,     0,   273,   274,
++       0,   275,   276,     0,     0,     0,   277,     0,     0,   278,
++     279,   718,     0,     0,   281,     0,   719,   282,   283,     0,
++       0,     0,     0,     0,   720,   285,     0,   286,     0,   287,
++       0,   288,   289,     0,     0,   721,     0,     0,     0,   290,
++     291,   292,   293,   294,   295,   296,   297,   298,   299,   300,
++     301,   302,     0,   303,   304,   305,   722,   306,   307,   308,
++     309,   723,   310,   311,     0,     0,     0,     0,   312,   313,
++     314,   315,   724,   317,     0,     0,   725,   319,   726,   320,
++       0,   321,   727,   728,   729,   730,   731,   326,   327,   328,
++     329,   330,   331,     0,   732,   332,   333,     0,     0,   334,
++     335,   336,   337,   733,   734,   735,   338,   339,     0,   736,
++     737,     0,   340,   341,   738,     0,   343,   344,   345,   346,
++       0,   347,   348,     0,     0,     0,     0,     0,     0,     0,
++       0,   349,   350,   351,     0,   739,   352,     0,   353,   354,
++     355,   356,   740,   358,   359,   360,   361,   741,   742,   364,
++     743,     0,   365,   366,   367,     0,   368,     0,   369,   370,
++     371,   372,   373,     0,   744,   375,   376,     0,     0,   377,
++       0,     0,     0,   378,   379,   380,   381,   382,     0,     0,
++     383,   384,   385,   386,   387,     0,   388,   389,     0,   390,
++     391,   392,   745,   746,   393,     0,   394,     0,   395,   396,
++       0,   397,   398,     0,     0,   747,   399,   400,   401,   402,
++     403,   748,   405,   406,   407,   408,     0,   749,   410,     0,
++       0,     0,   411,   412,   413,   414,     0,     0,     0,   415,
++       0,     0,     0,   416,     0,   417,   418,   419,   420,     0,
++     421,   422,   423,   424,   425,   426,     0,     0,     0,     0,
++       0,     0,   427,   428,     0,   429,     0,     0,   430,     0,
++       0,   431,   432,   433,   750,   751,   434,   435,     0,   436,
++     437,   752,   439,   440,   441,   753,   754,   442,   443,   444,
++     445,   755,   446,   447,     0,   448,     0,   449,   450,   451,
++     452,     0,   756,   453,   454,     0,   757,   758,   759,   760,
++       0,     0,     0,     0,     0,   459,   460,   461,     0,   761,
++     762,   763,   463,   464,   465,   764,   466,   467,   765,   468,
++     469,     0,   470,   471,     0,     0,   472,     0,     0,   473,
++       0,   474,     0,   766,   476,   477,     0,     0,   767,   768,
++     769,   770,   478,     0,     0,   479,   771,     0,   772,   480,
++     481,   482,   483,   484,   773,     0,     0,     0,     0,     0,
++       0,   486,   487,     0,   488,   489,   490,     0,     0,   774,
++       0,     0,     0,     0,     0,     0,     0,   775,   776,     0,
++       0,     0,     0,   777,   778,     0,     0,   779,   780,     0,
++       0,   781,   782,   139,     0,   672,   141,   142,   143,   144,
++       0,     0,   145,     0,     0,     0,   146,     0,     0,   673,
++       0,   148,   149,   150,   151,   152,   674,   154,     0,   155,
++       0,     0,   675,   156,   676,   677,   678,   157,   679,     0,
++     158,   159,   160,     0,   161,     0,   162,   163,     0,     0,
++     164,   680,   681,   165,   166,     0,   167,   682,   683,   169,
++     170,     0,   171,   172,   173,   174,   175,   684,   177,     0,
++     685,   179,   686,   687,   688,   689,   690,   691,     0,   186,
++     187,   188,   189,   190,   191,   192,   193,     0,   194,   195,
++       0,   196,   197,   198,   692,   200,     0,   201,   693,   694,
++     202,     0,     0,   203,   695,   696,     0,   204,   697,   698,
++       0,   205,   206,   207,   699,   700,   701,     0,     0,     0,
++       0,   702,   210,   703,     0,     0,   704,   211,     0,   212,
++       0,     0,     0,   213,     0,   214,   215,   216,   217,     0,
++       0,     0,   218,     0,     0,   219,   220,   221,     0,     0,
++       0,   222,     0,   223,   224,     0,   225,   226,   227,     0,
++     228,   229,     0,   230,   231,   232,   233,   234,   235,   705,
++       0,   236,   237,   238,   706,   707,   239,   240,     0,   241,
++     242,   243,   708,     0,   244,     0,     0,     0,   245,     0,
++     246,     0,   247,     0,   248,   249,   709,   251,   710,   253,
++       0,   254,     0,   711,   255,   256,   257,     0,   258,   712,
++     713,     0,   259,   260,     0,     0,     0,   714,   262,   263,
++     264,   715,     0,   265,   266,   267,     0,   268,     0,   269,
++       0,     0,     0,   716,   270,   271,   717,     0,     0,   272,
++       0,   273,   274,     0,   275,   276,     0,     0,     0,   277,
++       0,     0,   278,   279,   718,     0,     0,   281,     0,   719,
++     282,   283,     0,     0,     0,     0,     0,   720,   285,     0,
++     286,     0,   287,     0,   288,   289,     0,     0,   721,     0,
++       0,     0,   290,   291,   292,   293,   294,   295,   296,   297,
++     298,   299,   300,   301,   302,     0,   303,   304,   305,   722,
++     306,   307,   308,   309,   723,   310,   311,  4318,     0,     0,
++       0,   312,   313,   314,   315,   724,   317,     0,     0,   725,
++     319,   726,   320,     0,   321,   727,   728,   729,   730,   731,
++     326,   327,   328,   329,   330,   331,     0,   732,   332,   333,
++       0,     0,   334,   335,   336,   337,   733,     0,   735,   338,
++     339,     0,   736,   737,     0,   340,   341,   738,     0,   343,
++     344,   345,   346,     0,   347,   348,     0,     0,     0,     0,
++       0,     0,     0,     0,   349,   350,   351,     0,   739,   352,
++       0,   353,   354,   355,   356,   740,   358,   359,   360,   361,
++     741,   742,   364,   743,     0,   365,   366,   367,     0,   368,
++       0,   369,   370,   371,   372,   373,     0,   744,   375,   376,
++       0,     0,   377,     0,     0,     0,   378,   379,   380,   381,
++     382,     0,     0,   383,   384,   385,   386,   387,     0,   388,
++     389,     0,   390,   391,   392,   745,   746,   393,     0,   394,
++       0,   395,   396,     0,   397,   398,     0,     0,   747,   399,
++     400,   401,   402,   403,   748,   405,   406,   407,   408,     0,
++     749,   410,     0,     0,     0,   411,   412,   413,   414,     0,
++       0,     0,   415,     0,     0,     0,   416,     0,   417,   418,
++     419,   420,     0,   421,   422,   423,   424,   425,   426,     0,
++       0,     0,     0,     0,     0,   427,   428,     0,   429,     0,
++       0,   430,     0,     0,   431,   432,   433,   750,   751,   434,
++     435,     0,   436,   437,   752,   439,   440,   441,   753,   754,
++     442,   443,   444,   445,   755,   446,   447,     0,   448,     0,
++     449,   450,   451,   452,     0,   756,   453,   454,     0,   757,
++     758,   759,   760,     0,     0,     0,     0,     0,   459,   460,
++     461,     0,   761,   762,   763,   463,   464,   465,   764,   466,
++     467,   765,   468,   469,     0,   470,   471,     0,     0,   472,
++       0,     0,   473,     0,   474,     0,   766,   476,   477,     0,
++       0,   767,   768,   769,   770,   478,     0,     0,   479,   771,
++       0,   772,   480,   481,   482,   483,   484,   773,     0,     0,
++       0,     0,     0,     0,   486,   487,     0,   488,   489,   490,
++       0,     0,   774,     0,     0,     0,     0,     0,     0,     0,
++     775,   776,     0,     0,     0,     0,   777,   778,     0,     0,
++     779,   780,     0,     0,   781,   782,   139,     0,   672,   141,
++     142,   143,   144,     0,     0,   145,     0,     0,     0,   146,
++       0,     0,   673,     0,   148,   149,   150,   151,   152,   674,
++     154,     0,   155,     0,     0,   675,   156,   676,   677,   678,
++     157,   679,     0,   158,   159,   160,     0,   161,     0,   162,
++     163,     0,     0,   164,   680,   681,   165,   166,     0,   167,
++     682,   683,   169,   170,     0,   171,   172,   173,   174,   175,
++     684,   177,     0,   685,   179,   686,   687,   688,   689,   690,
++     691,     0,   186,   187,   188,   189,   190,   191,   192,   193,
++       0,   194,   195,     0,   196,   197,   198,   692,   200,     0,
++     201,   693,   694,   202,     0,     0,   203,   695,   696,     0,
++     204,   697,   698,     0,   205,   206,   207,   699,   700,   701,
++       0,     0,     0,     0,   702,   210,   703,     0,     0,   704,
++     211,     0,   212,     0,     0,     0,   213,     0,   214,   215,
++     216,   217,     0,     0,     0,   218,     0,     0,   219,   220,
++     221,     0,     0,     0,   222,     0,   223,   224,     0,   225,
++     226,   227,     0,   228,   229,     0,   230,   231,   232,   233,
++     234,   235,   705,     0,   236,   237,   238,   706,   707,   239,
++     240,     0,   241,   242,   243,   708,     0,   244,     0,     0,
++       0,   245,     0,   246,     0,   247,     0,   248,   249,   709,
++     251,   710,   253,     0,   254,     0,   711,   255,   256,   257,
++       0,   258,   712,   713,     0,   259,   260,     0,     0,     0,
++     714,   262,   263,   264,   715,     0,   265,   266,   267,     0,
++     268,     0,   269,     0,     0,     0,   716,   270,   271,   717,
++       0,     0,   272,     0,   273,   274,     0,   275,   276,     0,
++       0,     0,   277,     0,     0,   278,   279,   718,     0,     0,
++     281,     0,   719,   282,   283,     0,     0,     0,     0,     0,
++     720,   285,     0,   286,     0,   287,     0,   288,   289,     0,
++       0,   721,     0,     0,     0,   290,   291,   292,   293,   294,
++     295,   296,   297,   298,   299,   300,   301,   302,     0,   303,
++     304,   305,   722,   306,   307,   308,   309,   723,   310,   311,
++       0,     0,     0,     0,   312,   313,   314,   315,   724,   317,
++       0,     0,   725,   319,   726,   320,     0,   321,   727,   728,
++     729,   730,   731,   326,   327,   328,   329,   330,   331,     0,
++     732,   332,   333,     0,     0,   334,   335,   336,   337,   733,
++       0,   735,   338,   339,     0,   736,   737,     0,   340,   341,
++     738,     0,   343,   344,   345,   346,     0,   347,   348,     0,
++       0,     0,     0,     0,     0,     0,     0,   349,   350,   351,
++       0,   739,   352,     0,   353,   354,   355,   356,   740,   358,
++     359,   360,   361,   741,   742,   364,   743,     0,   365,   366,
++     367,     0,   368,     0,   369,   370,   371,   372,   373,     0,
++     744,   375,   376,     0,     0,   377,     0,     0,     0,   378,
++     379,   380,   381,   382,     0,     0,   383,   384,   385,   386,
++     387,     0,   388,   389,     0,   390,   391,   392,   745,   746,
++     393,     0,   394,     0,   395,   396,     0,   397,   398,     0,
++       0,   747,   399,   400,   401,   402,   403,   748,   405,   406,
++     407,   408,     0,   749,   410,     0,     0,     0,   411,   412,
++     413,   414,     0,     0,     0,   415,     0,     0,     0,   416,
++       0,   417,   418,   419,   420,     0,   421,   422,   423,   424,
++     425,   426,     0,     0,     0,     0,     0,     0,   427,   428,
++       0,   429,     0,     0,   430,     0,     0,   431,   432,   433,
++     750,   751,   434,   435,     0,   436,   437,   752,   439,   440,
++     441,   753,   754,   442,   443,   444,   445,   755,   446,   447,
++       0,   448,     0,   449,   450,   451,   452,     0,   756,   453,
++     454,     0,   757,   758,   759,   760,     0,     0,     0,     0,
++       0,   459,   460,   461,     0,   761,   762,   763,   463,   464,
++     465,   764,   466,   467,   765,   468,   469,     0,   470,   471,
++       0,     0,   472,     0,     0,   473,     0,   474,     0,   766,
++     476,   477,     0,     0,   767,   768,   769,   770,   478,     0,
++       0,   479,   771,     0,   772,   480,   481,   482,   483,   484,
++     773,     0,     0,     0,     0,     0,     0,   486,   487,     0,
++     488,   489,   490,     0,     0,   774,     0,     0,     0,     0,
++       0,     0,     0,   775,   776,     0,     0,     0,     0,   777,
++     778,     0,     0,   779,   780,     0,     0,   781,   782,   139,
++       0,   672,   141,   142,   143,   144,     0,     0,   145,     0,
++       0,     0,   146,     0,     0,   673,     0,   148,   149,   150,
++     151,   152,   674,   154,     0,   155,     0,     0,   675,   156,
++     676,   677,   678,   157,   679,     0,   158,   159,   160,     0,
++     161,     0,   162,   163,     0,     0,   164,   680,   681,   165,
++     166,     0,   167,   682,   683,   169,   170,     0,   171,   172,
++     173,   174,   175,   684,   177,     0,   685,   179,   686,   687,
++     688,   689,   690,   691,     0,   186,   187,   188,   189,   190,
++     191,   192,   193,     0,   194,   195,     0,   196,   197,   198,
++     692,   200,     0,   201,   693,   694,   202,     0,     0,   203,
++     695,   696,     0,   204,   697,   698,     0,   205,   206,   207,
++     699,   700,   701,     0,     0,     0,     0,   702,   210,   703,
++       0,     0,   704,   211,     0,   212,     0,     0,     0,   213,
++       0,   214,   215,   216,   217,     0,     0,     0,   218,     0,
++       0,   219,   220,   221,     0,     0,     0,   222,     0,   223,
++     224,     0,   225,   226,   227,     0,   228,   229,     0,   230,
++     231,   232,   233,   234,   235,   705,     0,   236,   237,   238,
++     706,   707,   239,   240,     0,   241,   242,   243,   708,     0,
++     244,     0,     0,     0,   245,     0,   246,     0,   247,     0,
++     248,   249,   709,   251,   710,   253,     0,   254,     0,   711,
++     255,   256,   257,     0,   258,   712,   713,     0,   259,   260,
++       0,     0,     0,   714,   262,   263,   264,   715,     0,   265,
++     266,   267,     0,   268,     0,   269,     0,     0,     0,   716,
++     270,   271,  1728,     0,     0,   272,     0,   273,   274,     0,
++     275,   276,     0,     0,     0,   277,     0,     0,   278,   279,
++     718,     0,     0,   281,     0,   719,   282,   283,     0,     0,
++       0,     0,     0,   720,   285,     0,   286,     0,   287,     0,
++     288,   289,     0,     0,   721,     0,     0,     0,   290,   291,
++     292,   293,   294,   295,   296,   297,   298,   299,   300,   301,
++     302,     0,   303,   304,   305,   722,   306,   307,   308,   309,
++     723,   310,   311,     0,     0,     0,     0,   312,   313,   314,
++     315,   724,   317,     0,     0,   725,   319,   726,   320,     0,
++     321,   727,   728,   729,   730,   731,   326,   327,   328,   329,
++     330,   331,     0,   732,   332,   333,     0,     0,   334,   335,
++     336,   337,   733,     0,   735,   338,   339,     0,   736,   737,
++       0,   340,   341,   738,     0,   343,   344,   345,   346,     0,
++     347,   348,     0,     0,     0,     0,     0,     0,     0,     0,
++     349,   350,   351,     0,   739,   352,     0,   353,   354,   355,
++     356,   740,   358,   359,   360,   361,   741,   742,   364,   743,
++       0,   365,   366,   367,     0,   368,     0,   369,   370,   371,
++     372,   373,     0,   744,   375,   376,     0,     0,   377,     0,
++       0,     0,   378,   379,   380,   381,   382,     0,     0,   383,
++     384,   385,   386,   387,     0,   388,   389,     0,   390,   391,
++     392,   745,   746,   393,     0,   394,     0,   395,   396,     0,
++     397,   398,     0,     0,   747,   399,   400,   401,   402,   403,
++     748,   405,   406,   407,   408,     0,   749,   410,     0,     0,
++       0,   411,   412,   413,   414,     0,     0,     0,   415,     0,
++       0,     0,   416,     0,   417,   418,   419,   420,     0,   421,
++     422,   423,   424,   425,   426,     0,     0,     0,     0,     0,
++       0,   427,   428,     0,   429,     0,     0,   430,     0,     0,
++     431,   432,   433,   750,   751,   434,   435,     0,   436,   437,
++     752,   439,   440,   441,   753,   754,   442,   443,   444,   445,
++     755,   446,   447,     0,   448,     0,   449,   450,   451,   452,
++       0,   756,   453,   454,     0,   757,   758,   759,   760,     0,
++       0,     0,     0,     0,   459,   460,   461,     0,   761,   762,
++     763,   463,   464,   465,   764,   466,   467,   765,   468,   469,
++       0,   470,   471,     0,     0,   472,     0,     0,   473,     0,
++     474,     0,   766,   476,   477,     0,     0,   767,   768,   769,
++     770,   478,     0,     0,   479,   771,     0,   772,   480,   481,
++     482,   483,   484,   773,     0,     0,     0,     0,     0,     0,
++     486,   487,     0,   488,   489,   490,     0,     0,   774,     0,
++       0,     0,     0,     0,     0,     0,   775,   776,     0,     0,
++       0,     0,   777,   778,     0,     0,   779,   780,     0,     0,
++     781,   782,   139,     0,   672,   141,   142,   143,   144,     0,
++       0,   145,     0,     0,     0,   146,     0,     0,   673,     0,
++     148,   149,   150,   151,   152,   674,   154,     0,   155,     0,
++       0,   675,   156,   676,   677,   678,   157,   679,     0,   158,
++     159,   160,     0,   161,     0,   162,   163,     0,     0,   164,
++     680,   681,   165,   166,     0,   167,   682,   683,   169,   170,
++       0,   171,   172,   173,   174,   175,   684,   177,     0,   685,
++     179,   686,   687,   688,   689,   690,   691,     0,   186,   187,
++     188,   189,   190,   191,   192,   193,     0,   194,   195,     0,
++     196,   197,   198,   692,   200,     0,   201,   693,   694,   202,
++       0,     0,   203,   695,   696,     0,   204,   697,   698,     0,
++     205,   206,   207,   699,   700,   701,     0,     0,     0,     0,
++     702,   210,   703,     0,     0,   704,   211,     0,   212,     0,
++       0,     0,   213,     0,   214,   215,   216,   217,     0,     0,
++       0,   218,     0,     0,   219,   220,   221,     0,     0,     0,
++     222,     0,   223,   224,     0,   225,   226,   227,     0,   228,
++     229,     0,   230,   231,   232,   233,   234,   235,   705,     0,
++     236,   237,   238,   706,   707,   239,   240,     0,   241,   242,
++     243,   708,     0,   244,     0,     0,     0,   245,     0,   246,
++       0,   247,     0,   248,   249,   709,   251,   710,   253,     0,
++     254,     0,   711,   255,   256,   257,     0,   258,   712,   713,
++       0,   259,   260,     0,     0,     0,   714,   262,   263,   264,
++     715,     0,   265,   266,   267,     0,   268,     0,   269,     0,
++       0,     0,   716,   270,   271,  1730,     0,     0,   272,     0,
++     273,   274,     0,   275,   276,     0,     0,     0,   277,     0,
++       0,   278,   279,   718,     0,     0,   281,     0,   719,   282,
++     283,     0,     0,     0,     0,     0,   720,   285,     0,   286,
++       0,   287,     0,   288,   289,     0,     0,   721,     0,     0,
++       0,   290,   291,   292,   293,   294,   295,   296,   297,   298,
++     299,   300,   301,   302,     0,   303,   304,   305,   722,   306,
++     307,   308,   309,   723,   310,   311,     0,     0,     0,     0,
++     312,   313,   314,   315,   724,   317,     0,     0,   725,   319,
++     726,   320,     0,   321,   727,   728,   729,   730,   731,   326,
++     327,   328,   329,   330,   331,     0,   732,   332,   333,     0,
++       0,   334,   335,   336,   337,   733,     0,   735,   338,   339,
++       0,   736,   737,     0,   340,   341,   738,     0,   343,   344,
++     345,   346,     0,   347,   348,     0,     0,     0,     0,     0,
++       0,     0,     0,   349,   350,   351,     0,   739,   352,     0,
++     353,   354,   355,   356,   740,   358,   359,   360,   361,   741,
++     742,   364,   743,     0,   365,   366,   367,     0,   368,     0,
++     369,   370,   371,   372,   373,     0,   744,   375,   376,     0,
++       0,   377,     0,     0,     0,   378,   379,   380,   381,   382,
++       0,     0,   383,   384,   385,   386,   387,     0,   388,   389,
++       0,   390,   391,   392,   745,   746,   393,     0,   394,     0,
++     395,   396,     0,   397,   398,     0,     0,   747,   399,   400,
++     401,   402,   403,   748,   405,   406,   407,   408,     0,   749,
++     410,     0,     0,     0,   411,   412,   413,   414,     0,     0,
++       0,   415,     0,     0,     0,   416,     0,   417,   418,   419,
++     420,     0,   421,   422,   423,   424,   425,   426,     0,     0,
++       0,     0,     0,     0,   427,   428,     0,   429,     0,     0,
++     430,     0,     0,   431,   432,   433,   750,   751,   434,   435,
++       0,   436,   437,   752,   439,   440,   441,   753,   754,   442,
++     443,   444,   445,   755,   446,   447,     0,   448,     0,   449,
++     450,   451,   452,     0,   756,   453,   454,     0,   757,   758,
++     759,   760,     0,     0,     0,     0,     0,   459,   460,   461,
++       0,   761,   762,   763,   463,   464,   465,   764,   466,   467,
++     765,   468,   469,     0,   470,   471,     0,     0,   472,     0,
++       0,   473,     0,   474,     0,   766,   476,   477,     0,     0,
++     767,   768,   769,   770,   478,     0,     0,   479,   771,     0,
++     772,   480,   481,   482,   483,   484,   773,     0,     0,     0,
++       0,     0,     0,   486,   487,     0,   488,   489,   490,     0,
++       0,   774,     0,     0,     0,     0,     0,     0,     0,   775,
++     776,     0,     0,     0,     0,   777,   778,     0,     0,   779,
++     780,     0,     0,   781,   782,   139,     0,   140,   141,   142,
++     143,   144,     0,     0,   145,     0,     0,     0,   146,     0,
++       0,   147,     0,   148,   149,   150,   151,   152,   153,   154,
++       0,   155,     0,     0,     0,   156,   676,     0,     0,   157,
++       0,     0,   158,   159,   160,     0,   161,     0,   162,   163,
++       0,     0,   164,     0,     0,   165,   166,     0,   167,   168,
++       0,   169,   170,     0,   171,   172,   173,   174,   175,   176,
++     177,     0,   178,   179,   180,   181,   182,   183,   184,   185,
++       0,   186,   187,   188,   189,   190,   191,   192,   193,     0,
++     194,   195,     0,   196,   197,   198,   199,   200,     0,   201,
++       0,     0,   202,     0,     0,   203,     0,     0,     0,   204,
++       0,     0,     0,   205,   206,   207,     0,     0,  2342,     0,
++       0,     0,     0,   209,   210,   703,     0,     0,     0,   211,
++       0,   212,     0,     0,     0,   213,     0,   214,   215,   216,
++     217,     0,     0,     0,   218,     0,     0,   219,   220,   221,
++       0,     0,     0,   222,     0,   223,   224,     0,   225,   226,
++     227,     0,   228,   229,     0,   230,   231,   232,   233,   234,
++     235,     0,     0,   236,   237,   238,     0,   707,   239,   240,
++       0,   241,   242,   243,   708,     0,   244,     0,     0,     0,
++     245,     0,   246,     0,   247,     0,   248,   249,   250,   251,
++     252,   253,     0,   254,     0,     0,   255,   256,   257,     0,
++     258,   712,   713,     0,   259,   260,     0,     0,     0,   261,
++     262,   263,   264,     0,     0,   265,   266,   267,     0,   268,
++       0,   269,     0,     0,     0,     0,   270,   271,     0,     0,
++       0,   272,     0,   273,   274,     0,   275,   276,     0,     0,
++       0,   277,     0,     0,   278,   279,   280,     0,     0,   281,
++       0,     0,   282,   283,     0,     0,     0,     0,     0,   284,
++     285,     0,   286,     0,   287,     0,   288,   289,     0,     0,
++     721,     0,     0,     0,   290,   291,   292,   293,   294,   295,
++     296,   297,   298,   299,   300,   301,   302,     0,   303,   304,
++     305,     0,   306,   307,   308,   309,     0,   310,   311,     0,
++       0,     0,     0,   312,   313,   314,   315,   316,   317,     0,
++       0,   318,   319,     0,   320,     0,   321,     0,   322,   323,
++     324,   325,   326,   327,   328,   329,   330,   331,     0,   732,
++     332,   333,     0,     0,   334,   335,   336,   337,     0,     0,
++       0,   338,   339,     0,   736,   737,     0,   340,   341,   342,
++       0,   343,   344,   345,   346,     0,   347,   348,     0,     0,
++       0,     0,     0,     0,     0,     0,   349,   350,   351,     0,
++       0,   352,     0,   353,   354,   355,   356,   357,   358,   359,
++     360,   361,   362,   363,   364,     0,     0,   365,   366,   367,
++       0,   368,     0,   369,   370,   371,   372,   373,     0,   374,
++     375,   376,     0,     0,   377,     0,     0,     0,   378,   379,
++     380,   381,   382,     0,     0,   383,   384,   385,   386,   387,
++       0,   388,   389,     0,   390,   391,   392,     0,     0,   393,
++       0,   394,     0,   395,   396,     0,   397,   398,     0,     0,
++       0,   399,   400,   401,   402,   403,   404,   405,   406,   407,
++     408,     0,   409,   410,     0,     0,     0,   411,   412,   413,
++     414,     0,     0,     0,   415,     0,     0,     0,   416,     0,
++     417,   418,   419,   420,     0,   421,   422,   423,   424,   425,
++     426,     0,     0,     0,     0,     0,     0,   427,   428,     0,
++     429,     0,     0,   430,     0,     0,   431,   432,   433,     0,
++       0,   434,   435,     0,   436,   437,   438,   439,   440,   441,
++       0,     0,   442,   443,   444,   445,     0,   446,   447,     0,
++     448,     0,   449,   450,   451,   452,     0,   756,   453,   454,
++       0,  2343,   456,   457,  2344,     0,     0,     0,     0,     0,
++     459,   460,   461,     0,     0,   762,   462,   463,   464,   465,
++     764,   466,   467,   765,   468,   469,     0,   470,   471,     0,
++       0,   472,     0,     0,   473,     0,   474,     0,   475,   476,
++     477,     0,     0,     0,     0,     0,     0,   478,     0,     0,
++     479,     0,     0,     0,   480,   481,   482,   483,   484,   485,
++       0,     0,     0,     0,     0,     0,   486,   487,     0,   488,
++     489,   490,     0,     0,   491,     0,     0,     0,     0,     0,
++       0,     0,   139,     0,   140,   141,   142,   143,   144,     0,
++       0,   145,     0,     0,     0,   146,   781,   782,   147,     0,
++     148,   149,   150,   151,   152,   153,   154,     0,   155,     0,
++       0,     0,   156,     0,     0,     0,   157,     0,     0,   158,
++     159,   160,     0,   161,     0,   162,   163,     0,     0,   164,
++       0,     0,   165,   166,     0,   167,   168,     0,   169,   170,
++       0,   171,   172,   173,   174,   175,   176,   177,     0,   178,
++     179,   180,   181,   182,   183,   184,   185,     0,   186,   187,
++     188,   189,   190,   191,   192,   193,     0,   194,   195,  2457,
++     196,   197,   198,   199,   200,     0,   201,     0,     0,   202,
++       0,     0,   203,     0,     0,     0,   204,     0,     0,     0,
++     205,   206,   207,     0,     0,   208,     0,     0,     0,     0,
++     209,   210,     0,     0,     0,     0,   211,     0,   212,     0,
++       0,     0,   213,     0,   214,   215,   216,   217,     0,     0,
++       0,   218,     0,     0,   219,   220,   221,     0,     0,     0,
++     222,     0,   223,   224,     0,   225,   226,   227,     0,   228,
++     229,     0,   230,   231,   232,   233,   234,   235,     0,     0,
++     236,   237,   238,     0,     0,   239,   240,     0,   241,   242,
++     243,     0,     0,   244,     0,     0,     0,   245,     0,   246,
++     505,   247,     0,   248,   249,   250,   251,   252,   253,     0,
++     254,     0,     0,   255,   256,   257,     0,   258,     0,     0,
++       0,   259,   260,     0,     0,     0,   261,   262,   263,   264,
++       0,     0,   265,   266,   267,  2038,   268,     0,   269,     0,
++       0,     0,     0,   270,   271,     0,     0,     0,   272,     0,
++     273,   274,     0,   275,   276,     0,     0,     0,   277,  2039,
++       0,   278,   279,   280,     0,     0,   281,     0,     0,   282,
++     283,     0,  3017,     0,     0,     0,   284,   285,     0,   286,
++       0,   287,     0,   288,   289,     0,     0,     0,     0,     0,
++       0,   290,   291,   292,   293,   294,   295,   296,   297,   298,
++     299,   300,   301,   302,     0,   303,   304,   305,     0,   306,
++     307,   308,   309,     0,   310,   311,     0,     0,     0,     0,
++     312,   313,   314,   315,   316,   317,     0,     0,   318,   319,
++       0,   320,     0,   321,     0,   322,   323,   324,   325,   326,
++     327,   328,   329,   330,   331,     0,     0,   332,   333,     0,
++       0,   334,   335,   336,   337,     0,     0,     0,   338,   339,
++       0,     0,     0,     0,   340,   341,   342,     0,   343,   344,
++     345,   346,     0,   347,   348,     0,     0,     0,     0,     0,
++       0,     0,     0,   349,   350,   351,     0,     0,   352,     0,
++     353,   354,   355,  3018,   357,   358,   359,   360,   361,   362,
++     363,   364,     0,     0,   365,   366,   367,     0,   368,     0,
++     369,   370,   371,   372,   373,     0,   374,   375,   376,     0,
++       0,   377,     0,     0,     0,   378,   379,   380,   381,   382,
++       0,     0,   383,   384,   385,   386,   387,     0,   388,   389,
++       0,   390,   391,   392,     0,     0,   393,     0,   394,     0,
++     395,   396,     0,   397,   398,     0,     0,     0,   399,   400,
++     401,   402,   403,   404,   405,   406,   407,   408,     0,   409,
++     410,  -439,     0,     0,   411,   412,   413,   414,     0,     0,
++       0,   415,     0,     0,     0,   416,     0,   417,   418,   419,
++     420,     0,   421,   422,   423,   424,   425,   426,   508,     0,
++       0,     0,     0,     0,   427,   428,     0,   429,     0,     0,
++     430,     0,     0,   431,   432,   433,     0,     0,   434,   435,
++       0,   436,   437,   438,   439,   440,   441,     0,     0,   442,
++     443,   444,   445,     0,   446,   447,     0,   448,     0,   449,
++     450,   451,   452,     0,     0,   453,   454,     0,   455,   456,
++     457,   458,     0,     0,     0,     0,     0,   459,   460,   461,
++       0,     0,     0,   462,   463,   464,   465,     0,   466,   467,
++       0,   468,   469,     0,   470,   471,     0,     0,   472,     0,
++       0,   473,     0,   474,     0,   475,   476,   477,     0,     0,
++       0,     0,     0,     0,   478,     0,     0,   479,     0,     0,
++       0,   480,   481,   482,   483,   484,   485,     0,     0,     0,
++       0,     0,     0,   486,   487,     0,   488,   489,   490,     0,
++       0,   491,     0,     0,     0,     0,     0,   139,     0,   140,
++     141,   142,   143,   144,     0,     0,   145,     0,     0,     0,
++     146,     0,     0,   147,  2524,   148,   149,   150,   151,   152,
++     153,   154,     0,   155,     0,     0,     0,   156,     0,     0,
++       0,   157,     0,     0,   158,   159,   160,     0,   161,     0,
++     162,   163,     0,     0,   164,     0,     0,   165,   166,     0,
++     167,   168,     0,   169,   170,     0,   171,   172,   173,   174,
++     175,   176,   177,     0,   178,   179,   180,   181,   182,   183,
++     184,   185,     0,   186,   187,   188,   189,   190,   191,   192,
++     193,     0,   194,   195,  2457,   196,   197,   198,   199,   200,
++       0,   201,     0,     0,   202,     0,     0,   203,     0,     0,
++       0,   204,     0,     0,     0,   205,   206,   207,     0,     0,
++     208,     0,     0,     0,     0,   209,   210,     0,     0,     0,
++       0,   211,     0,   212,     0,     0,     0,   213,     0,   214,
++     215,   216,   217,     0,     0,     0,   218,     0,     0,   219,
++     220,   221,     0,     0,     0,   222,     0,   223,   224,     0,
++     225,   226,   227,     0,   228,   229,     0,   230,   231,   232,
++     233,   234,   235,     0,     0,   236,   237,   238,     0,     0,
++     239,   240,     0,   241,   242,   243,     0,     0,   244,     0,
++       0,     0,   245,     0,   246,   505,   247,     0,   248,   249,
++     250,   251,   252,   253,     0,   254,     0,     0,   255,   256,
++     257,     0,   258,     0,     0,     0,   259,   260,     0,     0,
++       0,   261,   262,   263,   264,     0,     0,   265,   266,   267,
++    2038,   268,     0,   269,     0,     0,     0,     0,   270,   271,
++       0,     0,     0,   272,     0,   273,   274,     0,   275,   276,
++       0,     0,     0,   277,  2039,     0,   278,   279,   280,     0,
++       0,   281,     0,     0,   282,   283,     0,     0,     0,     0,
++       0,   284,   285,     0,   286,     0,   287,     0,   288,   289,
++       0,     0,     0,     0,     0,     0,   290,   291,   292,   293,
++     294,   295,   296,   297,   298,   299,   300,   301,   302,     0,
++     303,   304,   305,     0,   306,   307,   308,   309,     0,   310,
++     311,     0,     0,     0,     0,   312,   313,   314,   315,   316,
++     317,     0,     0,   318,   319,     0,   320,     0,   321,     0,
++     322,   323,   324,   325,   326,   327,   328,   329,   330,   331,
++       0,     0,   332,   333,     0,     0,   334,   335,   336,   337,
++       0,     0,     0,   338,   339,     0,     0,     0,     0,   340,
++     341,   342,     0,   343,   344,   345,   346,     0,   347,   348,
++       0,     0,     0,     0,     0,     0,     0,     0,   349,   350,
++     351,     0,     0,   352,     0,   353,   354,   355,   356,   357,
++     358,   359,   360,   361,   362,   363,   364,     0,     0,   365,
++     366,   367,     0,   368,     0,   369,   370,   371,   372,   373,
++       0,   374,   375,   376,     0,     0,   377,     0,     0,     0,
++     378,   379,   380,   381,   382,     0,     0,   383,   384,   385,
++     386,   387,     0,   388,   389,     0,   390,   391,   392,     0,
++       0,   393,     0,   394,     0,   395,   396,     0,   397,   398,
++       0,     0,     0,   399,   400,   401,   402,   403,   404,   405,
++     406,   407,   408,     0,   409,   410,     0,     0,     0,   411,
++     412,   413,   414,     0,     0,     0,   415,     0,     0,     0,
++     416,     0,   417,   418,   419,   420,     0,   421,   422,   423,
++     424,   425,   426,   508,     0,     0,     0,     0,     0,   427,
++     428,     0,   429,     0,     0,   430,     0,     0,   431,   432,
++     433,     0,     0,   434,   435,     0,   436,   437,   438,   439,
++     440,   441,     0,     0,   442,   443,   444,   445,     0,   446,
++     447,     0,   448,     0,   449,   450,   451,   452,     0,     0,
++     453,   454,     0,   455,   456,   457,   458,     0,     0,     0,
++       0,     0,   459,   460,   461,     0,     0,     0,   462,   463,
++     464,   465,     0,   466,   467,     0,   468,   469,     0,   470,
++     471,     0,     0,   472,     0,     0,   473,     0,   474,     0,
++     475,   476,   477,     0,     0,     0,     0,     0,     0,   478,
++       0,     0,   479,     0,     0,     0,   480,   481,   482,   483,
++     484,   485,     0,     0,     0,     0,     0,     0,   486,   487,
++       0,   488,   489,   490,     0,     0,   491,     0,     0,     0,
++       0,     0,   139,     0,   140,   141,   142,   143,   144,     0,
++       0,   145,     0,     0,     0,   146,     0,     0,   147,  2524,
++     148,   149,   150,   151,   152,   153,   154,     0,   155,     0,
++       0,     0,   156,     0,     0,     0,   157,     0,     0,   158,
++     159,   160,     0,   161,     0,   162,   163,     0,     0,   164,
++       0,     0,   165,   166,     0,   167,   168,     0,   169,   170,
++       0,   171,   172,   173,   174,   175,   176,   177,     0,   178,
++     179,   180,   181,   182,   183,   184,   185,     0,   186,   187,
++     188,   189,   190,   191,   192,   193,     0,   194,   195,     0,
++     196,   197,   198,   199,   200,     0,   201,     0,     0,   202,
++       0,     0,   203,     0,     0,     0,   204,     0,     0,     0,
++     205,   206,   207,     0,     0,   208,     0,     0,     0,     0,
++     209,   210,     0,     0,     0,     0,   211,     0,   212,     0,
++       0,     0,   213,     0,   214,   215,   216,   217,     0,     0,
++       0,   218,     0,     0,   219,   220,   221,     0,     0,     0,
++     222,     0,   223,   224,     0,   225,   226,   227,     0,   228,
++     229,     0,   230,   231,   232,   233,   234,   235,     0,     0,
++     236,   237,   238,     0,     0,   239,   240,     0,   241,   242,
++     243,     0,     0,   244,     0,     0,     0,   245,     0,   246,
++       0,   247,     0,   248,   249,   250,   251,   252,   253,     0,
++     254,     0,     0,   255,   256,   257,     0,   258,     0,     0,
++       0,   259,   260,     0,     0,     0,   261,   262,   263,   264,
++       0,     0,   265,   266,   267,     0,   268,     0,   269,     0,
++       0,     0,     0,   270,   271,     0,     0,     0,   272,     0,
++     273,   274,     0,   275,   276,     0,     0,     0,   277,     0,
++       0,   278,   279,   280,     0,     0,   281,     0,     0,   282,
++     283,     0,     0,     0,     0,     0,   284,   285,     0,   286,
++       0,   287,     0,   288,   289,     0,     0,     0,     0,     0,
++       0,   290,   291,   292,   293,   294,   295,   296,   297,   298,
++     299,   300,   301,   302,     0,   303,   304,   305,     0,   306,
++     307,   308,   309,     0,   310,   311,     0,     0,     0,     0,
++     312,   313,   314,   315,   316,   317,     0,     0,   318,   319,
++       0,   320,     0,   321,     0,   322,   323,   324,   325,   326,
++     327,   328,   329,   330,   331,     0,     0,   332,   333,     0,
++       0,   334,   335,   336,   337,     0,     0,     0,   338,   339,
++       0,     0,     0,     0,   340,   341,   342,     0,   343,   344,
++     345,   346,     0,   347,   348,     0,     0,     0,     0,     0,
++       0,     0,     0,   349,   350,   351,     0,     0,   352,     0,
++     353,   354,   355,   356,   357,   358,   359,   360,   361,   362,
++     363,   364,     0,     0,   365,   366,   367,     0,   368,     0,
++     369,   370,   371,   372,   373,     0,   374,   375,   376,     0,
++       0,   377,     0,     0,     0,   378,   379,   380,   381,   382,
++       0,     0,   383,   384,   385,   386,   387,     0,   388,   389,
++       0,   390,   391,   392,     0,     0,   393,     0,   394,     0,
++     395,   396,     0,   397,   398,     0,     0,     0,   399,   400,
++     401,   402,   403,   404,   405,   406,   407,   408,     0,   409,
++     410,  2333,     0,     0,   411,   412,   413,   414,     0,     0,
++       0,   415,     0,     0,     0,   416,     0,   417,   418,   419,
++     420,     0,   421,   422,   423,   424,   425,   426,     0,     0,
++       0,     0,     0,     0,   427,   428,     0,   429,     0,     0,
++     430,     0,     0,   431,   432,   433,     0,     0,   434,   435,
++       0,   436,   437,   438,   439,   440,   441,     0,     0,   442,
++     443,   444,   445,     0,   446,   447,     0,   448,     0,   449,
++     450,   451,   452,     0,     0,   453,   454,     0,   455,   456,
++     457,   458,     0,     0,     0,     0,     0,   459,   460,   461,
++       0,     0,     0,   462,   463,   464,   465,     0,   466,   467,
++       0,   468,   469,     0,   470,   471,     0,     0,   472,     0,
++       0,   473,     0,   474,     0,   475,   476,   477,     0,     0,
++       0,     0,     0,     0,   478,     0,     0,   479,     0,     0,
++       0,   480,   481,   482,   483,   484,   485,     0,     0,     0,
++       0,     0,     0,   486,   487,     0,   488,   489,   490,     0,
++       0,   491,     0,     0,     0,     0,     0,   139,     0,   140,
++     141,   142,   143,   144,     0,     0,   145,  2766,     0,     0,
++     146,     0,     0,   147,   782,   148,   149,   150,   151,   152,
++     153,   154,     0,   155,     0,     0,     0,   156,     0,     0,
++       0,   157,     0,     0,   158,   159,   160,     0,   161,     0,
++     162,   163,     0,     0,   164,     0,     0,   165,   166,     0,
++     167,   168,     0,   169,   170,     0,   171,   172,   173,   174,
++     175,   176,   177,     0,   178,   179,   180,   181,   182,   183,
++     184,   185,     0,   186,   187,   188,   189,   190,   191,   192,
++     193,     0,   194,   195,     0,   196,   197,   198,   199,   200,
++       0,   201,     0,     0,   202,     0,     0,   203,     0,     0,
++       0,   204,     0,     0,     0,   205,   206,   207,     0,     0,
++     208,     0,     0,     0,     0,   209,   210,     0,     0,     0,
++       0,   211,     0,   212,     0,     0,     0,   213,     0,   214,
++     215,   216,   217,     0,     0,     0,   218,     0,     0,   219,
++     220,   221,     0,     0,     0,   222,     0,   223,   224,     0,
++     225,   226,   227,     0,   228,   229,     0,   230,   231,   232,
++     233,   234,   235,     0,     0,   236,   237,   238,     0,     0,
++     239,   240,     0,   241,   242,   243,     0,     0,   244,     0,
++       0,     0,   245,     0,   246,     0,   247,     0,   248,   249,
++     250,   251,   252,   253,     0,   254,     0,     0,   255,   256,
++     257,     0,   258,     0,     0,     0,   259,   260,     0,     0,
++       0,   261,   262,   263,   264,     0,     0,   265,   266,   267,
++       0,   268,     0,   269,     0,     0,     0,     0,   270,   271,
++       0,     0,     0,   272,     0,   273,   274,     0,   275,   276,
++       0,     0,     0,   277,     0,     0,   278,   279,   280,     0,
++       0,   281,     0,     0,   282,   283,     0,     0,     0,     0,
++       0,   284,   285,     0,   286,     0,   287,     0,   288,   289,
++       0,     0,     0,     0,     0,     0,   290,   291,   292,   293,
++     294,   295,   296,   297,   298,   299,   300,   301,   302,     0,
++     303,   304,   305,     0,   306,   307,   308,   309,     0,   310,
++     311,     0,     0,     0,     0,   312,   313,   314,   315,   316,
++     317,     0,     0,   318,   319,     0,   320,     0,   321,     0,
++     322,   323,   324,   325,   326,   327,   328,   329,   330,   331,
++       0,     0,   332,   333,     0,     0,   334,   335,   336,   337,
++       0,     0,     0,   338,   339,     0,     0,     0,     0,   340,
++     341,   342,     0,   343,   344,   345,   346,     0,   347,   348,
++       0,     0,     0,     0,     0,     0,     0,     0,   349,   350,
++     351,     0,     0,   352,     0,   353,   354,   355,   356,   357,
++     358,   359,   360,   361,   362,   363,   364,     0,     0,   365,
++     366,   367,     0,   368,     0,   369,   370,   371,   372,   373,
++       0,   374,   375,   376,     0,     0,   377,     0,     0,     0,
++     378,   379,   380,   381,   382,     0,     0,   383,   384,   385,
++     386,   387,     0,   388,   389,     0,   390,   391,   392,     0,
++       0,   393,     0,   394,     0,   395,   396,     0,   397,   398,
++       0,     0,     0,   399,   400,   401,   402,   403,   404,   405,
++     406,   407,   408,     0,   409,   410,     0,     0,     0,   411,
++     412,   413,   414,     0,     0,     0,   415,     0,     0,     0,
++     416,     0,   417,   418,   419,   420,     0,   421,   422,   423,
++     424,   425,   426,     0,     0,     0,     0,     0,     0,   427,
++     428,     0,   429,     0,     0,   430,     0,     0,   431,   432,
++     433,     0,     0,   434,   435,     0,   436,   437,   438,   439,
++     440,   441,     0,     0,   442,   443,   444,   445,     0,   446,
++     447,     0,   448,     0,   449,   450,   451,   452,     0,     0,
++     453,   454,     0,   455,   456,   457,   458,     0,     0,     0,
++       0,     0,   459,   460,   461,     0,     0,     0,   462,   463,
++     464,   465,     0,   466,   467,     0,   468,   469,     0,   470,
++     471,     0,     0,   472,     0,     0,   473,     0,   474,     0,
++     475,   476,   477,     0,     0,     0,     0,     0,     0,   478,
++       0,     0,   479,     0,     0,     0,   480,   481,   482,   483,
++     484,   485,     0,     0,     0,     0,     0,     0,   486,   487,
++       0,   488,   489,   490,     0,     0,   491,     0,     0,     0,
++       0,     0,     0,     0,   139,     0,   140,   141,   142,   143,
++     144,     0,  4450,   145,     0,     0,     0,   146,  4451,   782,
++     147,     0,   148,   149,   150,   151,   152,   153,   154,     0,
++     155,     0,     0,     0,   156,     0,     0,     0,   157,     0,
++       0,   158,   159,   160,     0,   161,     0,   162,   163,     0,
++       0,   164,     0,     0,   165,   166,     0,   167,   168,     0,
++     169,   170,     0,   171,   172,   173,   174,   175,   176,   177,
++       0,   178,   179,   180,   181,   182,   183,   184,   185,     0,
++     186,   187,   188,   189,   190,   191,   192,   193,     0,   194,
++     195,     0,   196,   197,   198,   199,   200,     0,   201,     0,
++       0,   202,     0,     0,   203,     0,     0,     0,   204,     0,
++       0,     0,   205,   206,   207,     0,     0,   208,     0,     0,
++       0,     0,   209,   210,     0,     0,     0,     0,   211,     0,
++     212,     0,     0,     0,   213,     0,   214,   215,   216,   217,
++       0,     0,     0,   218,     0,     0,   219,   220,   221,     0,
++       0,     0,   222,     0,   223,   224,     0,   225,   226,   227,
++       0,   228,   229,     0,   230,   231,   232,   233,   234,   235,
++       0,     0,   236,   237,   238,     0,     0,   239,   240,     0,
++     241,   242,   243,     0,     0,   244,     0,     0,     0,   245,
++       0,   246,     0,   247,     0,   248,   249,   250,   251,   252,
++     253,     0,   254,     0,     0,   255,   256,   257,     0,   258,
++       0,     0,     0,   259,   260,     0,     0,     0,   261,   262,
++     263,   264,     0,     0,   265,   266,   267,     0,   268,     0,
++     269,     0,     0,     0,     0,   270,   271,     0,     0,     0,
++     272,     0,   273,   274,     0,   275,   276,     0,     0,     0,
++     277,     0,     0,   278,   279,   280,     0,     0,   281,     0,
++       0,   282,   283,     0,     0,     0,     0,     0,   284,   285,
++       0,   286,     0,   287,     0,   288,   289,     0,     0,     0,
++       0,     0,     0,   290,   291,   292,   293,   294,   295,   296,
++     297,   298,   299,   300,   301,   302,     0,   303,   304,   305,
++       0,   306,   307,   308,   309,     0,   310,   311,     0,     0,
++       0,     0,   312,   313,   314,   315,   316,   317,     0,     0,
++     318,   319,     0,   320,     0,   321,     0,   322,   323,   324,
++     325,   326,   327,   328,   329,   330,   331,     0,     0,   332,
++     333,     0,     0,   334,   335,   336,   337,     0,     0,     0,
++     338,   339,     0,     0,     0,     0,   340,   341,   342,     0,
++     343,   344,   345,   346,     0,   347,   348,     0,     0,     0,
++       0,     0,     0,     0,     0,   349,   350,   351,     0,     0,
++     352,     0,   353,   354,   355,   356,   357,   358,   359,   360,
++     361,   362,   363,   364,     0,     0,   365,   366,   367,     0,
++     368,     0,   369,   370,   371,   372,   373,     0,   374,   375,
++     376,     0,     0,   377,     0,     0,     0,   378,   379,   380,
++     381,   382,     0,     0,   383,   384,   385,   386,   387,     0,
++     388,   389,     0,   390,   391,   392,     0,     0,   393,     0,
++     394,     0,   395,   396,     0,   397,   398,     0,     0,     0,
++     399,   400,   401,   402,   403,   404,   405,   406,   407,   408,
++       0,   409,   410,     0,     0,     0,   411,   412,   413,   414,
++       0,     0,     0,   415,     0,     0,     0,   416,     0,   417,
++     418,   419,   420,     0,   421,   422,   423,   424,   425,   426,
++       0,     0,     0,     0,     0,     0,   427,   428,     0,   429,
++       0,     0,   430,     0,     0,   431,   432,   433,     0,     0,
++     434,   435,     0,   436,   437,   438,   439,   440,   441,     0,
++       0,   442,   443,   444,   445,     0,   446,   447,     0,   448,
++       0,   449,   450,   451,   452,     0,     0,   453,   454,     0,
++     455,   456,   457,   458,     0,     0,     0,     0,     0,   459,
++     460,   461,     0,     0,     0,   462,   463,   464,   465,     0,
++     466,   467,     0,   468,   469,     0,   470,   471,     0,     0,
++     472,     0,     0,   473,     0,   474,     0,   475,   476,   477,
++       0,     0,     0,     0,     0,     0,   478,     0,     0,   479,
++       0,     0,     0,   480,   481,   482,   483,   484,   485,     0,
++       0,     0,     0,     0,     0,   486,   487,     0,   488,   489,
++     490,     0,     0,   491,     0,     0,     0,     0,     0,     0,
++       0,   139,     0,   140,   141,   142,   143,   144,  1129,     0,
++     145,     0,     0,     0,   146,     0,   782,   147,     0,   148,
++     149,   150,   151,   152,   153,   154,     0,   155,     0,     0,
++       0,   156,     0,     0,     0,   157,     0,     0,   158,   159,
++     160,     0,   161,     0,   162,   163,     0,     0,   164,     0,
++       0,   165,   166,     0,   167,   168,     0,   169,   170,     0,
++     171,   172,   173,   174,   175,   176,   177,     0,   178,   179,
++     180,   181,   182,   183,   184,   185,     0,   186,   187,   188,
++     189,   190,   191,   192,   193,     0,   194,   195,     0,   196,
++     197,   198,   199,   200,     0,   201,     0,     0,   202,     0,
++       0,   203,     0,     0,     0,   204,     0,     0,     0,   205,
++     206,   207,     0,     0,   208,     0,     0,     0,     0,   209,
++     210,     0,     0,     0,     0,   211,     0,   212,     0,     0,
++       0,   213,     0,   214,   215,   216,   217,     0,     0,     0,
++     218,     0,     0,   219,   220,   221,     0,     0,     0,   222,
++       0,   223,   224,     0,   225,   226,   227,     0,   228,   229,
++       0,   230,   231,   232,   233,   234,   235,     0,     0,   236,
++     237,   238,     0,     0,   239,   240,     0,   241,   242,   243,
++       0,     0,   244,     0,     0,     0,   245,     0,   246,     0,
++     247,     0,   248,   249,   250,   251,   252,   253,     0,   254,
++       0,     0,   255,   256,   257,     0,   258,     0,     0,     0,
++     259,   260,     0,     0,     0,   261,   262,   263,   264,     0,
++       0,   265,   266,   267,     0,   268,     0,   269,     0,     0,
++       0,     0,   270,   271,     0,  1334,     0,   272,     0,   273,
++     274,     0,   275,   276,     0,     0,     0,   277,     0,     0,
++     278,   279,   280,     0,     0,   281,     0,     0,   282,   283,
++       0,     0,     0,     0,     0,   284,   285,     0,   286,     0,
++     287,     0,   288,   289,     0,     0,     0,     0,     0,     0,
++     290,   291,   292,   293,   294,   295,   296,   297,   298,   299,
++     300,   301,   302,     0,   303,   304,   305,     0,   306,   307,
++     308,   309,     0,   310,   311,     0,     0,     0,     0,   312,
++     313,   314,   315,   316,   317,     0,     0,   318,   319,     0,
++     320,     0,   321,     0,   322,   323,   324,   325,   326,   327,
++     328,   329,   330,   331,     0,     0,   332,   333,     0,     0,
++     334,   335,   336,   337,     0,     0,     0,   338,   339,     0,
++       0,     0,     0,   340,   341,   342,     0,   343,   344,   345,
++     346,     0,   347,   348,     0,     0,     0,     0,     0,     0,
++       0,     0,   349,   350,   351,     0,     0,   352,     0,   353,
++     354,   355,   356,   357,   358,   359,   360,   361,   362,   363,
++     364,     0,     0,   365,   366,   367,     0,   368,     0,   369,
++     370,   371,   372,   373,     0,   374,   375,   376,     0,     0,
++     377,     0,     0,     0,   378,   379,   380,   381,   382,     0,
++       0,   383,   384,   385,   386,   387,     0,   388,   389,     0,
++     390,   391,   392,     0,     0,   393,     0,   394,     0,   395,
++     396,     0,   397,   398,     0,     0,     0,   399,   400,   401,
++     402,   403,   404,   405,   406,   407,   408,     0,   409,   410,
++       0,     0,     0,   411,   412,   413,   414,     0,     0,     0,
++     415,     0,     0,     0,   416,     0,   417,   418,   419,   420,
++       0,   421,   422,   423,   424,   425,   426,     0,     0,     0,
++       0,     0,     0,   427,   428,     0,   429,     0,     0,   430,
++       0,     0,   431,   432,   433,     0,     0,   434,   435,     0,
++     436,   437,   438,   439,   440,   441,     0,     0,   442,   443,
++     444,   445,     0,   446,   447,     0,   448,     0,   449,   450,
++     451,   452,     0,     0,   453,   454,     0,   455,   456,   457,
++     458,     0,     0,     0,     0,     0,   459,   460,   461,     0,
++       0,     0,   462,   463,   464,   465,     0,   466,   467,     0,
++     468,   469,     0,   470,   471,     0,     0,   472,     0,     0,
++     473,     0,   474,     0,   475,   476,   477,     0,     0,     0,
++       0,     0,     0,   478,     0,     0,   479,     0,     0,     0,
++     480,   481,   482,   483,   484,   485,     0,     0,     0,     0,
++       0,     0,   486,   487,     0,   488,   489,   490,     0,     0,
++     491,     0,     0,     0,     0,     0,   139,     0,   140,   141,
++     142,   143,   144,     0,     0,   145,     0,     0,     0,   146,
++       0,     0,   147,   539,   148,   149,   150,   151,   152,   153,
++     154,     0,   155,     0,     0,     0,   156,     0,     0,     0,
++     157,     0,     0,   158,   159,   160,     0,   161,     0,   162,
++     163,     0,     0,   164,     0,     0,   165,   166,     0,   167,
++     168,     0,   169,   170,     0,   171,   172,   173,   174,   175,
++     176,   177,     0,   178,   179,   180,   181,   182,   183,   184,
++     185,     0,   186,   187,   188,   189,   190,   191,   192,   193,
++       0,   194,   195,     0,   196,   197,   198,   199,   200,     0,
++     201,     0,     0,   202,     0,     0,   203,     0,     0,     0,
++     204,     0,     0,     0,   205,   206,   207,     0,     0,   208,
++       0,     0,     0,     0,   209,   210,     0,     0,     0,     0,
++     211,     0,   212,     0,     0,     0,   213,     0,   214,   215,
++     216,   217,     0,     0,     0,   218,     0,     0,   219,   220,
++     221,     0,     0,     0,   222,     0,   223,   224,     0,   225,
++     226,   227,     0,   228,   229,     0,   230,   231,   232,   233,
++     234,   235,     0,     0,   236,   237,   238,     0,     0,   239,
++     240,     0,   241,   242,   243,     0,     0,   244,     0,     0,
++       0,   245,     0,   246,     0,   247,     0,   248,   249,   250,
++     251,   252,   253,     0,   254,     0,     0,   255,   256,   257,
++       0,   258,     0,     0,     0,   259,   260,     0,     0,     0,
++     261,   262,   263,   264,     0,     0,   265,   266,   267,     0,
++     268,     0,   269,     0,     0,     0,     0,   270,   271,     0,
++       0,     0,   272,     0,   273,   274,     0,   275,   276,     0,
++       0,     0,   277,     0,     0,   278,   279,   280,     0,     0,
++     281,     0,     0,   282,   283,     0,     0,     0,     0,     0,
++     284,   285,     0,   286,     0,   287,     0,   288,   289,     0,
++       0,     0,     0,     0,     0,   290,   291,   292,   293,   294,
++     295,   296,   297,   298,   299,   300,   301,   302,     0,   303,
++     304,   305,     0,   306,   307,   308,   309,     0,   310,   311,
++       0,     0,     0,     0,   312,   313,   314,   315,   316,   317,
++       0,     0,   318,   319,     0,   320,     0,   321,     0,   322,
++     323,   324,   325,   326,   327,   328,   329,   330,   331,     0,
++       0,   332,   333,     0,     0,   334,   335,   336,   337,     0,
++       0,     0,   338,   339,     0,     0,     0,     0,   340,   341,
++     342,     0,   343,   344,   345,   346,     0,   347,   348,     0,
++       0,     0,     0,     0,     0,     0,     0,   349,   350,   351,
++       0,     0,   352,     0,   353,   354,   355,   356,   357,   358,
++     359,   360,   361,   362,   363,   364,     0,     0,   365,   366,
++     367,     0,   368,     0,   369,   370,   371,   372,   373,     0,
++     374,   375,   376,     0,     0,   377,     0,     0,     0,   378,
++     379,   380,   381,   382,     0,     0,   383,   384,   385,   386,
++     387,     0,   388,   389,     0,   390,   391,   392,     0,     0,
++     393,     0,   394,     0,   395,   396,     0,   397,   398,     0,
++       0,     0,   399,   400,   401,   402,   403,   404,   405,   406,
++     407,   408,     0,   409,   410,     0,     0,     0,   411,   412,
++     413,   414,     0,     0,     0,   415,     0,     0,     0,   416,
++       0,   417,   418,   419,   420,     0,   421,   422,   423,   424,
++     425,   426,     0,     0,     0,     0,     0,     0,   427,   428,
++       0,   429,     0,     0,   430,     0,     0,   431,   432,   433,
++       0,     0,   434,   435,     0,   436,   437,   438,   439,   440,
++     441,     0,     0,   442,   443,   444,   445,     0,   446,   447,
++       0,   448,     0,   449,   450,   451,   452,     0,     0,   453,
++     454,     0,   455,   456,   457,   458,     0,     0,     0,     0,
++       0,   459,   460,   461,     0,     0,     0,   462,   463,   464,
++     465,     0,   466,   467,     0,   468,   469,     0,   470,   471,
++       0,     0,   472,     0,     0,   473,     0,   474,     0,   475,
++     476,   477,     0,     0,     0,     0,     0,     0,   478,     0,
++       0,   479,     0,     0,     0,   480,   481,   482,   483,   484,
++     485,     0,     0,     0,     0,     0,     0,   486,   487,     0,
++     488,   489,   490,     0,     0,   491,     0,     0,     0,     0,
++       0,     0,     0,     0,   139,  2280,   140,   141,   142,   143,
++     144,     0,     0,   145,     0,     0,     0,   146,   539,     0,
++     147,     0,   148,   149,   150,   151,   152,   153,   154,     0,
++     155,     0,     0,     0,   156,     0,     0,     0,   157,     0,
++       0,   158,   159,   160,     0,   161,     0,   162,   163,     0,
++       0,   164,     0,     0,   165,   166,     0,   167,   168,     0,
++     169,   170,     0,   171,   172,   173,   174,   175,   176,   177,
++       0,   178,   179,   180,   181,   182,   183,   184,   185,     0,
++     186,   187,   188,   189,   190,   191,   192,   193,     0,   194,
++     195,     0,   196,   197,   198,   199,   200,     0,   201,     0,
++       0,   202,     0,     0,   203,     0,     0,     0,   204,     0,
++       0,     0,   205,   206,   207,     0,     0,   208,     0,     0,
++       0,     0,   209,   210,     0,     0,     0,     0,   211,     0,
++     212,     0,     0,     0,   213,     0,   214,   215,   216,   217,
++       0,     0,     0,   218,     0,     0,   219,   220,   221,     0,
++       0,     0,   222,     0,   223,   224,     0,   225,   226,   227,
++       0,   228,   229,     0,   230,   231,   232,   233,   234,   235,
++       0,     0,   236,   237,   238,     0,     0,   239,   240,     0,
++     241,   242,   243,     0,     0,   244,     0,     0,     0,   245,
++       0,   246,     0,   247,     0,   248,   249,   250,   251,   252,
++     253,     0,   254,     0,     0,   255,   256,   257,     0,   258,
++       0,     0,     0,   259,   260,     0,     0,     0,   261,   262,
++     263,   264,     0,     0,   265,   266,   267,     0,   268,     0,
++     269,     0,     0,     0,     0,   270,   271,     0,     0,     0,
++     272,     0,   273,   274,     0,   275,   276,     0,     0,     0,
++     277,     0,     0,   278,   279,   280,     0,     0,   281,     0,
++       0,   282,   283,     0,     0,     0,     0,     0,   284,   285,
++       0,   286,     0,   287,     0,   288,   289,     0,     0,     0,
++       0,     0,     0,   290,   291,   292,   293,   294,   295,   296,
++     297,   298,   299,   300,   301,   302,     0,   303,   304,   305,
++       0,   306,   307,   308,   309,     0,   310,   311,     0,     0,
++       0,     0,   312,   313,   314,   315,   316,   317,     0,     0,
++     318,   319,     0,   320,     0,   321,     0,   322,   323,   324,
++     325,   326,   327,   328,   329,   330,   331,     0,     0,   332,
++     333,     0,     0,   334,   335,   336,   337,     0,     0,     0,
++     338,   339,     0,     0,     0,     0,   340,   341,   342,     0,
++     343,   344,   345,   346,     0,   347,   348,     0,     0,     0,
++       0,     0,     0,     0,     0,   349,   350,   351,     0,     0,
++     352,     0,   353,   354,   355,   356,   357,   358,   359,   360,
++     361,   362,   363,   364,     0,     0,   365,   366,   367,     0,
++     368,     0,   369,   370,   371,   372,   373,     0,   374,   375,
++     376,     0,     0,   377,     0,     0,     0,   378,   379,   380,
++     381,   382,     0,     0,   383,   384,   385,   386,   387,     0,
++     388,   389,     0,   390,   391,   392,     0,     0,   393,     0,
++     394,     0,   395,   396,     0,   397,   398,     0,     0,     0,
++     399,   400,   401,   402,   403,   404,   405,   406,   407,   408,
++       0,   409,   410,     0,     0,     0,   411,   412,   413,   414,
++       0,     0,     0,   415,     0,     0,     0,   416,     0,   417,
++     418,   419,   420,     0,   421,   422,   423,   424,   425,   426,
++       0,     0,     0,     0,     0,     0,   427,   428,     0,   429,
++       0,     0,   430,     0,     0,   431,   432,   433,     0,     0,
++     434,   435,     0,   436,   437,   438,   439,   440,   441,     0,
++       0,   442,   443,   444,   445,     0,   446,   447,     0,   448,
++       0,   449,   450,   451,   452,     0,     0,   453,   454,     0,
++     455,   456,   457,   458,     0,     0,     0,     0,     0,   459,
++     460,   461,     0,     0,     0,   462,   463,   464,   465,     0,
++     466,   467,     0,   468,   469,     0,   470,   471,     0,     0,
++     472,     0,     0,   473,     0,   474,     0,   475,   476,   477,
++       0,     0,     0,     0,     0,     0,   478,     0,     0,   479,
++       0,     0,     0,   480,   481,   482,   483,   484,   485,     0,
++       0,     0,     0,     0,     0,   486,   487,     0,   488,   489,
++     490,     0,     0,   491,     0,     0,     0,     0,     0,     0,
++       0,   139,     0,   140,   141,   142,   143,   144,  2523,     0,
++     145,     0,     0,     0,   146,     0,  2524,   147,     0,   148,
++     149,   150,   151,   152,   153,   154,     0,   155,     0,     0,
++       0,   156,     0,     0,     0,   157,     0,     0,   158,   159,
++     160,     0,   161,     0,   162,   163,     0,     0,   164,     0,
++       0,   165,   166,     0,   167,   168,     0,   169,   170,     0,
++     171,   172,   173,   174,   175,   176,   177,     0,   178,   179,
++     180,   181,   182,   183,   184,   185,     0,   186,   187,   188,
++     189,   190,   191,   192,   193,     0,   194,   195,     0,   196,
++     197,   198,   199,   200,     0,   201,     0,     0,   202,     0,
++       0,   203,     0,     0,     0,   204,     0,     0,     0,   205,
++     206,   207,     0,     0,   208,     0,     0,     0,     0,   209,
++     210,     0,     0,     0,     0,   211,     0,   212,     0,     0,
++       0,   213,     0,   214,   215,   216,   217,     0,     0,     0,
++     218,     0,     0,   219,   220,   221,     0,     0,     0,   222,
++       0,   223,   224,     0,   225,   226,   227,     0,   228,   229,
++       0,   230,   231,   232,   233,   234,   235,     0,     0,   236,
++     237,   238,     0,     0,   239,   240,     0,   241,   242,   243,
++       0,     0,   244,     0,     0,     0,   245,     0,   246,     0,
++     247,     0,   248,   249,   250,   251,   252,   253,     0,   254,
++       0,     0,   255,   256,   257,     0,   258,     0,     0,     0,
++     259,   260,     0,     0,     0,   261,   262,   263,   264,     0,
++       0,   265,   266,   267,     0,   268,     0,   269,     0,     0,
++       0,     0,   270,   271,     0,     0,     0,   272,     0,   273,
++     274,     0,   275,   276,     0,     0,     0,   277,     0,     0,
++     278,   279,   280,     0,     0,   281,     0,     0,   282,   283,
++       0,     0,     0,     0,     0,   284,   285,     0,   286,     0,
++     287,     0,   288,   289,     0,     0,     0,     0,     0,     0,
++     290,   291,   292,   293,   294,   295,   296,   297,   298,   299,
++     300,   301,   302,     0,   303,   304,   305,     0,   306,   307,
++     308,   309,     0,   310,   311,     0,     0,     0,     0,   312,
++     313,   314,   315,   316,   317,     0,     0,   318,   319,     0,
++     320,     0,   321,     0,   322,   323,   324,   325,   326,   327,
++     328,   329,   330,   331,     0,     0,   332,   333,     0,     0,
++     334,   335,   336,   337,     0,     0,     0,   338,   339,     0,
++       0,     0,     0,   340,   341,   342,     0,   343,   344,   345,
++     346,     0,   347,   348,     0,     0,     0,     0,     0,     0,
++       0,     0,   349,   350,   351,     0,     0,   352,     0,   353,
++     354,   355,   356,   357,   358,   359,   360,   361,   362,   363,
++     364,     0,     0,   365,   366,   367,     0,   368,     0,   369,
++     370,   371,   372,   373,     0,   374,   375,   376,     0,     0,
++     377,     0,     0,     0,   378,   379,   380,   381,   382,     0,
++       0,   383,   384,   385,   386,   387,     0,   388,   389,     0,
++     390,   391,   392,     0,     0,   393,     0,   394,     0,   395,
++     396,     0,   397,   398,     0,     0,     0,   399,   400,   401,
++     402,   403,   404,   405,   406,   407,   408,     0,   409,   410,
++       0,     0,     0,   411,   412,   413,   414,     0,     0,     0,
++     415,     0,     0,     0,   416,     0,   417,   418,   419,   420,
++       0,   421,   422,   423,   424,   425,   426,     0,     0,     0,
++       0,     0,     0,   427,   428,     0,   429,     0,     0,   430,
++       0,     0,   431,   432,   433,     0,     0,   434,   435,     0,
++     436,   437,   438,   439,   440,   441,     0,     0,   442,   443,
++     444,   445,     0,   446,   447,     0,   448,     0,   449,   450,
++     451,   452,     0,     0,   453,   454,     0,   455,   456,   457,
++     458,     0,     0,     0,     0,     0,   459,   460,   461,     0,
++       0,     0,   462,   463,   464,   465,     0,   466,   467,     0,
++     468,   469,     0,   470,   471,     0,     0,   472,     0,     0,
++     473,     0,   474,     0,   475,   476,   477,     0,     0,     0,
++       0,     0,     0,   478,     0,     0,   479,     0,     0,     0,
++     480,   481,   482,   483,   484,   485,     0,     0,     0,     0,
++       0,     0,   486,   487,     0,   488,   489,   490,     0,     0,
++     491,     0,     0,     0,     0,     0,     0,     0,   139,     0,
++     140,   141,   142,   143,   144,     0,     0,   145,     0,     0,
++       0,   146,  4451,   782,   147,     0,   148,   149,   150,   151,
++     152,   153,   154,     0,   155,     0,     0,     0,   156,     0,
++       0,     0,   157,     0,     0,   158,   159,   160,     0,   161,
++       0,   162,   163,     0,     0,   164,     0,     0,   165,   166,
++       0,   167,   168,     0,   169,   170,     0,   171,   172,   173,
++     174,   175,   176,   177,     0,   178,   179,   180,   181,   182,
++     183,   184,   185,     0,   186,   187,   188,   189,   190,   191,
++     192,   193,     0,   194,   195,     0,   196,   197,   198,   199,
++     200,     0,   201,     0,     0,   202,     0,     0,   203,     0,
++       0,     0,   204,     0,     0,     0,   205,   206,   207,     0,
++       0,   208,     0,     0,     0,     0,   209,   210,     0,     0,
++       0,     0,   211,     0,   212,     0,     0,     0,   213,     0,
++     214,   215,   216,   217,     0,     0,     0,   218,     0,     0,
++     219,   220,   221,     0,     0,     0,   222,     0,   223,   224,
++       0,   225,   226,   227,     0,   228,   229,     0,   230,   231,
++     232,   233,   234,   235,     0,     0,   236,   237,   238,     0,
++       0,   239,   240,     0,   241,   242,   243,     0,     0,   244,
++       0,     0,     0,   245,     0,   246,     0,   247,     0,   248,
++     249,   250,   251,   252,   253,     0,   254,     0,     0,   255,
++     256,   257,     0,   258,     0,     0,     0,   259,   260,     0,
++       0,     0,   261,   262,   263,   264,     0,     0,   265,   266,
++     267,     0,   268,     0,   269,     0,     0,     0,     0,   270,
++     271,     0,     0,     0,   272,     0,   273,   274,     0,   275,
++     276,     0,     0,     0,   277,     0,     0,   278,   279,   280,
++       0,     0,   281,     0,     0,   282,   283,     0,     0,     0,
++       0,     0,   284,   285,     0,   286,     0,   287,     0,   288,
++     289,     0,     0,     0,     0,     0,     0,   290,   291,   292,
++     293,   294,   295,   296,   297,   298,   299,   300,   301,   302,
++       0,   303,   304,   305,     0,   306,   307,   308,   309,     0,
++     310,   311,     0,     0,     0,     0,   312,   313,   314,   315,
++     316,   317,     0,     0,   318,   319,     0,   320,     0,   321,
++       0,   322,   323,   324,   325,   326,   327,   328,   329,   330,
++     331,     0,     0,   332,   333,     0,     0,   334,   335,   336,
++     337,     0,     0,     0,   338,   339,     0,     0,     0,     0,
++     340,   341,   342,     0,   343,   344,   345,   346,     0,   347,
++     348,     0,     0,     0,     0,     0,     0,     0,     0,   349,
++     350,   351,     0,     0,   352,     0,   353,   354,   355,   356,
++     357,   358,   359,   360,   361,   362,   363,   364,     0,     0,
++     365,   366,   367,     0,   368,     0,   369,   370,   371,   372,
++     373,     0,   374,   375,   376,     0,     0,   377,     0,     0,
++       0,   378,   379,   380,   381,   382,     0,     0,   383,   384,
++     385,   386,   387,     0,   388,   389,     0,   390,   391,   392,
++       0,     0,   393,     0,   394,     0,   395,   396,     0,   397,
++     398,     0,     0,     0,   399,   400,   401,   402,   403,   404,
++     405,   406,   407,   408,     0,   409,   410,     0,     0,     0,
++     411,   412,   413,   414,     0,     0,     0,   415,     0,     0,
++       0,   416,     0,   417,   418,   419,   420,     0,   421,   422,
++     423,   424,   425,   426,     0,     0,     0,     0,     0,     0,
++     427,   428,     0,   429,     0,     0,   430,     0,     0,   431,
++     432,   433,     0,     0,   434,   435,     0,   436,   437,   438,
++     439,   440,   441,     0,     0,   442,   443,   444,   445,     0,
++     446,   447,     0,   448,     0,   449,   450,   451,   452,     0,
++       0,   453,   454,     0,   455,   456,   457,   458,     0,     0,
++       0,     0,     0,   459,   460,   461,     0,     0,     0,   462,
++     463,   464,   465,     0,   466,   467,     0,   468,   469,     0,
++     470,   471,     0,     0,   472,     0,     0,   473,     0,   474,
++       0,   475,   476,   477,     0,     0,     0,     0,     0,     0,
++     478,     0,     0,   479,     0,     0,     0,   480,   481,   482,
++     483,   484,   485,     0,     0,     0,     0,     0,     0,   486,
++     487,     0,   488,   489,   490,     0,     0,   491,     0,     0,
++       0,     0,     0,   139,     0,   140,   141,   142,   143,   144,
++       0,     0,   145,     0,     0,     0,   146,     0,     0,   147,
++     539,   148,   149,   150,   151,   152,   153,   154,     0,   155,
++       0,     0,     0,   156,     0,     0,     0,   157,     0,     0,
++     158,   159,   160,     0,   161,     0,   162,   163,     0,     0,
++     164,     0,     0,   165,   166,     0,   167,   168,     0,   169,
++     170,     0,   171,   172,   173,   174,   175,   176,   177,     0,
++     178,   179,   180,   181,   182,   183,   184,   185,     0,   186,
++     187,   188,   189,   190,   191,   192,   193,     0,   194,   195,
++       0,   196,   197,   198,   199,   200,     0,   201,     0,     0,
++     202,     0,     0,   203,     0,     0,     0,   204,     0,     0,
++       0,   205,   206,   207,     0,     0,   208,     0,     0,     0,
++       0,   209,   210,     0,     0,     0,     0,   211,     0,   212,
++       0,     0,     0,   213,     0,   214,   215,   216,   217,     0,
++       0,     0,   218,     0,     0,   219,   220,   221,     0,     0,
++       0,   222,     0,   223,   224,     0,   225,   226,   227,     0,
++     228,   229,     0,   230,   231,   232,   233,   234,   235,     0,
++       0,   236,   606,   238,     0,     0,   239,   240,     0,   241,
++     242,   243,     0,     0,   244,     0,     0,     0,   245,     0,
++     246,     0,   247,     0,   248,   249,   250,   251,   252,   253,
++       0,   254,     0,     0,   255,   256,   257,     0,   258,     0,
++       0,     0,   259,   260,     0,     0,     0,   261,   262,   263,
++     264,     0,     0,   265,   266,   267,     0,   268,     0,   269,
++       0,     0,     0,     0,   270,   271,     0,     0,     0,   272,
++       0,   273,   274,     0,   275,   276,     0,     0,     0,   277,
++       0,     0,   278,   279,   280,     0,     0,   281,     0,     0,
++     282,   283,     0,     0,     0,     0,     0,   284,   285,     0,
++     286,     0,   287,     0,   288,   289,     0,     0,     0,     0,
++       0,     0,   290,   291,   292,   293,   294,   295,   296,   297,
++     298,   299,   300,   301,   302,     0,   303,   304,   305,     0,
++     306,   307,   308,   309,     0,   310,   311,     0,     0,     0,
++       0,   312,   313,   314,   315,   316,   317,     0,     0,   318,
++     319,     0,   320,     0,   321,     0,   322,   323,   324,   325,
++     326,   327,   328,   329,   330,   331,     0,     0,   332,   333,
++       0,     0,   334,   335,   336,   337,     0,     0,     0,   338,
++     339,     0,     0,     0,     0,   340,   341,   342,     0,   343,
++     344,   345,   346,     0,   347,   348,     0,     0,     0,     0,
++       0,     0,     0,     0,   349,   350,   351,     0,     0,   352,
++       0,   353,   354,   607,   356,   357,   358,   359,   360,   361,
++     362,   363,   364,     0,     0,   365,   366,   367,     0,   368,
++       0,   369,   370,   371,   372,   373,     0,   374,   375,   376,
++       0,     0,   377,     0,     0,     0,   378,   379,   380,   381,
++     382,     0,     0,   383,   384,   385,   386,   387,     0,   388,
++     389,     0,   390,   391,   392,     0,     0,   393,     0,   394,
++       0,   395,   396,     0,   397,   398,     0,     0,     0,   399,
++     400,   401,   402,   403,   404,   405,   406,   407,   408,     0,
++     409,   410,     0,     0,     0,   411,   412,   413,   414,     0,
++       0,     0,   415,     0,     0,     0,   416,     0,   417,   418,
++     419,   420,     0,   421,   422,   423,   424,   425,   426,     0,
++       0,     0,     0,     0,     0,   427,   428,     0,   429,     0,
++       0,   430,     0,     0,   431,   432,   433,     0,     0,   434,
++     435,     0,   436,   437,   438,   439,   440,   441,     0,     0,
++     442,   443,   444,   445,     0,   446,   447,     0,   448,     0,
++     449,   450,   451,   452,     0,     0,   453,   454,     0,   455,
++     456,   457,   458,     0,     0,     0,     0,     0,   459,   460,
++     461,     0,     0,     0,   462,   463,   464,   465,     0,   466,
++     467,     0,   468,   469,     0,   470,   471,     0,     0,   472,
++       0,     0,   473,     0,   474,     0,   475,   476,   477,     0,
++       0,     0,     0,     0,     0,   478,     0,     0,   479,     0,
++       0,     0,   480,   481,   482,   483,   484,   485,     0,     0,
++       0,     0,     0,     0,   486,   487,     0,   488,   489,   490,
++       0,     0,   491,     0,     0,     0,     0,     0,   139,     0,
++     140,   141,   142,   143,   144,     0,     0,   145,     0,     0,
++       0,   146,     0,     0,   147,   539,   148,   149,   150,   151,
++     152,   153,   154,     0,   155,     0,     0,     0,   156,     0,
++       0,     0,   157,     0,     0,   158,   159,   160,     0,   161,
++       0,   162,   163,     0,     0,   164,     0,     0,   165,   166,
++       0,   167,   168,     0,   169,   170,     0,   171,   172,   173,
++     174,   175,   176,   177,     0,   178,   179,   180,   181,   182,
++     183,   184,   185,     0,   186,   187,   188,   189,   190,   191,
++     192,   193,     0,   194,   195,     0,   196,   197,   198,   199,
++     200,     0,   201,     0,     0,   202,     0,     0,   203,     0,
++       0,     0,   204,     0,     0,     0,   205,   206,   207,     0,
++       0,   208,     0,     0,     0,     0,   209,   210,     0,     0,
++       0,     0,   211,     0,   212,     0,     0,     0,   213,     0,
++     214,   215,   216,   217,     0,     0,     0,   218,     0,     0,
++     219,   220,   221,     0,     0,     0,   222,     0,   223,   224,
++       0,   225,   226,   227,     0,   228,   229,     0,   230,   231,
++     232,   233,   234,   235,     0,     0,   236,   237,   238,     0,
++       0,   239,   240,     0,   241,   242,   243,     0,     0,   244,
++       0,     0,     0,   245,     0,   246,     0,   247,     0,   248,
++     249,   250,   251,   252,   253,     0,   254,     0,     0,   255,
++     256,   257,     0,   258,     0,     0,     0,   259,   260,     0,
++       0,     0,   261,   262,   263,   264,     0,     0,   265,   266,
++     267,     0,   268,     0,   269,     0,     0,     0,     0,   270,
++     271,     0,     0,     0,   272,     0,   273,   274,     0,   275,
++     276,     0,     0,     0,   277,     0,     0,   278,   279,   280,
++       0,     0,   281,     0,     0,   282,   283,     0,     0,     0,
++       0,     0,   284,   285,     0,   286,     0,   287,     0,   288,
++     289,     0,     0,     0,     0,     0,     0,   290,   291,   292,
++     293,   294,   295,   296,   297,   298,   299,   300,   301,   302,
++       0,   303,   304,   305,     0,   306,   307,   308,   309,     0,
++     310,   311,     0,     0,     0,     0,   312,   313,   314,   315,
++     316,   317,     0,     0,   318,   319,     0,   320,     0,   321,
++       0,   322,   323,   324,   325,   326,   327,   328,   329,   330,
++     331,     0,     0,   332,   333,     0,     0,   334,   335,   336,
++     337,     0,     0,     0,   338,   339,     0,     0,     0,     0,
++     340,   341,   342,     0,   343,   344,   345,   346,     0,   347,
++     348,     0,     0,     0,     0,     0,     0,     0,     0,   349,
++     350,   351,     0,     0,   352,     0,   353,   354,   355,   356,
++     357,   358,   359,   360,   361,   362,   363,   364,     0,     0,
++     365,   366,   367,     0,   368,     0,   369,   370,   371,   372,
++     373,     0,   374,   375,   376,     0,     0,   377,     0,     0,
++       0,   378,   379,   380,   381,   382,     0,     0,   383,   384,
++     385,   386,   387,     0,   388,   389,     0,   390,   391,   392,
++       0,     0,   393,     0,   394,     0,   395,   396,     0,   397,
++     398,     0,     0,     0,   399,   400,   401,   402,   403,   404,
++     405,   406,   407,   408,     0,   409,   410,     0,     0,     0,
++     411,   412,   413,   414,     0,     0,     0,   415,     0,     0,
++       0,   416,     0,   417,   418,   419,   420,     0,   421,   422,
++     423,   424,   425,   426,     0,     0,     0,     0,     0,     0,
++     427,   428,     0,   429,     0,     0,   430,     0,     0,   431,
++     432,   433,     0,     0,   434,   435,     0,   436,   437,   438,
++     439,   440,   441,     0,     0,   442,   443,   444,   445,     0,
++     446,   447,     0,   448,     0,   449,   450,   451,   452,     0,
++       0,   453,   454,     0,   455,   456,   457,   458,     0,     0,
++       0,     0,     0,   459,   460,   461,     0,     0,     0,   462,
++     463,   464,   465,     0,   466,   467,     0,   468,   469,     0,
++     470,   471,     0,     0,   472,     0,     0,   473,     0,   474,
++       0,   475,   476,   477,     0,     0,     0,     0,     0,     0,
++     478,     0,     0,   479,     0,     0,     0,   480,   481,   482,
++     483,   484,   485,     0,     0,     0,     0,     0,     0,   486,
++     487,     0,   488,   489,   490,     0,     0,   491,     0,     0,
++       0,     0,     0,   139,     0,   140,   141,   142,   143,   144,
++       0,     0,   145,     0,     0,     0,   146,     0,     0,   147,
++     782,   148,   149,   150,   151,   152,   153,   154,     0,   155,
++       0,     0,     0,   156,     0,     0,     0,   157,     0,     0,
++     158,   159,   160,     0,   161,     0,   162,   163,     0,     0,
++     164,     0,     0,   165,   166,     0,   167,   168,     0,   169,
++     170,     0,   171,   172,   173,   174,   175,   176,   177,     0,
++     178,   179,   180,   181,   182,   183,   184,   185,     0,   186,
++     187,   188,   189,   190,   191,   192,   193,     0,   194,   195,
++       0,   196,   197,   198,   199,   200,     0,   201,     0,     0,
++     202,     0,     0,   203,     0,     0,     0,   204,     0,     0,
++       0,   205,   206,   207,     0,     0,   208,     0,     0,     0,
++       0,   209,   210,     0,     0,     0,     0,   211,     0,   212,
++       0,     0,     0,   213,     0,   214,   215,   216,   217,     0,
++       0,     0,   218,     0,     0,   219,   220,   221,     0,     0,
++       0,   222,     0,   223,   224,     0,   225,   226,   227,     0,
++     228,   229,     0,   230,   231,   232,   233,   234,   235,     0,
++       0,   236,   237,   238,     0,     0,   239,   240,     0,   241,
++     242,   243,     0,     0,   244,     0,     0,     0,   245,     0,
++     246,     0,   247,     0,   248,   249,   250,   251,   252,   253,
++       0,   254,     0,     0,   255,   256,   257,     0,   258,     0,
++       0,     0,   259,   260,     0,     0,     0,   261,   262,   263,
++     264,     0,     0,   265,   266,   267,     0,   268,     0,   269,
++       0,     0,     0,     0,   270,   271,     0,     0,     0,   272,
++       0,   273,   274,     0,   275,   276,     0,     0,     0,   277,
++       0,     0,   278,   279,   280,     0,     0,   281,     0,     0,
++     282,   283,     0,     0,     0,     0,     0,   284,   285,     0,
++     286,     0,   287,     0,   288,   289,     0,     0,     0,     0,
++       0,     0,   290,   291,   292,   293,   294,   295,   296,   297,
++     298,   299,   300,   301,   302,     0,   303,   304,   305,     0,
++     306,   307,   308,   309,     0,   310,   311,     0,     0,     0,
++       0,   312,   313,   314,   315,   316,   317,     0,     0,   318,
++     319,     0,   320,     0,   321,     0,   322,   323,   324,   325,
++     326,   327,   328,   329,   330,   331,     0,     0,   332,   333,
++       0,     0,   334,   335,   336,   337,     0,     0,     0,   338,
++     339,     0,     0,     0,     0,   340,   341,   342,     0,   343,
++     344,   345,   346,     0,   347,   348,     0,     0,     0,     0,
++       0,     0,     0,     0,   349,   350,   351,     0,     0,   352,
++       0,   353,   354,   355,   356,   357,   358,   359,   360,   361,
++     362,   363,   364,     0,     0,   365,   366,   367,     0,   368,
++       0,   369,   370,   371,   372,   373,     0,   374,   375,   376,
++       0,     0,   377,     0,     0,     0,   378,   379,   380,   381,
++     382,     0,     0,   383,   384,   385,   386,   387,     0,   388,
++     389,     0,   390,   391,   392,     0,     0,   393,     0,   394,
++       0,   395,   396,     0,   397,   398,     0,     0,     0,   399,
++     400,   401,   402,   403,   404,   405,   406,   407,   408,     0,
++     409,   410,     0,     0,     0,   411,   412,   413,   414,     0,
++       0,     0,   415,     0,     0,     0,   416,     0,   417,   418,
++     419,   420,     0,   421,   422,   423,   424,   425,   426,     0,
++       0,     0,     0,     0,     0,   427,   428,     0,   429,     0,
++       0,   430,     0,     0,   431,   432,   433,     0,     0,   434,
++     435,     0,   436,   437,   438,   439,   440,   441,     0,     0,
++     442,   443,   444,   445,     0,   446,   447,     0,   448,     0,
++     449,   450,   451,   452,     0,     0,   453,   454,     0,   455,
++     456,   457,   458,     0,     0,     0,     0,     0,   459,   460,
++     461,     0,     0,     0,   462,   463,   464,   465,     0,   466,
++     467,     0,   468,   469,     0,   470,   471,     0,     0,   472,
++       0,     0,   473,     0,   474,     0,   475,   476,   477,     0,
++       0,     0,     0,     0,     0,   478,     0,     0,   479,     0,
++       0,     0,   480,   481,   482,   483,   484,   485,     0,     0,
++       0,     0,     0,     0,   486,   487,     0,   488,   489,   490,
++       0,     0,   491,     0,     0,     0,     0,     0,   139,     0,
++     140,   141,   142,   143,   144,     0,     0,   145,     0,     0,
++       0,   146,     0,     0,   147,  2524,   148,   149,   150,   151,
++     152,   153,   154,     0,   155,     0,     0,     0,   156,     0,
++       0,     0,   157,     0,     0,   158,   159,   160,     0,   161,
++       0,   162,   163,     0,     0,   164,     0,     0,   165,   166,
++       0,   167,   168,     0,   169,   170,     0,   171,   172,   173,
++     174,   175,   176,   177,     0,   178,   179,   180,   181,   182,
++     183,   184,   185,     0,   186,   187,   188,   189,   190,   191,
++     192,   193,     0,   194,   195,     0,   196,   197,   198,   199,
++     200,     0,   201,     0,     0,   202,     0,     0,   203,     0,
++       0,     0,   204,     0,     0,     0,   205,   206,   207,     0,
++       0,   208,     0,     0,     0,     0,   209,   210,     0,     0,
++       0,     0,   211,     0,   212,     0,     0,     0,   213,     0,
++     214,   215,   216,   217,     0,     0,     0,   218,     0,     0,
++     219,   220,   221,     0,     0,     0,   222,     0,   223,   224,
++       0,   225,   226,   227,     0,   228,   229,     0,   230,   231,
++     232,   233,   234,   235,     0,     0,   236,   237,   238,     0,
++       0,   239,   240,     0,   241,   242,   243,     0,     0,   244,
++       0,     0,     0,   245,     0,   246,     0,   247,     0,   248,
++     249,   250,   251,   252,   253,     0,   254,     0,     0,   255,
++     256,   257,     0,   258,     0,     0,     0,   259,   260,     0,
++       0,     0,   261,   262,   263,   264,     0,     0,   265,   266,
++     267,     0,   268,     0,   269,     0,     0,     0,     0,   270,
++     271,     0,     0,     0,   272,     0,   273,   274,     0,   275,
++     276,     0,     0,     0,   277,     0,     0,   278,   279,   280,
++       0,     0,   281,     0,     0,   282,   283,   618,     0,     0,
++       0,     0,   284,   285,     0,   286,     0,   287,     0,   288,
++     289,     0,     0,     0,     0,     0,     0,   290,   291,   292,
++     293,   294,   295,   296,   297,   298,   299,   300,   301,   302,
++       0,   303,   304,   305,     0,   306,   307,   308,   309,     0,
++     310,   311,     0,     0,     0,     0,   312,   313,   314,   315,
++     316,   317,     0,     0,   318,   319,     0,   320,     0,   321,
++       0,   322,   323,   324,   325,   326,   327,   328,   329,   330,
++     331,     0,     0,   332,   333,     0,     0,   334,   335,   336,
++     337,     0,     0,     0,   338,   339,     0,     0,     0,     0,
++     340,   341,   342,     0,   343,   344,   345,   346,     0,   347,
++     348,     0,     0,     0,     0,     0,     0,     0,     0,   349,
++     350,   351,     0,     0,   352,     0,   353,   354,   355,   356,
++     357,   358,   359,   360,   361,   362,   363,   364,     0,     0,
++     365,   366,   367,     0,   368,     0,   369,   370,   371,   372,
++     373,     0,   374,   375,   376,     0,     0,   377,     0,     0,
++       0,   378,   379,   380,   381,   382,     0,     0,   383,   384,
++     385,   386,   387,     0,   388,   389,     0,   390,   391,   392,
++       0,     0,   393,     0,   394,     0,   395,   396,     0,   397,
++     398,     0,     0,     0,   399,   400,   401,   402,   403,   404,
++     405,   406,   407,   408,     0,   409,   410,     0,     0,     0,
++     411,   412,   413,   414,     0,     0,     0,   415,     0,     0,
++       0,   416,     0,   417,   418,   419,   420,     0,   421,   422,
++     423,   424,   425,   426,     0,     0,     0,     0,     0,     0,
++     427,   428,     0,   429,     0,     0,   430,     0,     0,   431,
++     432,   433,     0,     0,   434,   435,     0,   436,   437,   438,
++     439,   440,   441,     0,     0,   442,   443,   444,   445,     0,
++     446,   447,     0,   448,     0,   449,   450,   451,   452,     0,
++     136,   453,   454,     0,   455,   456,   457,   458,     0,     0,
++       0,     0,     0,   459,   460,   461,     0,     0,     0,   462,
++     463,   464,   465,     0,   466,   467,     0,   468,   469,     0,
++     470,   471,     0,     0,   472,     0,     0,   473,     0,   474,
++       0,   475,   476,   477,     0,     0,     0,     0,     0,     0,
++     478,     0,     0,   479,     0,     0,     0,   480,   481,   482,
++     483,   484,   485,     0,     0,     0,     0,     0,     0,   486,
++     487,     0,   488,   489,   490,     0,     0,   491,     0,     0,
++       0,     0,   139,     0,   140,   141,   142,   143,   144,     0,
++       0,   145,     0,     0,     0,   146,     0,     0,   147,  1700,
++     148,   149,   150,   151,   152,   153,   154,     0,   155,     0,
++       0,     0,   156,     0,     0,     0,   157,     0,     0,   158,
++     159,   160,     0,   161,     0,   162,   163,     0,     0,   164,
++       0,     0,   165,   166,     0,   167,   168,     0,   169,   170,
++       0,   171,   172,   173,   174,   175,   176,   177,     0,   178,
++     179,   180,   181,   182,   183,   184,   185,     0,   186,   187,
++     188,   189,   190,   191,   192,   193,     0,   194,   195,     0,
++     196,   197,   198,   199,   200,     0,   201,     0,     0,   202,
++       0,     0,   203,     0,     0,     0,   204,     0,     0,     0,
++     205,   206,   207,     0,     0,   208,     0,     0,     0,     0,
++     209,   210,     0,     0,     0,     0,   211,     0,   212,     0,
++       0,     0,   213,     0,   214,   215,   216,   217,     0,     0,
++       0,   218,     0,     0,   219,   220,   221,     0,     0,     0,
++     222,     0,   223,   224,     0,   225,   226,   227,     0,   228,
++     229,     0,   230,   231,   232,   233,   234,   235,     0,     0,
++     236,   237,   238,     0,     0,   239,   240,     0,   241,   242,
++     243,     0,     0,   244,     0,     0,     0,   245,     0,   246,
++       0,   247,     0,   248,   249,   250,   251,   252,   253,     0,
++     254,     0,     0,   255,   256,   257,     0,   258,     0,     0,
++       0,   259,   260,     0,     0,     0,   261,   262,   263,   264,
++       0,     0,   265,   266,   267,     0,   268,     0,   269,     0,
++       0,     0,     0,   270,   271,     0,     0,     0,   272,     0,
++     273,   274,     0,   275,   276,     0,     0,     0,   277,     0,
++       0,   278,   279,   280,     0,     0,   281,     0,     0,   282,
++     283,   618,     0,     0,     0,     0,   284,   285,     0,   286,
++       0,   287,     0,   288,   289,     0,     0,     0,     0,     0,
++       0,   290,   291,   292,   293,   294,   295,   296,   297,   298,
++     299,   300,   301,   302,     0,   303,   304,   305,     0,   306,
++     307,   308,   309,     0,   310,   311,     0,     0,     0,     0,
++     312,   313,   314,   315,   316,   317,     0,     0,   318,   319,
++       0,   320,     0,   321,     0,   322,   323,   324,   325,   326,
++     327,   328,   329,   330,   331,     0,     0,   332,   333,     0,
++       0,   334,   335,   336,   337,     0,     0,     0,   338,   339,
++       0,     0,     0,     0,   340,   341,   342,     0,   343,   344,
++     345,   346,     0,   347,   348,     0,     0,     0,     0,     0,
++       0,     0,     0,   349,   350,   351,     0,     0,   352,     0,
++     353,   354,   355,   356,   357,   358,   359,   360,   361,   362,
++     363,   364,     0,     0,   365,   366,   367,     0,   368,     0,
++     369,   370,   371,   372,   373,     0,   374,   375,   376,     0,
++       0,   377,     0,     0,     0,   378,   379,   380,   381,   382,
++       0,     0,   383,   384,   385,   386,   387,     0,   388,   389,
++       0,   390,   391,   392,     0,     0,   393,     0,   394,     0,
++     395,   396,     0,   397,   398,     0,     0,     0,   399,   400,
++     401,   402,   403,   404,   405,   406,   407,   408,     0,   409,
++     410,     0,     0,     0,   411,   412,   413,   414,     0,     0,
++       0,   415,     0,     0,     0,   416,     0,   417,   418,   419,
++     420,     0,   421,   422,   423,   424,   425,   426,     0,     0,
++       0,     0,     0,     0,   427,   428,     0,   429,     0,     0,
++     430,     0,     0,   431,   432,   433,     0,     0,   434,   435,
++       0,   436,   437,   438,   439,   440,   441,     0,     0,   442,
++     443,   444,   445,     0,   446,   447,     0,   448,     0,   449,
++     450,   451,   452,     0,   136,   453,   454,     0,   455,   456,
++     457,   458,     0,     0,     0,     0,     0,   459,   460,   461,
++       0,     0,     0,   462,   463,   464,   465,     0,   466,   467,
++       0,   468,   469,     0,   470,   471,     0,     0,   472,     0,
++       0,   473,     0,   474,     0,   475,   476,   477,     0,     0,
++       0,     0,     0,     0,   478,     0,     0,   479,     0,     0,
++       0,   480,   481,   482,   483,   484,   485,     0,     0,     0,
++       0,     0,     0,   486,   487,     0,   488,   489,   490,     0,
++       0,   491,     0,     0,     0,     0,   139,     0,   140,   141,
++     142,   143,   144,     0,     0,   145,     0,     0,     0,   146,
++       0,     0,   147,  2806,   148,   149,   150,   151,   152,   153,
++     154,     0,   155,     0,     0,     0,   156,     0,     0,     0,
++     157,     0,     0,   158,   159,   160,     0,   161,     0,   162,
++     163,     0,     0,   164,     0,     0,   165,   166,     0,   167,
++     168,     0,   169,   170,     0,   171,   172,   173,   174,   175,
++     176,   177,     0,   178,   179,   180,   181,   182,   183,   184,
++     185,     0,   186,   187,   188,   189,   190,   191,   192,   193,
++       0,   194,   195,     0,   196,   197,   198,   199,   200,     0,
++     201,     0,     0,   202,     0,     0,   203,     0,     0,     0,
++     204,     0,     0,     0,   205,   206,   207,     0,     0,   208,
++       0,     0,     0,     0,   209,   210,     0,     0,     0,     0,
++     211,     0,   212,     0,     0,     0,   213,     0,   214,   215,
++     216,   217,     0,     0,     0,   218,     0,     0,   219,   220,
++     221,     0,     0,     0,   222,     0,   223,   224,     0,   225,
++     226,   227,     0,   228,   229,     0,   230,   231,   232,   233,
++     234,   235,     0,     0,   236,   237,   238,     0,     0,   239,
++     240,     0,   241,   242,   243,     0,     0,   244,     0,     0,
++       0,   245,     0,   246,     0,   247,     0,   248,   249,   250,
++     251,   252,   253,     0,   254,     0,     0,   255,   256,   257,
++       0,   258,     0,     0,     0,   259,   260,     0,     0,     0,
++     261,   262,   263,   264,     0,     0,   265,   266,   267,     0,
++     268,     0,   269,     0,     0,     0,     0,   270,   271,     0,
++       0,     0,   272,     0,   273,   274,     0,   275,   276,     0,
++       0,     0,   277,     0,     0,   278,   279,   280,     0,     0,
++     281,     0,     0,   282,   283,   618,     0,     0,     0,     0,
++     284,   285,     0,   286,     0,   287,     0,   288,   289,     0,
++       0,     0,     0,     0,     0,   290,   291,   292,   293,   294,
++     295,   296,   297,   298,   299,   300,   301,   302,     0,   303,
++     304,   305,     0,   306,   307,   308,   309,     0,   310,   311,
++       0,     0,     0,     0,   312,   313,   314,   315,   316,   317,
++       0,     0,   318,   319,     0,   320,     0,   321,     0,   322,
++     323,   324,   325,   326,   327,   328,   329,   330,   331,     0,
++       0,   332,   333,     0,     0,   334,   335,   336,   337,     0,
++       0,     0,   338,   339,     0,     0,     0,     0,   340,   341,
++     342,     0,   343,   344,   345,   346,     0,   347,   348,     0,
++       0,     0,     0,     0,     0,     0,     0,   349,   350,   351,
++       0,     0,   352,     0,   353,   354,   355,   356,   357,   358,
++     359,   360,   361,   362,   363,   364,     0,     0,   365,   366,
++     367,     0,   368,     0,   369,   370,   371,   372,   373,     0,
++     374,   375,   376,     0,     0,   377,     0,     0,     0,   378,
++     379,   380,   381,   382,     0,     0,   383,   384,   385,   386,
++     387,     0,   388,   389,     0,   390,   391,   392,     0,     0,
++     393,     0,   394,     0,   395,   396,     0,   397,   398,     0,
++       0,     0,   399,   400,   401,   402,   403,   404,   405,   406,
++     407,   408,     0,   409,   410,     0,     0,     0,   411,   412,
++     413,   414,     0,     0,     0,   415,     0,     0,     0,   416,
++       0,   417,   418,   419,   420,     0,   421,   422,   423,   424,
++     425,   426,     0,     0,     0,     0,     0,     0,   427,   428,
++       0,   429,     0,     0,   430,     0,     0,   431,   432,   433,
++       0,     0,   434,   435,     0,   436,   437,   438,   439,   440,
++     441,     0,     0,   442,   443,   444,   445,     0,   446,   447,
++       0,   448,     0,   449,   450,   451,   452,     0,   136,   453,
++     454,     0,   455,   456,   457,   458,     0,     0,     0,     0,
++       0,   459,   460,   461,     0,     0,     0,   462,   463,   464,
++     465,     0,   466,   467,     0,   468,   469,     0,   470,   471,
++       0,     0,   472,     0,     0,   473,     0,   474,     0,   475,
++     476,   477,     0,     0,     0,     0,     0,     0,   478,     0,
++       0,   479,     0,     0,     0,   480,   481,   482,   483,   484,
++     485,     0,     0,     0,     0,     0,     0,   486,   487,     0,
++     488,   489,   490,     0,     0,   491,     0,     0,     0,     0,
++     139,     0,   140,   141,   142,   143,   144,     0,     0,   145,
++       0,     0,     0,   146,     0,     0,     0,  3464,   148,   149,
++     150,   151,   152,   153,     0,     0,  -329,     0,     0,     0,
++     156,     0,     0,     0,   157,     0,     0,   158,   159,   160,
++       0,   161,     0,     0,     0,     0,     0,   164,  3902,     0,
++     165,   166,     0,   167,     0,     0,     0,     0,     0,   171,
++     172,   173,   174,  3903,   176,   177,     0,   178,   179,     0,
++       0,     0,     0,     0,     0,     0,   186,     0,   188,     0,
++     190,   191,   192,   193,     0,   194,   195,     0,   196,   197,
++     198,     0,   200,     0,   201,     0,     0,   202,     0,     0,
++     203,     0,     0,     0,   204,     0,     0,     0,   205,   206,
++     207,     0,     0,   208,     0,     0,     0,     0,   209,     0,
++       0,     0,     0,     0,   211,     0,   212,     0,     0,     0,
++     213,     0,   214,   215,   216,   217,     0,     0,     0,     0,
++       0,     0,   219,   220,   221,     0,     0,     0,   222,     0,
++       0,   224,     0,   225,   226,   227,     0,   228,   229,     0,
++     230,   231,   232,   233,     0,     0,     0,     0,   236,   237,
++     238,     0,     0,   239,   240,  3904,   241,   242,   243,     0,
++       0,     0,     0,     0,     0,   245,     0,   246,     0,   247,
++       0,   248,   249,   250,   251,   252,   253,     0,   254,     0,
++       0,     0,   256,   257,     0,     0,     0,     0,     0,     0,
++     260,     0,     0,     0,   261,   262,   263,   264,  3905,     0,
++     265,   266,   267,     0,   268,     0,   269,     0,     0,     0,
++       0,   270,     0,     0,     0,     0,   272,     0,   273,   274,
++       0,   275,   276,  3906,     0,     0,   277,     0,     0,     0,
++     279,   280,     0,     0,   281,  3907,     0,   282,   283,     0,
++       0,     0,     0,     0,   284,   285,     0,   286,     0,   287,
++       0,   288,   289,     0,     0,     0,     0,  -284,     0,   290,
++     291,   292,   293,   294,   295,   296,   297,   298,   299,   300,
++     301,   302,     0,   303,   304,   305,     0,   306,   307,   308,
++     309,     0,   310,   311,     0,     0,     0,     0,   312,   313,
++     314,   315,   316,   317,     0,     0,   318,   319,     0,   320,
++       0,   321,     0,   322,   323,   324,   325,   326,   327,   328,
++     329,   330,   331,     0,     0,   332,   333,     0,     0,   334,
++     335,   336,   337,     0,     0,     0,     0,   339,     0,     0,
++       0,     0,   340,   341,   342,     0,   343,   344,   345,  3908,
++       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
++       0,     0,   350,   351,     0,     0,     0,     0,   353,   354,
++     355,     0,   357,   358,   359,   360,   361,   362,   363,     0,
++       0,     0,     0,   366,   367,     0,   368,     0,   369,   370,
++     371,   372,   373,     0,   374,   375,   376,     0,     0,   377,
++       0,     0,     0,   378,   379,   380,   381,   382,     0,     0,
++     383,   384,   385,   386,   387,     0,   388,     0,     0,   390,
++       0,   392,  -284,     0,   393,     0,     0,     0,   395,     0,
++       0,   397,   398,  3909,     0,     0,     0,   400,   401,   402,
++     403,   404,   405,     0,   407,   408,     0,   409,     0,     0,
++       0,     0,   411,   412,   413,     0,     0,     0,     0,   415,
++       0,     0,     0,   416,     0,     0,   418,     0,   420,     0,
++     421,     0,   423,     0,   425,   426,     0,     0,     0,     0,
++       0,     0,   427,   428,     0,   429,     0,     0,   430,     0,
++       0,   431,     0,   433,     0,     0,     0,   435,     0,   436,
++     437,   438,   439,   440,   441,     0,     0,   442,   443,   444,
++     445,     0,   446,   447,     0,   448,     0,   449,   450,   451,
++     452,     0,     0,   453,   454,     0,   455,   456,   457,   458,
++       0,     0,     0,     0,     0,   459,   460,   461,     0,     0,
++       0,     0,   463,   464,   465,     0,   466,   467,     0,   468,
++     469,     0,     0,     0,     0,     0,   472,     0,     0,   473,
++       0,     0,     0,   475,   476,   477,     0,     0,     0,     0,
++       0,     0,   478,     0,     0,   479,     0,     0,     0,   480,
++     481,   482,   483,   484,   485,     0,     0,  -284,     0,     0,
++       0,   486,     0,     0,   488,     0,   490,     0,     0,   491,
++       0,   139,     0,   140,   141,   142,   143,   144,     0,     0,
++     145,     0,     0,     0,   146,     0,  4457,   147,     0,   148,
++     149,   150,   151,   152,   153,   154,     0,   155,     0,     0,
++       0,   156,     0,     0,     0,   157,     0,     0,   158,   159,
++     160,     0,   161,     0,   162,   163,     0,     0,   164,     0,
++       0,   165,   166,     0,   167,   168,     0,   169,   170,     0,
++     171,   172,   173,   174,   175,   176,   177,     0,   178,   179,
++     180,   181,   182,   183,   184,   185,     0,   186,   187,   188,
++     189,   190,   191,   192,   193,     0,   194,   195,     0,   196,
++     197,   198,   199,   200,     0,   201,     0,     0,   202,     0,
++       0,   203,     0,   995,     0,   204,     0,     0,     0,   205,
++     206,   207,     0,     0,   208,     0,     0,     0,     0,   209,
++     210,     0,     0,     0,     0,   211,     0,   212,     0,     0,
++       0,   213,     0,   214,   215,   216,   217,     0,     0,     0,
++     218,     0,     0,   219,   220,   221,     0,     0,     0,   222,
++       0,   223,   224,     0,   225,   226,   227,     0,   228,   229,
++       0,   230,   231,   232,   233,   234,   235,     0,     0,   236,
++     237,   238,     0,     0,   239,   240,     0,   241,   242,   243,
++       0,     0,   244,     0,     0,     0,   245,     0,   246,     0,
++     247,     0,   248,   249,   250,   251,   252,   253,     0,   254,
++       0,     0,   255,   256,   257,     0,   258,     0,     0,     0,
++     259,   260,     0,     0,     0,   261,   262,   263,   264,     0,
++       0,   265,   266,   267,     0,   268,     0,   269,     0,     0,
++       0,     0,   270,   271,     0,     0,     0,   272,     0,   273,
++     274,     0,   275,   276,     0,     0,     0,   277,     0,     0,
++     278,   279,   280,     0,     0,   281,     0,     0,   282,   283,
++     618,     0,     0,     0,     0,   284,   285,     0,   286,     0,
++     287,     0,   288,   289,     0,     0,     0,     0,     0,     0,
++     290,   291,   292,   293,   294,   295,   296,   297,   298,   299,
++     300,   301,   302,     0,   303,   304,   305,     0,   306,   307,
++     308,   309,     0,   310,   311,     0,     0,     0,     0,   312,
++     313,   314,   315,   316,   317,     0,     0,   318,   319,     0,
++     320,     0,   321,     0,   322,   323,   324,   325,   326,   327,
++     328,   329,   330,   331,     0,     0,   332,   333,     0,     0,
++     334,   335,   336,   337,     0,     0,     0,   338,   339,     0,
++       0,     0,     0,   340,   341,   342,     0,   343,   344,   345,
++     346,     0,   347,   348,     0,     0,     0,     0,     0,     0,
++       0,     0,   349,   350,   351,     0,     0,   352,     0,   353,
++     354,   355,   356,   357,   358,   359,   360,   361,   362,   363,
++     364,     0,     0,   365,   366,   367,     0,   368,     0,   369,
++     370,   371,   372,   373,     0,   374,   375,   376,     0,     0,
++     377,     0,     0,     0,   378,   379,   380,   381,   382,     0,
++       0,   383,   384,   385,   386,   387,     0,   388,   389,     0,
++     390,   391,   392,     0,     0,   393,     0,   394,     0,   395,
++     396,     0,   397,   398,     0,     0,     0,   399,   400,   401,
++     402,   403,   404,   405,   406,   407,   408,     0,   409,   410,
++       0,     0,     0,   411,   412,   413,   414,     0,     0,     0,
++     415,     0,     0,     0,   416,     0,   417,   418,   419,   420,
++       0,   421,   422,   423,   424,   425,   426,     0,     0,     0,
++       0,     0,     0,   427,   428,     0,   429,     0,     0,   430,
++       0,     0,   431,   432,   433,     0,     0,   434,   435,     0,
++     436,   437,   438,   439,   440,   441,     0,     0,   442,   443,
++     444,   445,     0,   446,   447,     0,   448,     0,   449,   450,
++     451,   452,     0,   136,   453,   454,     0,   455,   456,   457,
++     458,     0,     0,     0,     0,     0,   459,   460,   461,     0,
++       0,     0,   462,   463,   464,   465,     0,   466,   467,     0,
++     468,   469,     0,   470,   471,     0,     0,   472,     0,     0,
++     473,     0,   474,     0,   475,   476,   477,     0,     0,     0,
++       0,     0,     0,   478,     0,     0,   479,     0,     0,     0,
++     480,   481,   482,   483,   484,   485,     0,     0,     0,     0,
++       0,     0,   486,   487,     0,   488,   489,   490,     0,     0,
++     491,   139,     0,   140,   141,   142,   143,   144,     0,     0,
++     145,     0,     0,     0,   146,  1175,     0,   147,     0,   148,
++     149,   150,   151,   152,   153,   154,     0,   155,     0,     0,
++       0,   156,     0,     0,     0,   157,     0,     0,   158,   159,
++     160,     0,   161,     0,   162,   163,     0,     0,   164,     0,
++       0,   165,   166,     0,   167,   168,     0,   169,   170,     0,
++     171,   172,   173,   174,   175,   176,   177,     0,   178,   179,
++     180,   181,   182,   183,   184,   185,     0,   186,   187,   188,
++     189,   190,   191,   192,   193,     0,   194,   195,     0,   196,
++     197,   198,   199,   200,     0,   201,     0,     0,   202,     0,
++       0,   203,     0,     0,     0,   204,     0,     0,     0,   205,
++     206,   207,     0,     0,   208,     0,     0,     0,     0,   209,
++     210,     0,     0,     0,     0,   211,     0,   212,     0,     0,
++       0,   213,     0,   214,   215,   216,   217,     0,     0,     0,
++     218,     0,     0,   219,   220,   221,     0,     0,     0,   222,
++       0,   223,   224,     0,   225,   226,   227,     0,   228,   229,
++       0,   230,   231,   232,   233,   234,   235,     0,     0,   236,
++     237,   238,     0,     0,   239,   240,     0,   241,   242,   243,
++       0,     0,   244,     0,     0,     0,   245,     0,   246,     0,
++     247,     0,   248,   249,   250,   251,   252,   253,     0,   254,
++       0,     0,   255,   256,   257,     0,   258,     0,     0,     0,
++     259,   260,     0,     0,     0,   261,   262,   263,   264,     0,
++       0,   265,   266,   267,     0,   268,     0,   269,     0,     0,
++       0,     0,   270,   271,     0,     0,     0,   272,     0,   273,
++     274,     0,   275,   276,     0,     0,     0,   277,     0,     0,
++     278,   279,   280,     0,     0,   281,     0,     0,   282,   283,
++       0,     0,     0,     0,     0,   284,   285,     0,   286,     0,
++     287,     0,   288,   289,     0,     0,     0,     0,     0,     0,
++     290,   291,   292,   293,   294,   295,   296,   297,   298,   299,
++     300,   301,   302,     0,   303,   304,   305,     0,   306,   307,
++     308,   309,     0,   310,   311,     0,     0,     0,     0,   312,
++     313,   314,   315,   316,   317,     0,     0,   318,   319,     0,
++     320,     0,   321,     0,   322,   323,   324,   325,   326,   327,
++     328,   329,   330,   331,     0,     0,   332,   333,     0,     0,
++     334,   335,   336,   337,     0,     0,     0,   338,   339,     0,
++       0,     0,     0,   340,   341,   342,     0,   343,   344,   345,
++     346,     0,   347,   348,     0,     0,     0,     0,     0,     0,
++       0,     0,   349,   350,   351,     0,     0,   352,     0,   353,
++     354,   355,   356,   357,   358,   359,   360,   361,   362,   363,
++     364,     0,     0,   365,   366,   367,     0,   368,     0,   369,
++     370,   371,   372,   373,     0,   374,   375,   376,     0,     0,
++     377,     0,     0,     0,   378,   379,   380,   381,   382,     0,
++       0,   383,   384,   385,   386,   387,     0,   388,   389,     0,
++     390,   391,   392,     0,     0,   393,     0,   394,     0,   395,
++     396,     0,   397,   398,     0,     0,     0,   399,   400,   401,
++     402,   403,   404,   405,   406,   407,   408,     0,   409,   410,
++       0,     0,     0,   411,   412,   413,   414,     0,     0,     0,
++     415,     0,     0,     0,   416,     0,   417,   418,   419,   420,
++       0,   421,   422,   423,   424,   425,   426,     0,     0,     0,
++       0,     0,     0,   427,   428,     0,   429,     0,     0,   430,
++       0,     0,   431,   432,   433,     0,     0,   434,   435,     0,
++     436,   437,   438,   439,   440,   441,     0,     0,   442,   443,
++     444,   445,     0,   446,   447,     0,   448,     0,   449,   450,
++     451,   452,     0,     0,   453,   454,     0,   455,   456,   457,
++     458,     0,     0,     0,     0,     0,   459,   460,   461,     0,
++       0,     0,   462,   463,   464,   465,     0,   466,   467,     0,
++     468,   469,     0,   470,   471,     0,     0,   472,     0,     0,
++     473,     0,   474,     0,   475,   476,   477,     0,     0,     0,
++       0,     0,     0,   478,     0,     0,   479,     0,     0,     0,
++     480,   481,   482,   483,   484,   485,     0,     0,     0,     0,
++       0,     0,   486,   487,     0,   488,   489,   490,     0,   139,
++     491,   140,   141,   142,   143,   144,     0,     0,   145,     0,
++    2112,     0,   146,     0,     0,   147,     0,   148,   149,   150,
++     151,   152,   153,   154,     0,   155,     0,     0,     0,   156,
++       0,     0,     0,   157,     0,     0,   158,   159,   160,     0,
++     161,     0,   162,   163,     0,     0,   164,     0,     0,   165,
++     166,     0,   167,   168,     0,   169,   170,     0,   171,   172,
++     173,   174,   175,   176,   177,     0,   178,   179,   180,   181,
++     182,   183,   184,   185,     0,   186,   187,   188,   189,   190,
++     191,   192,   193,     0,   194,   195,     0,   196,   197,   198,
++     199,   200,     0,   201,     0,     0,   202,     0,     0,   203,
++       0,     0,     0,   204,     0,     0,     0,   205,   206,   207,
++       0,     0,   208,     0,     0,     0,     0,   209,   210,     0,
++       0,     0,     0,   211,     0,   212,     0,     0,     0,   213,
++       0,   214,   215,   216,   217,     0,     0,     0,   218,     0,
++       0,   219,   220,   221,     0,     0,     0,   222,     0,   223,
++     224,     0,   225,   226,   227,     0,   228,   229,     0,   230,
++     231,   232,   233,   234,   235,     0,     0,   236,   237,   238,
++       0,     0,   239,   240,     0,   241,   242,   243,     0,     0,
++     244,     0,     0,     0,   245,     0,   246,     0,   247,     0,
++     248,   249,   250,   251,   252,   253,     0,   254,     0,     0,
++     255,   256,   257,     0,   258,     0,     0,     0,   259,   260,
++       0,     0,     0,   261,   262,   263,   264,     0,     0,   265,
++     266,   267,     0,   268,     0,   269,     0,     0,     0,     0,
++     270,   271,     0,     0,     0,   272,     0,   273,   274,     0,
++     275,   276,     0,     0,     0,   277,     0,     0,   278,   279,
++     280,     0,     0,   281,     0,     0,   282,   283,     0,     0,
++       0,     0,     0,   284,   285,     0,   286,     0,   287,     0,
++     288,   289,     0,     0,     0,     0,     0,     0,   290,   291,
++     292,   293,   294,   295,   296,   297,   298,   299,   300,   301,
++     302,     0,   303,   304,   305,     0,   306,   307,   308,   309,
++       0,   310,   311,     0,     0,     0,     0,   312,   313,   314,
++     315,   316,   317,     0,     0,   318,   319,     0,   320,     0,
++     321,     0,   322,   323,   324,   325,   326,   327,   328,   329,
++     330,   331,     0,     0,   332,   333,     0,     0,   334,   335,
++     336,   337,     0,     0,     0,   338,   339,     0,     0,     0,
++       0,   340,   341,   342,     0,   343,   344,   345,   346,     0,
++     347,   348,     0,     0,     0,     0,     0,     0,     0,     0,
++     349,   350,   351,     0,     0,   352,     0,   353,   354,   355,
++     356,   357,   358,   359,   360,   361,   362,   363,   364,     0,
++       0,   365,   366,   367,     0,   368,     0,   369,   370,   371,
++     372,   373,     0,   374,   375,   376,     0,     0,   377,     0,
++       0,     0,   378,   379,   380,   381,   382,     0,     0,   383,
++     384,   385,   386,   387,     0,   388,   389,     0,   390,   391,
++     392,     0,     0,   393,     0,   394,     0,   395,   396,     0,
++     397,   398,     0,     0,     0,   399,   400,   401,   402,   403,
++     404,   405,   406,   407,   408,     0,   409,   410,     0,     0,
++       0,   411,   412,   413,   414,     0,     0,     0,   415,     0,
++       0,     0,   416,     0,   417,   418,   419,   420,     0,   421,
++     422,   423,   424,   425,   426,     0,     0,     0,     0,     0,
++       0,   427,   428,     0,   429,     0,     0,   430,     0,     0,
++     431,   432,   433,     0,     0,   434,   435,     0,   436,   437,
++     438,   439,   440,   441,     0,     0,   442,   443,   444,   445,
++       0,   446,   447,     0,   448,     0,   449,   450,   451,   452,
++       0,     0,   453,   454,     0,   455,   456,   457,   458,     0,
++       0,     0,     0,     0,   459,   460,   461,     0,     0,     0,
++     462,   463,   464,   465,     0,   466,   467,     0,   468,   469,
++       0,   470,   471,     0,     0,   472,     0,     0,   473,     0,
++     474,     0,   475,   476,   477,     0,     0,     0,     0,     0,
++       0,   478,     0,     0,   479,     0,     0,     0,   480,   481,
++     482,   483,   484,   485,     0,     0,     0,     0,     0,     0,
++     486,   487,     0,   488,   489,   490,     0,   139,   491,   140,
++     141,   142,   143,   144,     0,     0,   145,     0,  2794,     0,
++     146,     0,     0,   147,     0,   148,   149,   150,   151,   152,
++     153,   154,     0,   155,     0,     0,     0,   156,     0,     0,
++       0,   157,     0,     0,   158,   159,   160,     0,   161,     0,
++     162,   163,     0,     0,   164,     0,     0,   165,   166,     0,
++     167,   168,     0,   169,   170,     0,   171,   172,   173,   174,
++     175,   176,   177,     0,   178,   179,   180,   181,   182,   183,
++     184,   185,     0,   186,   187,   188,   189,   190,   191,   192,
++     193,     0,   194,   195,     0,   196,   197,   198,   199,   200,
++       0,   201,     0,     0,   202,     0,     0,   203,     0,     0,
++       0,   204,     0,     0,     0,   205,   206,   207,     0,     0,
++     208,     0,     0,     0,     0,   209,   210,     0,     0,     0,
++       0,   211,     0,   212,     0,     0,     0,   213,     0,   214,
++     215,   216,   217,     0,     0,     0,   218,     0,     0,   219,
++     220,   221,     0,     0,     0,   222,     0,   223,   224,     0,
++     225,   226,   227,     0,   228,   229,     0,   230,   231,   232,
++     233,   234,   235,     0,     0,   236,   237,   238,     0,     0,
++     239,   240,     0,   241,   242,   243,     0,     0,   244,     0,
++       0,     0,   245,     0,   246,     0,   247,     0,   248,   249,
++     250,   251,   252,   253,     0,   254,     0,     0,   255,   256,
++     257,     0,   258,     0,     0,     0,   259,   260,     0,     0,
++       0,   261,   262,   263,   264,     0,     0,   265,   266,   267,
++       0,   268,     0,   269,     0,     0,     0,     0,   270,   271,
++       0,     0,     0,   272,     0,   273,   274,     0,   275,   276,
++       0,     0,     0,   277,     0,     0,   278,   279,   280,     0,
++       0,   281,     0,     0,   282,   283,     0,     0,     0,     0,
++       0,   284,   285,     0,   286,     0,   287,     0,   288,   289,
++       0,     0,     0,     0,     0,     0,   290,   291,   292,   293,
++     294,   295,   296,   297,   298,   299,   300,   301,   302,     0,
++     303,   304,   305,     0,   306,   307,   308,   309,     0,   310,
++     311,     0,     0,     0,     0,   312,   313,   314,   315,   316,
++     317,     0,     0,   318,   319,     0,   320,     0,   321,     0,
++     322,   323,   324,   325,   326,   327,   328,   329,   330,   331,
++       0,     0,   332,   333,     0,     0,   334,   335,   336,   337,
++       0,     0,     0,   338,   339,     0,     0,     0,     0,   340,
++     341,   342,     0,   343,   344,   345,   346,     0,   347,   348,
++       0,     0,     0,     0,     0,     0,     0,     0,   349,   350,
++     351,     0,     0,   352,     0,   353,   354,   355,   356,   357,
++     358,   359,   360,   361,   362,   363,   364,     0,     0,   365,
++     366,   367,     0,   368,     0,   369,   370,   371,   372,   373,
++       0,   374,   375,   376,     0,     0,   377,     0,     0,     0,
++     378,   379,   380,   381,   382,     0,     0,   383,   384,   385,
++     386,   387,     0,   388,   389,     0,   390,   391,   392,     0,
++       0,   393,     0,   394,     0,   395,   396,     0,   397,   398,
++       0,     0,     0,   399,   400,   401,   402,   403,   404,   405,
++     406,   407,   408,     0,   409,   410,     0,     0,     0,   411,
++     412,   413,   414,     0,     0,     0,   415,     0,     0,     0,
++     416,     0,   417,   418,   419,   420,     0,   421,   422,   423,
++     424,   425,   426,     0,     0,     0,     0,     0,     0,   427,
++     428,     0,   429,     0,     0,   430,     0,     0,   431,   432,
++     433,     0,     0,   434,   435,     0,   436,   437,   438,   439,
++     440,   441,     0,     0,   442,   443,   444,   445,     0,   446,
++     447,     0,   448,     0,   449,   450,   451,   452,     0,     0,
++     453,   454,     0,   455,   456,   457,   458,     0,     0,     0,
++       0,     0,   459,   460,   461,     0,     0,     0,   462,   463,
++     464,   465,     0,   466,   467,     0,   468,   469,     0,   470,
++     471,     0,     0,   472,     0,     0,   473,     0,   474,     0,
++     475,   476,   477,     0,     0,     0,     0,     0,     0,   478,
++       0,     0,   479,     0,     0,     0,   480,   481,   482,   483,
++     484,   485,     0,     0,     0,     0,     0,     0,   486,   487,
++       0,   488,   489,   490,     0,   139,   491,   140,   141,   142,
++     143,   144,     0,     0,   145,     0,  3124,     0,   146,     0,
++       0,   147,     0,   148,   149,   150,   151,   152,   153,   154,
++       0,   155,     0,     0,     0,   156,     0,     0,     0,   157,
++       0,     0,   158,   159,   160,     0,   161,     0,   162,   163,
++       0,     0,   164,     0,     0,   165,   166,     0,   167,   168,
++       0,   169,   170,     0,   171,   172,   173,   174,   175,   176,
++     177,     0,   178,   179,   180,   181,   182,   183,   184,   185,
++       0,   186,   187,   188,   189,   190,   191,   192,   193,     0,
++     194,   195,     0,   196,   197,   198,   199,   200,     0,   201,
++       0,     0,   202,     0,     0,   203,     0,     0,     0,   204,
++       0,     0,     0,   205,   206,   207,     0,     0,   208,     0,
++       0,     0,     0,   209,   210,     0,     0,     0,     0,   211,
++       0,   212,     0,     0,     0,   213,     0,   214,   215,   216,
++     217,     0,     0,     0,   218,     0,     0,   219,   220,   221,
++       0,     0,     0,   222,     0,   223,   224,     0,   225,   226,
++     227,     0,   228,   229,     0,   230,   231,   232,   233,   234,
++     235,     0,     0,   236,   237,   238,     0,     0,   239,   240,
++       0,   241,   242,   243,     0,     0,   244,     0,     0,     0,
++     245,     0,   246,     0,   247,     0,   248,   249,   250,   251,
++     252,   253,     0,   254,     0,     0,   255,   256,   257,     0,
++     258,     0,     0,     0,   259,   260,     0,     0,     0,   261,
++     262,   263,   264,     0,     0,   265,   266,   267,     0,   268,
++       0,   269,     0,     0,     0,     0,   270,   271,     0,     0,
++       0,   272,     0,   273,   274,     0,   275,   276,     0,     0,
++       0,   277,     0,     0,   278,   279,   280,     0,     0,   281,
++       0,     0,   282,   283,     0,     0,     0,     0,     0,   284,
++     285,     0,   286,     0,   287,     0,   288,   289,     0,     0,
++       0,     0,     0,     0,   290,   291,   292,   293,   294,   295,
++     296,   297,   298,   299,   300,   301,   302,     0,   303,   304,
++     305,     0,   306,   307,   308,   309,     0,   310,   311,     0,
++       0,     0,     0,   312,   313,   314,   315,   316,   317,     0,
++       0,   318,   319,     0,   320,     0,   321,     0,   322,   323,
++     324,   325,   326,   327,   328,   329,   330,   331,     0,     0,
++     332,   333,     0,     0,   334,   335,   336,   337,     0,     0,
++       0,   338,   339,     0,     0,     0,     0,   340,   341,   342,
++       0,   343,   344,   345,   346,     0,   347,   348,     0,     0,
++       0,     0,     0,     0,     0,     0,   349,   350,   351,     0,
++       0,   352,     0,   353,   354,   355,   356,   357,   358,   359,
++     360,   361,   362,   363,   364,     0,     0,   365,   366,   367,
++       0,   368,     0,   369,   370,   371,   372,   373,     0,   374,
++     375,   376,     0,     0,   377,     0,     0,     0,   378,   379,
++     380,   381,   382,     0,     0,   383,   384,   385,   386,   387,
++       0,   388,   389,     0,   390,   391,   392,     0,     0,   393,
++       0,   394,     0,   395,   396,     0,   397,   398,     0,     0,
++       0,   399,   400,   401,   402,   403,   404,   405,   406,   407,
++     408,     0,   409,   410,     0,     0,     0,   411,   412,   413,
++     414,     0,     0,     0,   415,     0,     0,     0,   416,     0,
++     417,   418,   419,   420,     0,   421,   422,   423,   424,   425,
++     426,     0,     0,     0,     0,     0,     0,   427,   428,     0,
++     429,     0,     0,   430,     0,     0,   431,   432,   433,     0,
++       0,   434,   435,     0,   436,   437,   438,   439,   440,   441,
++       0,     0,   442,   443,   444,   445,     0,   446,   447,     0,
++     448,     0,   449,   450,   451,   452,     0,     0,   453,   454,
++       0,   455,   456,   457,   458,     0,     0,     0,     0,     0,
++     459,   460,   461,     0,     0,     0,   462,   463,   464,   465,
++       0,   466,   467,     0,   468,   469,     0,   470,   471,     0,
++       0,   472,     0,     0,   473,     0,   474,     0,   475,   476,
++     477,     0,     0,     0,     0,     0,     0,   478,     0,     0,
++     479,     0,     0,     0,   480,   481,   482,   483,   484,   485,
++       0,     0,     0,     0,     0,     0,   486,   487,     0,   488,
++     489,   490,     0,   139,   491,   140,   141,   142,   143,   144,
++       0,     0,   145,     0,  3469,     0,   146,     0,     0,   147,
++       0,   148,   149,   150,   151,   152,   153,   154,     0,   155,
++       0,     0,  2636,   156,     0,     0,     0,   157,     0,     0,
++     158,   159,   160,     0,   161,     0,   162,   163,     0,     0,
++     164,     0,     0,   165,   166,     0,   167,   168,     0,   169,
++     170,     0,   171,   172,   173,   174,   175,   176,   177,     0,
++     178,   179,   180,   181,   182,   183,   184,   185,     0,   186,
++     187,   188,   189,   190,   191,   192,   193,     0,   194,   195,
++       0,   196,   197,   198,   199,   200,     0,   201,     0,     0,
++     202,     0,     0,   203,     0,     0,     0,   204,     0,     0,
++       0,   205,   206,   207,     0,     0,   208,     0,     0,     0,
++       0,   209,   210,     0,     0,     0,  2800,   211,     0,   212,
++       0,     0,     0,   213,     0,   214,   215,   216,   217,     0,
++       0,     0,   218,     0,     0,   219,   220,   221,     0,     0,
++       0,   222,     0,   223,   224,     0,   225,   226,   227,     0,
++     228,   229,     0,   230,   231,   232,   233,   234,   235,     0,
++       0,   236,   237,   238,     0,     0,   239,   240,     0,   241,
++     242,   243,     0,     0,   244,     0,     0,     0,   245,     0,
++     246,     0,   247,     0,   248,   249,   250,   251,   252,   253,
++       0,   254,     0,     0,   255,   256,   257,     0,   258,     0,
++       0,     0,   259,   260,     0,     0,     0,   261,   262,   263,
++     264,     0,     0,   265,   266,   267,     0,   268,     0,   269,
++       0,     0,     0,     0,   270,   271,     0,     0,     0,   272,
++       0,   273,   274,     0,   275,   276,     0,     0,     0,   277,
++       0,     0,   278,   279,   280,     0,     0,   281,     0,     0,
++     282,   283,   618,     0,     0,     0,     0,   284,   285,     0,
++     286,     0,   287,     0,   288,   289,     0,     0,     0,     0,
++       0,     0,   290,   291,   292,   293,   294,   295,   296,   297,
++     298,   299,   300,   301,   302,     0,   303,   304,   305,     0,
++     306,   307,   308,   309,     0,   310,   311,     0,     0,     0,
++       0,   312,   313,   314,   315,   316,   317,     0,     0,   318,
++     319,     0,   320,     0,   321,     0,   322,   323,   324,   325,
++     326,   327,   328,   329,   330,   331,     0,     0,   332,   333,
++       0,     0,   334,   335,   336,   337,     0,     0,     0,   338,
++     339,     0,     0,     0,     0,   340,   341,   342,     0,   343,
++     344,   345,   346,     0,   347,   348,     0,     0,     0,     0,
++       0,     0,     0,     0,   349,   350,   351,     0,     0,   352,
++       0,   353,   354,   355,   356,   357,   358,   359,   360,   361,
++     362,   363,   364,     0,     0,   365,   366,   367,     0,   368,
++       0,   369,   370,   371,   372,   373,     0,   374,   375,   376,
++       0,     0,   377,     0,     0,     0,   378,   379,   380,   381,
++     382,     0,     0,   383,   384,   385,   386,   387,     0,   388,
++     389,     0,   390,   391,   392,     0,     0,   393,     0,   394,
++       0,   395,   396,     0,   397,   398,     0,     0,     0,   399,
++     400,   401,   402,   403,   404,   405,   406,   407,   408,     0,
++     409,   410,     0,     0,     0,   411,   412,   413,   414,     0,
++       0,  2262,   415,     0,     0,     0,   416,     0,   417,   418,
++     419,   420,     0,   421,   422,   423,   424,   425,   426,     0,
++       0,     0,     0,     0,     0,   427,   428,     0,   429,     0,
++       0,   430,     0,     0,   431,   432,   433,     0,     0,   434,
++     435,     0,   436,   437,   438,   439,   440,   441,     0,     0,
++     442,   443,   444,   445,     0,   446,   447,     0,   448,     0,
++     449,   450,   451,   452,     0,   136,   453,   454,     0,   455,
++     456,   457,   458,     0,     0,     0,     0,     0,   459,   460,
++     461,     0,     0,     0,   462,   463,   464,   465,     0,   466,
++     467,     0,   468,   469,     0,   470,   471,     0,     0,   472,
++       0,     0,   473,     0,   474,     0,   475,   476,   477,     0,
++       0,     0,     0,     0,     0,   478,     0,     0,   479,     0,
++       0,     0,   480,   481,   482,   483,   484,   485,     0,     0,
++       0,     0,     0,     0,   486,   487,     0,   488,   489,   490,
++       0,     0,   491,     0,   139,  2263,   140,   141,   142,   143,
++     144,     0,     0,   145,     0,     0,     0,   146,     0,     0,
++     147,     0,   148,   149,   150,   151,   152,   153,   154,     0,
++     155,     0,     0,     0,   156,     0,     0,     0,   157,     0,
++       0,   158,   159,   160,     0,   161,     0,   162,   163,     0,
++       0,   164,     0,     0,   165,   166,     0,   167,   168,     0,
++     169,   170,     0,   171,   172,   173,   174,   175,   176,   177,
++       0,   178,   179,   180,   181,   182,   183,   184,   185,     0,
++     186,   187,   188,   189,   190,   191,   192,   193,     0,   194,
++     195,     0,   196,   197,   198,   199,   200,     0,   201,     0,
++       0,   202,     0,     0,   203,     0,     0,     0,   204,     0,
++       0,     0,   205,   206,   207,     0,     0,   208,     0,     0,
++       0,     0,   209,   210,  2436,     0,     0,     0,   211,     0,
++     212,     0,     0,     0,   213,     0,   214,   215,   216,   217,
++       0,     0,     0,   218,     0,     0,   219,   220,   221,     0,
++       0,     0,   222,     0,   223,   224,     0,   225,   226,   227,
++       0,   228,   229,     0,   230,   231,   232,   233,   234,   235,
++       0,     0,   236,   237,   238,     0,     0,   239,   240,     0,
++     241,   242,   243,  2437,     0,   244,     0,     0,     0,   245,
++       0,   246,     0,   247,     0,   248,   249,   250,   251,   252,
++     253,     0,   254,     0,     0,   255,   256,   257,     0,   258,
++    2438,     0,     0,   259,   260,     0,     0,     0,   261,   262,
++     263,   264,     0,     0,   265,   266,   267,     0,   268,     0,
++     269,     0,     0,     0,     0,   270,   271,     0,     0,     0,
++     272,     0,   273,   274,     0,   275,   276,     0,     0,     0,
++     277,     0,     0,   278,   279,   280,     0,     0,   281,     0,
++       0,   282,   283,     0,     0,     0,     0,     0,   284,   285,
++       0,   286,     0,   287,     0,   288,   289,     0,     0,  2439,
++       0,     0,     0,   290,   291,   292,   293,   294,   295,   296,
++     297,   298,   299,   300,   301,   302,     0,   303,   304,   305,
++       0,   306,   307,   308,   309,     0,   310,   311,     0,     0,
++       0,     0,   312,   313,   314,   315,   316,   317,     0,     0,
++     318,   319,     0,   320,     0,   321,     0,   322,   323,   324,
++     325,   326,   327,   328,   329,   330,   331,     0,     0,   332,
++     333,     0,     0,   334,   335,   336,   337,  1038,  1039,     0,
++     338,   339,     0,     0,  2440,     0,   340,   341,   342,     0,
++     343,   344,   345,   346,     0,   347,   348,     0,     0,     0,
++       0,     0,     0,     0,     0,   349,   350,   351,     0,     0,
++     352,     0,   353,   354,   355,   356,   357,   358,   359,   360,
++     361,   362,   363,   364,     0,     0,   365,   366,   367,     0,
++     368,     0,   369,   370,   371,   372,   373,     0,   374,   375,
++     376,     0,     0,   377,     0,     0,     0,   378,   379,   380,
++     381,   382,     0,     0,   383,   384,   385,   386,   387,     0,
++     388,   389,     0,   390,   391,   392,     0,     0,   393,     0,
++     394,     0,   395,   396,     0,   397,   398,     0,     0,     0,
++     399,   400,   401,   402,   403,   404,   405,   406,   407,   408,
++       0,   409,   410,     0,     0,     0,   411,   412,   413,   414,
++       0,     0,     0,   415,     0,     0,     0,   416,     0,   417,
++     418,   419,   420,     0,   421,   422,   423,   424,   425,   426,
++       0,     0,  4437,   564,  4438,     0,   427,   428,     0,   429,
++       0,     0,   430,     0,     0,   431,   432,   433,     0,     0,
++     434,   435,     0,   436,   437,   438,   439,   440,   441,     0,
++       0,   442,   443,   444,   445,     0,   446,   447,     0,   448,
++       0,   449,   450,   451,   452,     0,     0,   453,   454,     0,
++     455,   456,   457,   458,     0,     0,     0,     0,     0,   459,
++     460,   461,     0,     0,     0,   462,   463,   464,   465,  2441,
++     466,   467,     0,   468,   469,     0,   470,   471,     0,     0,
++     472,     0,     0,   473,     0,   474,     0,   475,   476,   477,
++       0,     0,     0,     0,     0,     0,   478,     0,     0,   479,
++       0,     0,     0,   480,   481,   482,   483,   484,   485,     0,
++       0,     0,     0,     0,     0,   486,   487,     0,   488,   489,
++     490,     0,   139,   491,   140,   141,   142,   143,   144,     0,
++       0,   145,     0,     0,     0,   146,     0,     0,   147,     0,
++     148,   149,   150,   151,   152,   153,   154,     0,   155,     0,
++       0,     0,   156,     0,     0,     0,   157,     0,     0,   158,
++     159,   160,     0,   161,     0,   162,   163,     0,     0,   164,
++       0,     0,   165,   166,     0,   167,   168,     0,   169,   170,
++       0,   171,   172,   173,   174,   175,   176,   177,     0,   178,
++     179,   180,   181,   182,   183,   184,   185,     0,   186,   187,
++     188,   189,   190,   191,   192,   193,     0,   194,   195,     0,
++     196,   197,   198,   199,   200,     0,   201,     0,     0,   202,
++       0,     0,   203,     0,     0,     0,   204,     0,     0,     0,
++     205,   206,   207,     0,     0,   208,     0,     0,     0,     0,
++     209,   210,  1588,     0,     0,  2965,   211,     0,   212,     0,
++       0,     0,   213,     0,   214,   215,   216,   217,     0,     0,
++       0,   218,     0,     0,   219,   220,   221,     0,     0,     0,
++     222,     0,   223,   224,     0,   225,   226,   227,     0,   228,
++     229,     0,   230,   231,   232,   233,   234,   235,     0,     0,
++     236,   237,   238,     0,     0,   239,   240,     0,   241,   242,
++     243,  1589,     0,   244,     0,     0,     0,   245,     0,   246,
++       0,   247,     0,   248,   249,   250,   251,   252,   253,     0,
++     254,     0,     0,   255,   256,   257,     0,   258,  2860,     0,
++       0,   259,   260,     0,     0,     0,   261,   262,   263,   264,
++       0,     0,   265,   266,   267,     0,   268,     0,   269,     0,
++       0,     0,     0,   270,   271,     0,     0,     0,   272,     0,
++     273,   274,     0,   275,   276,     0,     0,     0,   277,     0,
++       0,   278,   279,   280,     0,     0,   281,     0,     0,   282,
++     283,     0,     0,     0,     0,     0,   284,   285,     0,   286,
++       0,   287,     0,   288,   289,     0,     0,  2861,     0,     0,
++       0,   290,   291,   292,   293,   294,   295,   296,   297,   298,
++     299,   300,   301,   302,     0,   303,   304,   305,     0,   306,
++     307,   308,   309,     0,   310,   311,     0,     0,     0,     0,
++     312,   313,   314,   315,   316,   317,     0,     0,   318,   319,
++       0,   320,     0,   321,     0,   322,   323,   324,   325,   326,
++     327,   328,   329,   330,   331,     0,     0,   332,   333,     0,
++       0,   334,   335,   336,   337,     0,     0,     0,   338,   339,
++       0,     0,  2862,     0,   340,   341,   342,     0,   343,   344,
++     345,   346,     0,   347,   348,     0,     0,     0,     0,     0,
++       0,     0,     0,   349,   350,   351,     0,     0,   352,     0,
++     353,   354,   355,   356,   357,   358,   359,   360,   361,   362,
++     363,   364,     0,     0,   365,   366,   367,     0,   368,     0,
++     369,   370,   371,   372,   373,     0,   374,   375,   376,     0,
++       0,   377,     0,     0,     0,   378,   379,   380,   381,   382,
++       0,     0,   383,   384,   385,   386,   387,     0,   388,   389,
++       0,   390,   391,   392,     0,     0,   393,     0,   394,     0,
++     395,   396,     0,   397,   398,     0,     0,     0,   399,   400,
++     401,   402,   403,   404,   405,   406,   407,   408,     0,   409,
++     410,     0,     0,     0,   411,   412,   413,   414,     0,     0,
++       0,   415,     0,     0,     0,   416,     0,   417,   418,   419,
++     420,     0,   421,   422,   423,   424,   425,   426,     0,     0,
++       0,     0,     0,     0,   427,   428,     0,   429,     0,     0,
++     430,     0,     0,   431,   432,   433,     0,     0,   434,   435,
++       0,   436,   437,   438,   439,   440,   441,     0,     0,   442,
++     443,   444,   445,     0,   446,   447,     0,   448,     0,   449,
++     450,   451,   452,     0,   136,   453,   454,     0,   455,   456,
++     457,   458,     0,     0,     0,     0,     0,   459,   460,   461,
++       0,     0,     0,   462,   463,   464,   465,  2863,   466,   467,
++       0,   468,   469,     0,   470,   471,     0,     0,   472,     0,
++       0,   473,     0,   474,     0,   475,   476,   477,     0,     0,
++       0,     0,     0,     0,   478,     0,     0,   479,     0,     0,
++       0,   480,   481,   482,   483,   484,   485,     0,     0,     0,
++       0,     0,     0,   486,   487,     0,   488,   489,   490,     0,
++     139,   491,   140,   141,   142,   143,   144,     0,     0,   145,
++       0,     0,     0,   146,     0,     0,   147,     0,   148,   149,
++     150,   151,   152,   153,   154,     0,   155,     0,     0,     0,
++     156,     0,     0,     0,   157,     0,     0,   158,   159,   160,
++       0,   161,     0,   162,   163,     0,     0,   164,     0,     0,
++     165,   166,     0,   167,   168,     0,   169,   170,     0,   171,
++     172,   173,   174,   175,   176,   177,     0,   178,   179,   180,
++     181,   182,   183,   184,   185,     0,   186,   187,   188,   189,
++     190,   191,   192,   193,     0,   194,   195,     0,   196,   197,
++     198,   199,   200,     0,   201,     0,     0,   202,     0,     0,
++     203,     0,     0,     0,   204,     0,     0,     0,   205,   206,
++     207,     0,     0,   208,     0,     0,     0,     0,   209,   210,
++    1588,     0,     0,  3896,   211,     0,   212,     0,     0,     0,
++     213,     0,   214,   215,   216,   217,     0,     0,     0,   218,
++       0,     0,   219,   220,   221,     0,     0,     0,   222,     0,
++     223,   224,     0,   225,   226,   227,     0,   228,   229,     0,
++     230,   231,   232,   233,   234,   235,     0,     0,   236,   237,
++     238,     0,     0,   239,   240,     0,   241,   242,   243,  1589,
++       0,   244,     0,     0,     0,   245,     0,   246,     0,   247,
++       0,   248,   249,   250,   251,   252,   253,     0,   254,     0,
++       0,   255,   256,   257,     0,   258,  2860,     0,     0,   259,
++     260,     0,     0,     0,   261,   262,   263,   264,     0,     0,
++     265,   266,   267,     0,   268,     0,   269,     0,     0,     0,
++       0,   270,   271,     0,     0,     0,   272,     0,   273,   274,
++       0,   275,   276,     0,     0,     0,   277,     0,     0,   278,
++     279,   280,     0,     0,   281,     0,     0,   282,   283,     0,
++       0,     0,     0,     0,   284,   285,     0,   286,     0,   287,
++       0,   288,   289,     0,     0,  2861,     0,     0,     0,   290,
++     291,   292,   293,   294,   295,   296,   297,   298,   299,   300,
++     301,   302,     0,   303,   304,   305,     0,   306,   307,   308,
++     309,     0,   310,   311,     0,     0,     0,     0,   312,   313,
++     314,   315,   316,   317,     0,     0,   318,   319,     0,   320,
++       0,   321,     0,   322,   323,   324,   325,   326,   327,   328,
++     329,   330,   331,     0,     0,   332,   333,     0,     0,   334,
++     335,   336,   337,     0,     0,     0,   338,   339,     0,     0,
++    2862,     0,   340,   341,   342,     0,   343,   344,   345,   346,
++       0,   347,   348,     0,     0,     0,     0,     0,     0,     0,
++       0,   349,   350,   351,     0,     0,   352,     0,   353,   354,
++     355,   356,   357,   358,   359,   360,   361,   362,   363,   364,
++       0,     0,   365,   366,   367,     0,   368,     0,   369,   370,
++     371,   372,   373,     0,   374,   375,   376,     0,     0,   377,
++       0,     0,     0,   378,   379,   380,   381,   382,     0,     0,
++     383,   384,   385,   386,   387,     0,   388,   389,     0,   390,
++     391,   392,     0,     0,   393,     0,   394,     0,   395,   396,
++       0,   397,   398,     0,     0,     0,   399,   400,   401,   402,
++     403,   404,   405,   406,   407,   408,     0,   409,   410,     0,
++       0,     0,   411,   412,   413,   414,     0,     0,     0,   415,
++       0,     0,     0,   416,     0,   417,   418,   419,   420,     0,
++     421,   422,   423,   424,   425,   426,     0,     0,     0,     0,
++       0,     0,   427,   428,     0,   429,     0,     0,   430,     0,
++       0,   431,   432,   433,     0,     0,   434,   435,     0,   436,
++     437,   438,   439,   440,   441,     0,     0,   442,   443,   444,
++     445,     0,   446,   447,     0,   448,     0,   449,   450,   451,
++     452,     0,   136,   453,   454,     0,   455,   456,   457,   458,
++       0,     0,     0,     0,     0,   459,   460,   461,     0,     0,
++       0,   462,   463,   464,   465,  2863,   466,   467,     0,   468,
++     469,     0,   470,   471,     0,     0,   472,     0,     0,   473,
++       0,   474,     0,   475,   476,   477,     0,     0,     0,     0,
++       0,     0,   478,     0,     0,   479,     0,     0,     0,   480,
++     481,   482,   483,   484,   485,     0,     0,     0,     0,     0,
++       0,   486,   487,     0,   488,   489,   490,     0,   139,   491,
++     140,   141,   142,   143,   144,     0,     0,   145,     0,     0,
++       0,   146,     0,     0,   147,     0,   148,   149,   150,   151,
++     152,   153,   154,     0,   155,     0,     0,     0,   156,     0,
++       0,     0,   157,     0,     0,   158,   159,   160,     0,   161,
++       0,   162,   163,     0,     0,   164,     0,     0,   165,   166,
++       0,   167,   168,     0,   169,   170,     0,   171,   172,   173,
++     174,   175,   176,   177,     0,   178,   179,   180,   181,   182,
++     183,   184,   185,     0,   186,   187,   188,   189,   190,   191,
++     192,   193,     0,   194,   195,     0,   196,   197,   198,   199,
++     200,     0,   201,     0,     0,   202,     0,     0,   203,     0,
++       0,     0,   204,     0,     0,     0,   205,   206,   207,     0,
++       0,   208,     0,     0,     0,     0,   209,   210,  1588,     0,
++       0,  4180,   211,     0,   212,     0,     0,     0,   213,     0,
++     214,   215,   216,   217,     0,     0,     0,   218,     0,     0,
++     219,   220,   221,     0,     0,     0,   222,     0,   223,   224,
++       0,   225,   226,   227,     0,   228,   229,     0,   230,   231,
++     232,   233,   234,   235,     0,     0,   236,   237,   238,     0,
++       0,   239,   240,     0,   241,   242,   243,  1589,     0,   244,
++       0,     0,     0,   245,     0,   246,     0,   247,     0,   248,
++     249,   250,   251,   252,   253,     0,   254,     0,     0,   255,
++     256,   257,     0,   258,  2860,     0,     0,   259,   260,     0,
++       0,     0,   261,   262,   263,   264,     0,     0,   265,   266,
++     267,     0,   268,     0,   269,     0,     0,     0,     0,   270,
++     271,     0,     0,     0,   272,     0,   273,   274,     0,   275,
++     276,     0,     0,     0,   277,     0,     0,   278,   279,   280,
++       0,     0,   281,     0,     0,   282,   283,     0,     0,     0,
++       0,     0,   284,   285,     0,   286,     0,   287,     0,   288,
++     289,     0,     0,  2861,     0,     0,     0,   290,   291,   292,
++     293,   294,   295,   296,   297,   298,   299,   300,   301,   302,
++       0,   303,   304,   305,     0,   306,   307,   308,   309,     0,
++     310,   311,     0,     0,     0,     0,   312,   313,   314,   315,
++     316,   317,     0,     0,   318,   319,     0,   320,     0,   321,
++       0,   322,   323,   324,   325,   326,   327,   328,   329,   330,
++     331,     0,     0,   332,   333,     0,     0,   334,   335,   336,
++     337,     0,     0,     0,   338,   339,     0,     0,  2862,     0,
++     340,   341,   342,     0,   343,   344,   345,   346,     0,   347,
++     348,     0,     0,     0,     0,     0,     0,     0,     0,   349,
++     350,   351,     0,     0,   352,     0,   353,   354,   355,   356,
++     357,   358,   359,   360,   361,   362,   363,   364,     0,     0,
++     365,   366,   367,     0,   368,     0,   369,   370,   371,   372,
++     373,     0,   374,   375,   376,     0,     0,   377,     0,     0,
++       0,   378,   379,   380,   381,   382,     0,     0,   383,   384,
++     385,   386,   387,     0,   388,   389,     0,   390,   391,   392,
++       0,     0,   393,     0,   394,     0,   395,   396,     0,   397,
++     398,     0,     0,     0,   399,   400,   401,   402,   403,   404,
++     405,   406,   407,   408,     0,   409,   410,     0,     0,     0,
++     411,   412,   413,   414,     0,     0,     0,   415,     0,     0,
++       0,   416,     0,   417,   418,   419,   420,     0,   421,   422,
++     423,   424,   425,   426,     0,     0,     0,     0,     0,     0,
++     427,   428,     0,   429,     0,     0,   430,     0,     0,   431,
++     432,   433,     0,     0,   434,   435,     0,   436,   437,   438,
++     439,   440,   441,     0,     0,   442,   443,   444,   445,     0,
++     446,   447,     0,   448,     0,   449,   450,   451,   452,     0,
++     136,   453,   454,     0,   455,   456,   457,   458,     0,     0,
++       0,     0,     0,   459,   460,   461,     0,     0,     0,   462,
++     463,   464,   465,  2863,   466,   467,     0,   468,   469,     0,
++     470,   471,     0,     0,   472,     0,     0,   473,     0,   474,
++       0,   475,   476,   477,     0,     0,     0,     0,     0,     0,
++     478,     0,     0,   479,     0,     0,     0,   480,   481,   482,
++     483,   484,   485,     0,     0,     0,     0,     0,     0,   486,
++     487,     0,   488,   489,   490,     0,   139,   491,   140,   141,
++     142,   143,   144,     0,     0,   145,     0,     0,     0,   146,
++       0,     0,   147,     0,   148,   149,   150,   151,   152,   153,
++     154,     0,   155,     0,     0,     0,   156,   972,     0,     0,
++     157,     0,     0,   158,   159,   160,     0,   161,     0,   162,
++     163,     0,     0,   164,     0,     0,   165,   166,     0,   167,
++     168,     0,   169,   170,     0,   171,   172,   173,   174,   175,
++     176,   177,     0,   178,   179,   180,   181,   182,   183,   184,
++     185,     0,   186,   187,   188,   189,   190,   191,   192,   193,
++       0,   194,   195,     0,   196,   197,   198,   199,   200,     0,
++     201,     0,     0,   202,     0,     0,   203,     0,     0,     0,
++     204,     0,     0,     0,   205,   206,   207,     0,     0,   208,
++       0,     0,     0,     0,   209,   210,     0,     0,     0,     0,
++     211,     0,   212,     0,     0,     0,   213,     0,   214,   215,
++     216,   217,     0,     0,     0,   218,     0,     0,   219,   220,
++     221,     0,     0,     0,   222,     0,   223,   224,     0,   225,
++     226,   227,     0,   228,   229,     0,   230,   231,   232,   233,
++     234,   235,     0,     0,   236,   237,   238,     0,     0,   239,
++     240,     0,   241,   242,   243,     0,     0,   244,     0,     0,
++       0,   245,     0,   246,     0,   247,     0,   248,   249,   250,
++     251,   252,   253,     0,   254,     0,     0,   255,   256,   257,
++       0,   258,   973,   974,     0,   259,   260,     0,     0,     0,
++     261,   262,   263,   264,     0,     0,   265,   266,   267,     0,
++     268,     0,   269,     0,     0,     0,     0,   270,   271,     0,
++       0,     0,   272,     0,   273,   274,     0,   275,   276,     0,
++       0,     0,   277,     0,     0,   278,   279,   280,     0,     0,
++     281,     0,     0,   282,   283,     0,     0,     0,     0,     0,
++     284,   285,     0,   286,     0,   287,     0,   288,   289,     0,
++       0,     0,     0,     0,     0,   290,   291,   292,   293,   294,
++     295,   296,   297,   298,   299,   300,   301,   302,     0,   303,
++     304,   305,     0,   306,   307,   308,   309,     0,   310,   311,
++       0,     0,     0,     0,   312,   313,   314,   315,   316,   317,
++       0,     0,   318,   319,     0,   320,     0,   321,     0,   322,
++     323,   324,   325,   326,   327,   328,   329,   330,   331,     0,
++       0,   332,   333,     0,     0,   334,   335,   336,   337,     0,
++       0,     0,   338,   339,     0,     0,     0,     0,   340,   341,
++     342,     0,   343,   344,   345,   346,     0,   347,   348,     0,
++       0,     0,     0,     0,     0,     0,     0,   349,   350,   351,
++       0,     0,   352,     0,   353,   354,   355,   356,   357,   358,
++     359,   360,   361,   362,   363,   364,     0,     0,   365,   366,
++     367,     0,   368,     0,   369,   370,   371,   372,   373,     0,
++     374,   375,   376,     0,     0,   377,     0,     0,     0,   378,
++     379,   380,   381,   382,     0,     0,   383,   384,   385,   386,
++     387,     0,   388,   389,     0,   390,   391,   392,     0,     0,
++     393,     0,   394,     0,   395,   396,     0,   397,   398,     0,
++       0,     0,   399,   400,   401,   402,   403,   404,   405,   406,
++     407,   408,     0,   409,   410,     0,     0,     0,   411,   412,
++     413,   414,     0,     0,     0,   415,     0,     0,     0,   416,
++       0,   417,   418,   419,   420,     0,   421,   422,   423,   424,
++     425,   426,     0,     0,     0,     0,     0,     0,   427,   428,
++       0,   429,     0,     0,   430,     0,     0,   431,   432,   433,
++       0,     0,   434,   435,     0,   436,   437,   438,   439,   440,
++     441,     0,     0,   442,   443,   444,   445,     0,   446,   447,
++       0,   448,     0,   449,   450,   451,   452,     0,   975,   453,
++     454,     0,   455,   456,   457,   458,     0,     0,     0,     0,
++       0,   459,   460,   461,     0,     0,     0,   462,   463,   464,
++     465,     0,   466,   467,     0,   468,   469,     0,   470,   471,
++       0,     0,   472,     0,     0,   473,     0,   474,     0,   475,
++     476,   477,     0,     0,     0,     0,     0,     0,   478,     0,
++       0,   479,     0,     0,     0,   480,   481,   482,   483,   484,
++     485,     0,     0,     0,     0,     0,     0,   486,   487,     0,
++     488,   489,   490,     0,   139,   491,   140,   141,   142,   143,
++     144,     0,     0,   145,     0,     0,     0,   146,     0,     0,
++     147,     0,   148,   149,   150,   151,   152,   153,   154,     0,
++     155,     0,     0,     0,   156,     0,     0,     0,   157,     0,
++       0,   158,   159,   160,     0,   161,     0,   162,   163,     0,
++       0,   164,     0,     0,   165,   166,     0,   167,   168,     0,
++     169,   170,     0,   171,   172,   173,   174,   175,   176,   177,
++       0,   178,   179,   180,   181,   182,   183,   184,   185,     0,
++     186,   187,   188,   189,   190,   191,   192,   193,     0,   194,
++     195,     0,   196,   197,   198,   199,   200,     0,   201,     0,
++       0,   202,     0,     0,   203,     0,     0,     0,   204,     0,
++       0,     0,   205,   206,   207,     0,     0,   208,     0,     0,
++       0,     0,   209,   210,     0,     0,     0,     0,   211,     0,
++     212,     0,     0,     0,   213,     0,   214,   215,   216,   217,
++       0,     0,     0,   218,     0,     0,   219,   220,   221,     0,
++       0,     0,   222,     0,   223,   224,     0,   225,   226,   227,
++       0,   228,   229,     0,   230,   231,   232,   233,   234,   235,
++       0,     0,   236,   237,   238,     0,     0,   239,   240,     0,
++     241,   242,   243,     0,     0,   244,     0,     0,     0,   245,
++       0,   246,     0,   247,     0,   248,   249,   250,   251,   252,
++     253,     0,   254,     0,     0,   255,   256,   257,     0,   258,
++       0,     0,     0,   259,   260,     0,     0,     0,   261,   262,
++     263,   264,     0,     0,   265,   266,   267,     0,   268,     0,
++     269,     0,     0,     0,     0,   270,   271,     0,     0,     0,
++     272,     0,   273,   274,     0,   275,   276,     0,     0,     0,
++     277,     0,     0,   278,   279,   280,     0,     0,   281,     0,
++       0,   282,   283,     0,     0,     0,     0,     0,   284,   285,
++       0,   286,     0,   287,     0,   288,   289,     0,     0,  1865,
++       0,     0,     0,   290,   291,   292,   293,   294,   295,   296,
++     297,   298,   299,   300,   301,   302,     0,   303,   304,   305,
++       0,   306,   307,   308,   309,     0,   310,   311,     0,     0,
++       0,     0,   312,   313,   314,   315,   316,   317,     0,     0,
++     318,   319,     0,   320,     0,   321,     0,   322,   323,   324,
++     325,   326,   327,   328,   329,   330,   331,     0,     0,   332,
++     333,     0,     0,   334,   335,   336,   337,     0,     0,     0,
++     338,   339,     0,     0,  1866,     0,   340,   341,   342,     0,
++     343,   344,   345,   346,     0,   347,   348,     0,     0,     0,
++       0,     0,     0,     0,     0,   349,   350,   351,     0,   739,
++     352,     0,   353,   354,   355,   356,   357,   358,   359,   360,
++     361,   362,   363,   364,     0,     0,   365,   366,   367,     0,
++     368,     0,   369,   370,   371,   372,   373,     0,   374,   375,
++     376,     0,     0,   377,     0,     0,     0,   378,   379,   380,
++     381,   382,     0,     0,   383,   384,   385,   386,   387,     0,
++     388,   389,     0,   390,   391,   392,     0,     0,   393,     0,
++     394,     0,   395,   396,     0,   397,   398,     0,     0,     0,
++     399,   400,   401,  1867,   403,   404,   405,   406,   407,   408,
++       0,   409,   410,     0,     0,     0,   411,   412,   413,   414,
++       0,     0,     0,   415,     0,     0,     0,   416,     0,   417,
++     418,   419,   420,     0,   421,   422,   423,   424,   425,   426,
++       0,     0,     0,     0,     0,     0,   427,   428,     0,   429,
++       0,     0,   430,     0,     0,   431,   432,   433,     0,     0,
++     434,   435,     0,   436,   437,   438,   439,   440,   441,     0,
++       0,   442,   443,   444,   445,     0,   446,   447,     0,   448,
++       0,   449,   450,   451,   452,     0,     0,   453,   454,     0,
++     455,   456,   457,   458,     0,     0,     0,     0,     0,   459,
++     460,   461,     0,     0,     0,   462,   463,   464,   465,  1868,
++     466,   467,     0,   468,   469,     0,   470,   471,     0,     0,
++     472,     0,     0,   473,     0,   474,     0,   475,   476,   477,
++       0,     0,     0,     0,     0,     0,   478,     0,     0,   479,
++       0,     0,     0,   480,   481,   482,   483,   484,   485,     0,
++       0,     0,     0,     0,     0,   486,   487,     0,   488,   489,
++     490,     0,   139,   491,   140,   141,   142,   143,   144,     0,
++       0,   145,     0,     0,     0,   146,     0,     0,   147,     0,
++     148,   149,   150,   151,   152,   153,   154,     0,   155,     0,
++       0,  2808,   156,     0,     0,     0,   157,     0,     0,   158,
++     159,   160,     0,   161,     0,   162,   163,     0,     0,   164,
++       0,     0,   165,   166,     0,   167,   168,     0,   169,   170,
++       0,   171,   172,   173,   174,   175,   176,   177,     0,   178,
++     179,   180,   181,   182,   183,   184,   185,     0,   186,   187,
++     188,   189,   190,   191,   192,   193,     0,   194,   195,     0,
++     196,   197,   198,   199,   200,     0,   201,     0,     0,   202,
++       0,     0,   203,     0,     0,     0,   204,     0,     0,     0,
++     205,   206,   207,     0,     0,   208,     0,     0,     0,     0,
++     209,   210,     0,     0,     0,  2809,   211,     0,   212,     0,
++       0,     0,   213,     0,   214,   215,   216,   217,     0,     0,
++       0,   218,     0,     0,   219,   220,   221,     0,     0,     0,
++     222,     0,   223,   224,     0,   225,   226,   227,     0,   228,
++     229,     0,   230,   231,   232,   233,   234,   235,     0,     0,
++     236,   237,   238,     0,     0,   239,   240,     0,   241,   242,
++     243,     0,     0,   244,     0,     0,     0,   245,     0,   246,
++       0,   247,     0,   248,   249,   250,   251,   252,   253,     0,
++     254,     0,     0,   255,   256,   257,     0,   258,     0,     0,
++       0,   259,   260,     0,     0,     0,   261,   262,   263,   264,
++       0,     0,   265,   266,   267,     0,   268,     0,   269,     0,
++       0,     0,     0,   270,   271,     0,     0,     0,   272,     0,
++     273,   274,     0,   275,   276,     0,     0,     0,   277,     0,
++       0,   278,   279,   280,     0,     0,   281,     0,     0,   282,
++     283,   618,     0,     0,     0,     0,   284,   285,     0,   286,
++       0,   287,     0,   288,   289,     0,     0,     0,     0,     0,
++       0,   290,   291,   292,   293,   294,   295,   296,   297,   298,
++     299,   300,   301,   302,     0,   303,   304,   305,     0,   306,
++     307,   308,   309,     0,   310,   311,     0,     0,     0,     0,
++     312,   313,   314,   315,   316,   317,     0,     0,   318,   319,
++       0,   320,     0,   321,     0,   322,   323,   324,   325,   326,
++     327,   328,   329,   330,   331,     0,     0,   332,   333,     0,
++       0,   334,   335,   336,   337,     0,     0,     0,   338,   339,
++       0,     0,     0,     0,   340,   341,   342,     0,   343,   344,
++     345,   346,     0,   347,   348,     0,     0,     0,     0,     0,
++       0,     0,     0,   349,   350,   351,     0,     0,   352,     0,
++     353,   354,   355,   356,   357,   358,   359,   360,   361,   362,
++     363,   364,     0,     0,   365,   366,   367,     0,   368,     0,
++     369,   370,   371,   372,   373,     0,   374,   375,   376,     0,
++       0,   377,     0,     0,     0,   378,   379,   380,   381,   382,
++       0,     0,   383,   384,   385,   386,   387,     0,   388,   389,
++       0,   390,   391,   392,     0,     0,   393,     0,   394,     0,
++     395,   396,     0,   397,   398,     0,     0,     0,   399,   400,
++     401,   402,   403,   404,   405,   406,   407,   408,     0,   409,
++     410,     0,     0,     0,   411,   412,   413,   414,     0,     0,
++       0,   415,     0,     0,     0,   416,     0,   417,   418,   419,
++     420,     0,   421,   422,   423,   424,   425,   426,     0,     0,
++       0,     0,     0,     0,   427,   428,     0,   429,     0,     0,
++     430,     0,     0,   431,   432,   433,     0,     0,   434,   435,
++       0,   436,   437,   438,   439,   440,   441,     0,     0,   442,
++     443,   444,   445,     0,   446,   447,     0,   448,     0,   449,
++     450,   451,   452,     0,   136,   453,   454,     0,   455,   456,
++     457,   458,     0,     0,     0,     0,     0,   459,   460,   461,
++       0,     0,     0,   462,   463,   464,   465,     0,   466,   467,
++       0,   468,   469,     0,   470,   471,     0,     0,   472,     0,
++       0,   473,     0,   474,     0,   475,   476,   477,     0,     0,
++       0,     0,     0,     0,   478,     0,     0,   479,     0,     0,
++       0,   480,   481,   482,   483,   484,   485,     0,     0,     0,
++       0,     0,     0,   486,   487,     0,   488,   489,   490,     0,
++     139,   491,   140,   141,   142,   143,   144,     0,     0,   145,
++       0,     0,     0,   146,     0,     0,   147,     0,   148,   149,
++     150,   151,   152,   153,   154,     0,   155,     0,     0,     0,
++     156,     0,     0,     0,   157,     0,     0,   158,   159,   160,
++       0,   161,     0,   162,   163,     0,     0,   164,     0,     0,
++     165,   166,     0,   167,   168,     0,   169,   170,     0,   171,
++     172,   173,   174,   175,   176,   177,     0,   178,   179,   180,
++     181,   182,   183,   184,   185,     0,   186,   187,   188,   189,
++     190,   191,   192,   193,     0,   194,   195,     0,   196,   197,
++     198,   199,   200,     0,   201,     0,     0,   202,     0,     0,
++     203,     0,     0,     0,   204,     0,     0,     0,   205,   206,
++     207,     0,     0,   208,     0,     0,     0,     0,   209,   210,
++       0,     0,     0,     0,   211,     0,   212,     0,     0,     0,
++     213,     0,   214,   215,   216,   217,     0,     0,     0,   218,
++       0,     0,   219,   220,   221,     0,     0,     0,   222,     0,
++     223,   224,     0,   225,   226,   227,     0,   228,   229,     0,
++     230,   231,   232,   233,   234,   235,     0,     0,   236,   237,
++     238,     0,     0,   239,   240,     0,   241,   242,   243,     0,
++       0,   244,     0,     0,     0,   245,     0,   246,     0,   247,
++       0,   248,   249,   250,   251,   252,   253,     0,   254,     0,
++       0,   255,   256,   257,     0,   258,     0,     0,     0,   259,
++     260,     0,     0,     0,   261,   262,   263,   264,     0,     0,
++     265,   266,   267,     0,   268,     0,   269,     0,     0,     0,
++       0,   270,   271,     0,     0,     0,   272,     0,   273,   274,
++       0,   275,   276,     0,     0,     0,   277,     0,     0,   278,
++     279,   280,     0,     0,   281,     0,     0,   282,   283,     0,
++       0,     0,     0,     0,   284,   285,     0,   286,     0,   287,
++       0,   288,   289,     0,     0,  1865,     0,     0,     0,   290,
++     291,   292,   293,   294,   295,   296,   297,   298,   299,   300,
++     301,   302,     0,   303,   304,   305,     0,   306,   307,   308,
++     309,     0,   310,   311,     0,     0,     0,     0,   312,   313,
++     314,   315,   316,   317,     0,     0,   318,   319,     0,   320,
++       0,   321,     0,   322,   323,   324,   325,   326,   327,   328,
++     329,   330,   331,     0,     0,   332,   333,     0,     0,   334,
++     335,   336,   337,     0,     0,     0,   338,   339,     0,     0,
++    1866,     0,   340,   341,   342,     0,   343,   344,   345,   346,
++       0,   347,   348,     0,     0,     0,     0,     0,     0,     0,
++       0,   349,   350,   351,     0,   739,   352,     0,   353,   354,
++     355,   356,   357,   358,   359,   360,   361,   362,   363,   364,
++       0,     0,   365,   366,   367,     0,   368,     0,   369,   370,
++     371,   372,   373,     0,   374,   375,   376,     0,     0,   377,
++       0,     0,     0,   378,   379,   380,   381,   382,     0,     0,
++     383,   384,   385,   386,   387,     0,   388,   389,     0,   390,
++     391,   392,     0,     0,   393,     0,   394,     0,   395,   396,
++       0,   397,   398,     0,     0,     0,   399,   400,   401,   402,
++     403,   404,   405,   406,   407,   408,     0,   409,   410,     0,
++       0,     0,   411,   412,   413,   414,     0,     0,     0,   415,
++       0,     0,     0,   416,     0,   417,   418,   419,   420,     0,
++     421,   422,   423,   424,   425,   426,     0,     0,     0,     0,
++       0,     0,   427,   428,     0,   429,     0,     0,   430,     0,
++       0,   431,   432,   433,     0,     0,   434,   435,     0,   436,
++     437,   438,   439,   440,   441,     0,     0,   442,   443,   444,
++     445,     0,   446,   447,     0,   448,     0,   449,   450,   451,
++     452,     0,     0,   453,   454,     0,   455,   456,   457,   458,
++       0,     0,     0,     0,     0,   459,   460,   461,     0,     0,
++       0,   462,   463,   464,   465,  1868,   466,   467,     0,   468,
++     469,     0,   470,   471,     0,     0,   472,     0,     0,   473,
++       0,   474,     0,   475,   476,   477,     0,     0,     0,     0,
++       0,     0,   478,     0,     0,   479,     0,     0,     0,   480,
++     481,   482,   483,   484,   485,     0,     0,     0,     0,     0,
++       0,   486,   487,     0,   488,   489,   490,     0,   139,   491,
++     140,   141,   142,   143,   144,     0,     0,   145,     0,     0,
++       0,   146,     0,     0,   147,     0,   148,   149,   150,   151,
++     152,   153,   154,     0,   155,     0,     0,  2636,   156,     0,
++       0,     0,   157,     0,     0,   158,   159,   160,     0,   161,
++       0,   162,   163,     0,     0,   164,     0,     0,   165,   166,
++       0,   167,   168,     0,   169,   170,     0,   171,   172,   173,
++     174,   175,   176,   177,     0,   178,   179,   180,   181,   182,
++     183,   184,   185,     0,   186,   187,   188,   189,   190,   191,
++     192,   193,     0,   194,   195,     0,   196,   197,   198,   199,
++     200,     0,   201,     0,     0,   202,     0,     0,   203,     0,
++       0,     0,   204,     0,     0,     0,   205,   206,   207,     0,
++       0,   208,     0,     0,     0,     0,   209,   210,     0,     0,
++       0,  2800,   211,     0,   212,     0,     0,     0,   213,     0,
++     214,   215,   216,   217,     0,     0,     0,   218,     0,     0,
++     219,   220,   221,     0,     0,     0,   222,     0,   223,   224,
++       0,   225,   226,   227,     0,   228,   229,     0,   230,   231,
++     232,   233,   234,   235,     0,     0,   236,   237,   238,     0,
++       0,   239,   240,     0,   241,   242,   243,     0,     0,   244,
++       0,     0,     0,   245,     0,   246,     0,   247,     0,   248,
++     249,   250,   251,   252,   253,     0,   254,     0,     0,   255,
++     256,   257,     0,   258,     0,     0,     0,   259,   260,     0,
++       0,     0,   261,   262,   263,   264,     0,     0,   265,   266,
++     267,     0,   268,     0,   269,     0,     0,     0,     0,   270,
++     271,     0,     0,     0,   272,     0,   273,   274,     0,   275,
++     276,     0,     0,     0,   277,     0,     0,   278,   279,   280,
++       0,     0,   281,     0,     0,   282,   283,   618,     0,     0,
++       0,     0,   284,   285,     0,   286,     0,   287,     0,   288,
++     289,     0,     0,     0,     0,     0,     0,   290,   291,   292,
++     293,   294,   295,   296,   297,   298,   299,   300,   301,   302,
++       0,   303,   304,   305,     0,   306,   307,   308,   309,     0,
++     310,   311,     0,     0,     0,     0,   312,   313,   314,   315,
++     316,   317,     0,     0,   318,   319,     0,   320,     0,   321,
++       0,   322,   323,   324,   325,   326,   327,   328,   329,   330,
++     331,     0,     0,   332,   333,     0,     0,   334,   335,   336,
++     337,     0,     0,     0,   338,   339,     0,     0,     0,     0,
++     340,   341,   342,     0,   343,   344,   345,   346,     0,   347,
++     348,     0,     0,     0,     0,     0,     0,     0,     0,   349,
++     350,   351,     0,     0,   352,     0,   353,   354,   355,   356,
++     357,   358,   359,   360,   361,   362,   363,   364,     0,     0,
++     365,   366,   367,     0,   368,     0,   369,   370,   371,   372,
++     373,     0,   374,   375,   376,     0,     0,   377,     0,     0,
++       0,   378,   379,   380,   381,   382,     0,     0,   383,   384,
++     385,   386,   387,     0,   388,   389,     0,   390,   391,   392,
++       0,     0,   393,     0,   394,     0,   395,   396,     0,   397,
++     398,     0,     0,     0,   399,   400,   401,   402,   403,   404,
++     405,   406,   407,   408,     0,   409,   410,     0,     0,     0,
++     411,   412,   413,   414,     0,     0,     0,   415,     0,     0,
++       0,   416,     0,   417,   418,   419,   420,     0,   421,   422,
++     423,   424,   425,   426,     0,     0,     0,     0,     0,     0,
++     427,   428,     0,   429,     0,     0,   430,     0,     0,   431,
++     432,   433,     0,     0,   434,   435,     0,   436,   437,   438,
++     439,   440,   441,     0,     0,   442,   443,   444,   445,     0,
++     446,   447,     0,   448,     0,   449,   450,   451,   452,     0,
++     136,   453,   454,     0,   455,   456,   457,   458,     0,     0,
++       0,     0,     0,   459,   460,   461,     0,     0,     0,   462,
++     463,   464,   465,     0,   466,   467,     0,   468,   469,     0,
++     470,   471,     0,     0,   472,     0,     0,   473,     0,   474,
++       0,   475,   476,   477,     0,     0,     0,     0,     0,     0,
++     478,     0,     0,   479,     0,     0,     0,   480,   481,   482,
++     483,   484,   485,     0,     0,     0,     0,     0,     0,   486,
++     487,     0,   488,   489,   490,     0,   139,   491,   140,   141,
++     142,   143,   144,     0,     0,   145,     0,     0,     0,   146,
++       0,     0,   147,     0,   148,   149,   150,   151,   152,   153,
++     154,     0,   155,     0,     0,     0,   156,     0,     0,     0,
++     157,     0,     0,   158,   159,   160,     0,   161,     0,   162,
++     163,     0,     0,   164,     0,     0,   165,   166,     0,   167,
++     168,     0,   169,   170,     0,   171,   172,   173,   174,   175,
++     176,   177,     0,   178,   179,   180,   181,   182,   183,   184,
++     185,     0,   186,   187,   188,   189,   190,   191,   192,   193,
++       0,   194,   195,     0,   196,   197,   198,   199,   200,     0,
++     201,     0,     0,   202,     0,     0,   203,     0,     0,     0,
++     204,     0,     0,     0,   205,   206,   207,     0,     0,   208,
++       0,     0,     0,     0,   209,   210,     0,     0,     0,     0,
++     211,     0,   212,     0,     0,     0,   213,     0,   214,   215,
++     216,   217,     0,     0,     0,   218,     0,     0,   219,   220,
++     221,     0,     0,     0,   222,     0,   223,   224,     0,   225,
++     226,   227,     0,   228,   229,     0,   230,   231,   232,   233,
++     234,   235,     0,     0,   236,   237,   238,     0,     0,   239,
++     240,     0,   241,   242,   243,     0,     0,   244,     0,     0,
++       0,   245,     0,   246,     0,   247,     0,   248,   249,   250,
++     251,   252,   253,     0,   254,     0,     0,   255,   256,   257,
++       0,   258,     0,     0,     0,   259,   260,     0,     0,     0,
++     261,   262,   263,   264,     0,     0,   265,   266,   267,     0,
++     268,     0,   269,     0,     0,     0,     0,   270,   271,     0,
++       0,     0,   272,     0,   273,   274,     0,   275,   276,     0,
++       0,     0,   277,     0,     0,   278,   279,   280,     0,     0,
++     281,     0,     0,   282,   283,     0,     0,     0,     0,     0,
++     284,   285,     0,   286,     0,   287,     0,   288,   289,     0,
++       0,  1865,     0,     0,     0,   290,   291,   292,   293,   294,
++     295,   296,   297,   298,   299,   300,   301,   302,     0,   303,
++     304,   305,     0,   306,   307,   308,   309,     0,   310,   311,
++       0,     0,     0,     0,   312,   313,   314,   315,   316,   317,
++       0,     0,   318,   319,     0,   320,     0,   321,     0,   322,
++     323,   324,   325,   326,   327,   328,   329,   330,   331,     0,
++       0,   332,   333,     0,     0,   334,   335,   336,   337,     0,
++       0,     0,   338,   339,     0,     0,  1866,     0,   340,   341,
++     342,     0,   343,   344,   345,   346,     0,   347,   348,     0,
++       0,     0,     0,     0,     0,     0,     0,   349,   350,   351,
++       0,   739,   352,     0,   353,   354,   355,   356,   357,   358,
++     359,   360,   361,   362,   363,   364,     0,     0,   365,   366,
++     367,     0,   368,     0,   369,   370,   371,   372,   373,     0,
++     374,   375,   376,     0,     0,   377,     0,     0,     0,   378,
++     379,   380,   381,   382,     0,     0,   383,   384,   385,   386,
++     387,     0,   388,   389,     0,   390,   391,   392,     0,     0,
++     393,     0,   394,     0,   395,   396,     0,   397,   398,     0,
++       0,     0,   399,   400,   401,  3618,   403,   404,   405,   406,
++     407,   408,     0,   409,   410,     0,     0,     0,   411,   412,
++     413,   414,     0,     0,     0,   415,     0,     0,     0,   416,
++       0,   417,   418,   419,   420,     0,   421,   422,   423,   424,
++     425,   426,     0,     0,     0,     0,     0,     0,   427,   428,
++       0,   429,     0,     0,   430,     0,     0,   431,   432,   433,
++       0,     0,   434,   435,     0,   436,   437,   438,   439,   440,
++     441,     0,     0,   442,   443,   444,   445,     0,   446,   447,
++       0,   448,     0,   449,   450,   451,   452,     0,     0,   453,
++     454,     0,   455,   456,   457,   458,     0,     0,     0,     0,
++       0,   459,   460,   461,     0,     0,     0,   462,   463,   464,
++     465,  1868,   466,   467,     0,   468,   469,     0,   470,   471,
++       0,     0,   472,     0,     0,   473,     0,   474,     0,   475,
++     476,   477,     0,     0,     0,     0,     0,     0,   478,     0,
++       0,   479,     0,     0,     0,   480,   481,   482,   483,   484,
++     485,     0,     0,     0,     0,     0,     0,   486,   487,     0,
++     488,   489,   490,     0,   139,   491,   140,   141,   142,   143,
++     144,     0,     0,   145,     0,     0,     0,   146,     0,     0,
++     147,     0,   148,   149,   150,   151,   152,   153,   154,     0,
++     155,     0,     0,     0,   156,     0,     0,     0,   157,     0,
++       0,   158,   159,   160,     0,   161,     0,   162,   163,     0,
++       0,   164,     0,     0,   165,   166,     0,   167,   168,     0,
++     169,   170,     0,   171,   172,   173,   174,   175,   176,   177,
++       0,   178,   179,   180,   181,   182,   183,   184,   185,     0,
++     186,   187,   188,   189,   190,   191,   192,   193,     0,   194,
++     195,     0,   196,   197,   198,   199,   200,     0,   201,     0,
++       0,   202,     0,     0,   203,     0,   995,     0,   204,     0,
++       0,     0,   205,   206,   207,     0,     0,   208,     0,     0,
++       0,     0,   209,   210,     0,     0,     0,     0,   211,     0,
++     212,     0,     0,     0,   213,     0,   214,   215,   216,   217,
++       0,     0,     0,   218,     0,     0,   219,   220,   221,     0,
++       0,     0,   222,     0,   223,   224,     0,   225,   226,   227,
++       0,   228,   229,     0,   230,   231,   232,   233,   234,   235,
++       0,     0,   236,   237,   238,     0,     0,   239,   240,     0,
++     241,   242,   243,     0,     0,   244,     0,     0,     0,   245,
++       0,   246,     0,   247,     0,   248,   249,   250,   251,   252,
++     253,     0,   254,     0,     0,   255,   256,   257,     0,   258,
++       0,     0,     0,   259,   260,     0,     0,     0,   261,   262,
++     263,   264,     0,     0,   265,   266,   267,     0,   268,     0,
++     269,     0,     0,     0,     0,   270,   271,     0,     0,     0,
++     272,     0,   273,   274,     0,   275,   276,     0,     0,     0,
++     277,     0,     0,   278,   279,   280,     0,     0,   281,     0,
++       0,   282,   283,   618,     0,     0,     0,     0,   284,   285,
++       0,   286,     0,   287,     0,   288,   289,     0,     0,     0,
++       0,     0,     0,   290,   291,   292,   293,   294,   295,   296,
++     297,   298,   299,   300,   301,   302,     0,   303,   304,   305,
++       0,   306,   307,   308,   309,     0,   310,   311,     0,     0,
++       0,     0,   312,   313,   314,   315,   316,   317,     0,     0,
++     318,   319,     0,   320,     0,   321,     0,   322,   323,   324,
++     325,   326,   327,   328,   329,   330,   331,     0,     0,   332,
++     333,     0,     0,   334,   335,   336,   337,     0,     0,     0,
++     338,   339,     0,     0,     0,     0,   340,   341,   342,     0,
++     343,   344,   345,   346,     0,   347,   348,     0,     0,     0,
++       0,     0,     0,     0,     0,   349,   350,   351,     0,     0,
++     352,     0,   353,   354,   355,   356,   357,   358,   359,   360,
++     361,   362,   363,   364,     0,     0,   365,   366,   367,     0,
++     368,     0,   369,   370,   371,   372,   373,     0,   374,   375,
++     376,     0,     0,   377,     0,     0,     0,   378,   379,   380,
++     381,   382,     0,     0,   383,   384,   385,   386,   387,     0,
++     388,   389,     0,   390,   391,   392,     0,     0,   393,     0,
++     394,     0,   395,   396,     0,   397,   398,     0,     0,     0,
++     399,   400,   401,   402,   403,   404,   405,   406,   407,   408,
++       0,   409,   410,     0,     0,     0,   411,   412,   413,   414,
++       0,     0,     0,   415,     0,     0,     0,   416,     0,   417,
++     418,   419,   420,     0,   421,   422,   423,   424,   425,   426,
++       0,     0,     0,     0,     0,     0,   427,   428,     0,   429,
++       0,     0,   430,     0,     0,   431,   432,   433,     0,     0,
++     434,   435,     0,   436,   437,   438,   439,   440,   441,     0,
++       0,   442,   443,   444,   445,     0,   446,   447,     0,   448,
++       0,   449,   450,   451,   452,     0,   136,   453,   454,     0,
++     455,   456,   457,   458,     0,     0,     0,     0,     0,   459,
++     460,   461,     0,     0,     0,   462,   463,   464,   465,     0,
++     466,   467,     0,   468,   469,     0,   470,   471,     0,     0,
++     472,     0,     0,   473,     0,   474,     0,   475,   476,   477,
++       0,     0,     0,     0,     0,     0,   478,     0,     0,   479,
++       0,     0,     0,   480,   481,   482,   483,   484,   485,     0,
++       0,     0,     0,     0,     0,   486,   487,     0,   488,   489,
++     490,     0,   139,   491,   140,   141,   142,   143,   144,  1387,
++       0,   145,     0,     0,     0,   146,     0,     0,   147,     0,
++     148,   149,   150,   151,   152,   153,   154,     0,   155,     0,
++       0,     0,   156,     0,     0,     0,   157,     0,     0,   158,
++     159,   160,     0,   161,     0,   162,   163,     0,     0,   164,
++       0,     0,   165,   166,     0,   167,   168,     0,   169,   170,
++       0,   171,   172,   173,   174,   175,   176,   177,     0,   178,
++     179,   180,   181,   182,   183,   184,   185,     0,   186,   187,
++     188,   189,   190,   191,   192,   193,     0,   194,   195,     0,
++     196,   197,   198,   199,   200,     0,   201,     0,     0,   202,
++       0,     0,   203,     0,     0,     0,   204,     0,     0,     0,
++     205,   206,   207,     0,     0,   208,     0,     0,     0,     0,
++     209,   210,     0,     0,     0,     0,   211,     0,   212,     0,
++       0,     0,   213,     0,   214,   215,   216,   217,     0,     0,
++       0,   218,     0,     0,   219,   220,   221,     0,     0,     0,
++     222,     0,   223,   224,     0,   225,   226,   227,     0,   228,
++     229,     0,   230,   231,   232,   233,   234,   235,     0,     0,
++     236,   237,   238,     0,     0,   239,   240,     0,   241,   242,
++     243,     0,     0,   244,     0,     0,     0,   245,     0,   246,
++       0,   247,     0,   248,   249,   250,   251,   252,   253,     0,
++     254,     0,     0,   255,   256,   257,     0,   258,     0,     0,
++       0,   259,   260,     0,     0,     0,   261,   262,   263,   264,
++       0,     0,   265,   266,   267,     0,   268,     0,   269,     0,
++       0,     0,     0,   270,   271,     0,     0,     0,   272,     0,
++     273,   274,     0,   275,   276,     0,     0,     0,   277,     0,
++       0,   278,   279,   280,     0,     0,   281,     0,     0,   282,
++     283,   618,     0,     0,     0,     0,   284,   285,     0,   286,
++       0,   287,     0,   288,   289,     0,     0,     0,     0,     0,
++       0,   290,   291,   292,   293,   294,   295,   296,   297,   298,
++     299,   300,   301,   302,     0,   303,   304,   305,     0,   306,
++     307,   308,   309,     0,   310,   311,     0,     0,     0,     0,
++     312,   313,   314,   315,   316,   317,     0,     0,   318,   319,
++       0,   320,     0,   321,     0,   322,   323,   324,   325,   326,
++     327,   328,   329,   330,   331,     0,     0,   332,   333,     0,
++       0,   334,   335,   336,   337,     0,     0,     0,   338,   339,
++       0,     0,     0,     0,   340,   341,   342,     0,   343,   344,
++     345,   346,     0,   347,   348,     0,     0,     0,     0,     0,
++       0,     0,     0,   349,   350,   351,     0,     0,   352,     0,
++     353,   354,   355,   356,   357,   358,   359,   360,   361,   362,
++     363,   364,     0,     0,   365,   366,   367,     0,   368,     0,
++     369,   370,   371,   372,   373,     0,   374,   375,   376,     0,
++       0,   377,     0,     0,     0,   378,   379,   380,   381,   382,
++       0,     0,   383,   384,   385,   386,   387,     0,   388,   389,
++       0,   390,   391,   392,     0,     0,   393,     0,   394,     0,
++     395,   396,     0,   397,   398,     0,     0,     0,   399,   400,
++     401,   402,   403,   404,   405,   406,   407,   408,     0,   409,
++     410,     0,     0,     0,   411,   412,   413,   414,     0,     0,
++       0,   415,     0,     0,     0,   416,     0,   417,   418,   419,
++     420,     0,   421,   422,   423,   424,   425,   426,     0,     0,
++       0,     0,     0,     0,   427,   428,     0,   429,     0,     0,
++     430,     0,     0,   431,   432,   433,     0,     0,   434,   435,
++       0,   436,   437,   438,   439,   440,   441,     0,     0,   442,
++     443,   444,   445,     0,   446,   447,     0,   448,     0,   449,
++     450,   451,   452,     0,   136,   453,   454,     0,   455,   456,
++     457,   458,     0,     0,     0,     0,     0,   459,   460,   461,
++       0,     0,     0,   462,   463,   464,   465,     0,   466,   467,
++       0,   468,   469,     0,   470,   471,     0,     0,   472,     0,
++       0,   473,     0,   474,     0,   475,   476,   477,     0,     0,
++       0,     0,     0,     0,   478,     0,     0,   479,     0,     0,
++       0,   480,   481,   482,   483,   484,   485,     0,     0,     0,
++       0,     0,     0,   486,   487,     0,   488,   489,   490,     0,
++     139,   491,   140,   141,   142,   143,   144,     0,     0,   145,
++       0,     0,     0,   146,     0,     0,   147,     0,   148,   149,
++     150,   151,   152,   153,   154,     0,   155,     0,     0,  2636,
++     156,     0,     0,     0,   157,     0,     0,   158,   159,   160,
++       0,   161,     0,   162,   163,     0,     0,   164,     0,     0,
++     165,   166,     0,   167,   168,     0,   169,   170,     0,   171,
++     172,   173,   174,   175,   176,   177,     0,   178,   179,   180,
++     181,   182,   183,   184,   185,     0,   186,   187,   188,   189,
++     190,   191,   192,   193,     0,   194,   195,     0,   196,   197,
++     198,   199,   200,     0,   201,     0,     0,   202,     0,     0,
++     203,     0,     0,     0,   204,     0,     0,     0,   205,   206,
++     207,     0,     0,   208,     0,     0,     0,     0,   209,   210,
++       0,     0,     0,     0,   211,     0,   212,     0,     0,     0,
++     213,     0,   214,   215,   216,   217,     0,     0,     0,   218,
++       0,     0,   219,   220,   221,     0,     0,     0,   222,     0,
++     223,   224,     0,   225,   226,   227,     0,   228,   229,     0,
++     230,   231,   232,   233,   234,   235,     0,     0,   236,   237,
++     238,     0,     0,   239,   240,     0,   241,   242,   243,     0,
++       0,   244,     0,     0,     0,   245,     0,   246,     0,   247,
++       0,   248,   249,   250,   251,   252,   253,     0,   254,     0,
++       0,   255,   256,   257,     0,   258,     0,     0,     0,   259,
++     260,     0,     0,     0,   261,   262,   263,   264,     0,     0,
++     265,   266,   267,     0,   268,     0,   269,     0,     0,     0,
++       0,   270,   271,     0,     0,     0,   272,     0,   273,   274,
++       0,   275,   276,     0,     0,     0,   277,     0,     0,   278,
++     279,   280,     0,     0,   281,     0,     0,   282,   283,   618,
++       0,     0,     0,     0,   284,   285,     0,   286,     0,   287,
++       0,   288,   289,     0,     0,     0,     0,     0,     0,   290,
++     291,   292,   293,   294,   295,   296,   297,   298,   299,   300,
++     301,   302,     0,   303,   304,   305,     0,   306,   307,   308,
++     309,     0,   310,   311,     0,     0,     0,     0,   312,   313,
++     314,   315,   316,   317,     0,     0,   318,   319,     0,   320,
++       0,   321,     0,   322,   323,   324,   325,   326,   327,   328,
++     329,   330,   331,     0,     0,   332,   333,     0,     0,   334,
++     335,   336,   337,     0,     0,     0,   338,   339,     0,     0,
++       0,     0,   340,   341,   342,     0,   343,   344,   345,   346,
++       0,   347,   348,     0,     0,     0,     0,     0,     0,     0,
++       0,   349,   350,   351,     0,     0,   352,     0,   353,   354,
++     355,   356,   357,   358,   359,   360,   361,   362,   363,   364,
++       0,     0,   365,   366,   367,     0,   368,     0,   369,   370,
++     371,   372,   373,     0,   374,   375,   376,     0,     0,   377,
++       0,     0,     0,   378,   379,   380,   381,   382,     0,     0,
++     383,   384,   385,   386,   387,     0,   388,   389,     0,   390,
++     391,   392,     0,     0,   393,     0,   394,     0,   395,   396,
++       0,   397,   398,     0,     0,     0,   399,   400,   401,   402,
++     403,   404,   405,   406,   407,   408,     0,   409,   410,     0,
++       0,     0,   411,   412,   413,   414,     0,     0,     0,   415,
++       0,     0,     0,   416,     0,   417,   418,   419,   420,     0,
++     421,   422,   423,   424,   425,   426,     0,     0,     0,     0,
++       0,     0,   427,   428,     0,   429,     0,     0,   430,     0,
++       0,   431,   432,   433,     0,     0,   434,   435,     0,   436,
++     437,   438,   439,   440,   441,     0,     0,   442,   443,   444,
++     445,     0,   446,   447,     0,   448,     0,   449,   450,   451,
++     452,     0,   136,   453,   454,     0,   455,   456,   457,   458,
++       0,     0,     0,     0,     0,   459,   460,   461,     0,     0,
++       0,   462,   463,   464,   465,     0,   466,   467,     0,   468,
++     469,     0,   470,   471,     0,     0,   472,     0,     0,   473,
++       0,   474,     0,   475,   476,   477,     0,     0,     0,     0,
++       0,     0,   478,     0,     0,   479,     0,     0,     0,   480,
++     481,   482,   483,   484,   485,     0,     0,     0,     0,     0,
++       0,   486,   487,     0,   488,   489,   490,     0,   139,   491,
++     140,   141,   142,   143,   144,     0,     0,   145,     0,     0,
++       0,   146,     0,     0,   147,     0,   148,   149,   150,   151,
++     152,   153,   154,     0,   155,     0,     0,     0,   156,     0,
++       0,     0,   157,     0,     0,   158,   159,   160,     0,   161,
++       0,   162,   163,     0,     0,   164,     0,     0,   165,   166,
++       0,   167,   168,     0,   169,   170,     0,   171,   172,   173,
++     174,   175,   176,   177,     0,   178,   179,   180,   181,   182,
++     183,   184,   185,     0,   186,   187,   188,   189,   190,   191,
++     192,   193,     0,   194,   195,     0,   196,   197,   198,   199,
++     200,     0,   201,     0,     0,   202,     0,     0,   203,     0,
++       0,     0,   204,     0,     0,     0,   205,   206,   207,     0,
++       0,   208,     0,     0,     0,     0,   209,   210,     0,     0,
++       0,  2851,   211,     0,   212,     0,     0,     0,   213,     0,
++     214,   215,   216,   217,     0,     0,     0,   218,     0,     0,
++     219,   220,   221,     0,     0,     0,   222,     0,   223,   224,
++       0,   225,   226,   227,     0,   228,   229,     0,   230,   231,
++     232,   233,   234,   235,     0,     0,   236,   237,   238,     0,
++       0,   239,   240,     0,   241,   242,   243,     0,     0,   244,
++       0,     0,     0,   245,     0,   246,     0,   247,     0,   248,
++     249,   250,   251,   252,   253,     0,   254,     0,     0,   255,
++     256,   257,     0,   258,     0,     0,     0,   259,   260,     0,
++       0,     0,   261,   262,   263,   264,     0,     0,   265,   266,
++     267,     0,   268,     0,   269,     0,     0,     0,     0,   270,
++     271,     0,     0,     0,   272,     0,   273,   274,     0,   275,
++     276,     0,     0,     0,   277,     0,     0,   278,   279,   280,
++       0,     0,   281,     0,     0,   282,   283,   618,     0,     0,
++       0,     0,   284,   285,     0,   286,     0,   287,     0,   288,
++     289,     0,     0,     0,     0,     0,     0,   290,   291,   292,
++     293,   294,   295,   296,   297,   298,   299,   300,   301,   302,
++       0,   303,   304,   305,     0,   306,   307,   308,   309,     0,
++     310,   311,     0,     0,     0,     0,   312,   313,   314,   315,
++     316,   317,     0,     0,   318,   319,     0,   320,     0,   321,
++       0,   322,   323,   324,   325,   326,   327,   328,   329,   330,
++     331,     0,     0,   332,   333,     0,     0,   334,   335,   336,
++     337,     0,     0,     0,   338,   339,     0,     0,     0,     0,
++     340,   341,   342,     0,   343,   344,   345,   346,     0,   347,
++     348,     0,     0,     0,     0,     0,     0,     0,     0,   349,
++     350,   351,     0,     0,   352,     0,   353,   354,   355,   356,
++     357,   358,   359,   360,   361,   362,   363,   364,     0,     0,
++     365,   366,   367,     0,   368,     0,   369,   370,   371,   372,
++     373,     0,   374,   375,   376,     0,     0,   377,     0,     0,
++       0,   378,   379,   380,   381,   382,     0,     0,   383,   384,
++     385,   386,   387,     0,   388,   389,     0,   390,   391,   392,
++       0,     0,   393,     0,   394,     0,   395,   396,     0,   397,
++     398,     0,     0,     0,   399,   400,   401,   402,   403,   404,
++     405,   406,   407,   408,     0,   409,   410,     0,     0,     0,
++     411,   412,   413,   414,     0,     0,     0,   415,     0,     0,
++       0,   416,     0,   417,   418,   419,   420,     0,   421,   422,
++     423,   424,   425,   426,     0,     0,     0,     0,     0,     0,
++     427,   428,     0,   429,     0,     0,   430,     0,     0,   431,
++     432,   433,     0,     0,   434,   435,     0,   436,   437,   438,
++     439,   440,   441,     0,     0,   442,   443,   444,   445,     0,
++     446,   447,     0,   448,     0,   449,   450,   451,   452,     0,
++     136,   453,   454,     0,   455,   456,   457,   458,     0,     0,
++       0,     0,     0,   459,   460,   461,     0,     0,     0,   462,
++     463,   464,   465,     0,   466,   467,     0,   468,   469,     0,
++     470,   471,     0,     0,   472,     0,     0,   473,     0,   474,
++       0,   475,   476,   477,     0,     0,     0,     0,     0,     0,
++     478,     0,     0,   479,     0,     0,     0,   480,   481,   482,
++     483,   484,   485,     0,     0,     0,     0,     0,     0,   486,
++     487,     0,   488,   489,   490,     0,   139,   491,   140,   141,
++     142,   143,   144,     0,     0,   145,     0,     0,     0,   146,
++       0,     0,   147,     0,   148,   149,   150,   151,   152,   153,
++     154,     0,   155,     0,     0,     0,   156,     0,     0,     0,
++     157,     0,     0,   158,   159,   160,     0,   161,     0,   162,
++     163,     0,     0,   164,     0,     0,   165,   166,     0,   167,
++     168,     0,   169,   170,     0,   171,   172,   173,   174,   175,
++     176,   177,     0,   178,   179,   180,   181,   182,   183,   184,
++     185,     0,   186,   187,   188,   189,   190,   191,   192,   193,
++       0,   194,   195,     0,   196,   197,   198,   199,   200,     0,
++     201,     0,     0,   202,     0,     0,   203,     0,     0,     0,
++     204,     0,     0,     0,   205,   206,   207,     0,     0,   208,
++       0,     0,     0,     0,   209,   210,     0,     0,     0,     0,
++     211,     0,   212,     0,     0,     0,   213,     0,   214,   215,
++     216,   217,     0,     0,     0,   218,     0,     0,   219,   220,
++     221,     0,     0,     0,   222,     0,   223,   224,     0,   225,
++     226,   227,     0,   228,   229,     0,   230,   231,   232,   233,
++     234,   235,     0,     0,   236,   237,   238,     0,     0,   239,
++     240,     0,   241,   242,   243,     0,     0,   244,     0,     0,
++       0,   245,     0,   246,     0,   247,     0,   248,   249,   250,
++     251,   252,   253,     0,   254,     0,     0,   255,   256,   257,
++       0,   258,     0,     0,     0,   259,   260,     0,     0,     0,
++     261,   262,   263,   264,     0,     0,   265,   266,   267,     0,
++     268,     0,   269,     0,     0,     0,     0,   270,   271,     0,
++       0,     0,   272,     0,   273,   274,     0,   275,   276,     0,
++       0,     0,   277,     0,     0,   278,   279,   280,     0,     0,
++     281,     0,     0,   282,   283,   618,     0,     0,     0,     0,
++     284,   285,     0,   286,     0,   287,     0,   288,   289,     0,
++       0,     0,     0,     0,     0,   290,   291,   292,   293,   294,
++     295,   296,   297,   298,   299,   300,   301,   302,     0,   303,
++     304,   305,     0,   306,   307,   308,   309,     0,   310,   311,
++       0,     0,     0,     0,   312,   313,   314,   315,   316,   317,
++       0,     0,   318,   319,     0,   320,     0,   321,     0,   322,
++     323,   324,   325,   326,   327,   328,   329,   330,   331,     0,
++       0,   332,   333,     0,     0,   334,   335,   336,   337,     0,
++       0,     0,   338,   339,     0,     0,     0,     0,   340,   341,
++     342,     0,   343,   344,   345,   346,     0,   347,   348,     0,
++       0,     0,     0,     0,     0,     0,     0,   349,   350,   351,
++       0,     0,   352,     0,   353,   354,   355,   356,   357,   358,
++     359,   360,   361,   362,   363,   364,     0,     0,   365,   366,
++     367,     0,   368,     0,   369,   370,   371,   372,   373,     0,
++     374,   375,   376,     0,     0,   377,     0,     0,     0,   378,
++     379,   380,   381,   382,     0,     0,   383,   384,   385,   386,
++     387,     0,   388,   389,     0,   390,   391,   392,     0,     0,
++     393,     0,   394,     0,   395,   396,     0,   397,   398,     0,
++       0,     0,   399,   400,   401,   402,   403,   404,   405,   406,
++     407,   408,     0,   409,   410,     0,     0,     0,   411,   412,
++     413,   414,     0,     0,     0,   415,     0,     0,     0,   416,
++       0,   417,   418,   419,   420,     0,   421,   422,   423,   424,
++     425,   426,     0,     0,     0,     0,     0,     0,   427,   428,
++       0,   429,     0,     0,   430,     0,     0,   431,   432,   433,
++       0,     0,   434,   435,     0,   436,   437,   438,   439,   440,
++     441,     0,     0,   442,   443,   444,   445,     0,   446,   447,
++       0,   448,     0,   449,   450,   451,   452,     0,   136,   453,
++     454,     0,   455,   456,   457,   458,     0,     0,     0,     0,
++       0,   459,   460,   461,     0,     0,     0,   462,   463,   464,
++     465,     0,   466,   467,     0,   468,   469,     0,   470,   471,
++       0,     0,   472,     0,     0,   473,     0,   474,     0,   475,
++     476,   477,     0,     0,     0,     0,     0,     0,   478,     0,
++       0,   479,     0,     0,     0,   480,   481,   482,   483,   484,
++     485,     0,     0,     0,     0,     0,     0,   486,   487,     0,
++     488,   489,   490,     0,   139,   491,   140,   141,   142,   143,
++     144,     0,     0,   145,     0,     0,     0,   146,  2790,     0,
++     147,     0,   148,   149,   150,   151,   152,   153,   154,     0,
++     155,     0,     0,     0,   156,     0,     0,     0,   157,     0,
++       0,   158,   159,   160,     0,   161,     0,   162,   163,     0,
++       0,   164,     0,     0,   165,   166,     0,   167,   168,     0,
++     169,   170,     0,   171,   172,   173,   174,   175,   176,   177,
++       0,   178,   179,   180,   181,   182,   183,   184,   185,     0,
++     186,   187,   188,   189,   190,   191,   192,   193,     0,   194,
++     195,     0,   196,   197,   198,   199,   200,     0,   201,     0,
++       0,   202,     0,     0,   203,     0,     0,     0,   204,     0,
++       0,     0,   205,   206,   207,     0,     0,   208,     0,     0,
++       0,     0,   209,   210,     0,     0,     0,     0,   211,     0,
++     212,     0,     0,     0,   213,     0,   214,   215,   216,   217,
++       0,     0,     0,   218,     0,     0,   219,   220,   221,     0,
++       0,     0,   222,     0,   223,   224,     0,   225,   226,   227,
++       0,   228,   229,     0,   230,   231,   232,   233,   234,   235,
++       0,     0,   236,   237,   238,     0,     0,   239,   240,     0,
++     241,   242,   243,     0,     0,   244,     0,     0,     0,   245,
++       0,   246,     0,   247,     0,   248,   249,   250,   251,   252,
++     253,     0,   254,     0,     0,   255,   256,   257,     0,   258,
++       0,     0,     0,   259,   260,     0,     0,     0,   261,   262,
++     263,   264,     0,     0,   265,   266,   267,     0,   268,     0,
++     269,     0,     0,     0,     0,   270,   271,     0,     0,     0,
++     272,     0,   273,   274,     0,   275,   276,     0,     0,     0,
++     277,     0,     0,   278,   279,   280,     0,     0,   281,     0,
++       0,   282,   283,     0,     0,     0,     0,     0,   284,   285,
++       0,   286,     0,   287,     0,   288,   289,     0,     0,     0,
++       0,     0,     0,   290,   291,   292,   293,   294,   295,   296,
++     297,   298,   299,   300,   301,   302,     0,   303,   304,   305,
++       0,   306,   307,   308,   309,     0,   310,   311,     0,     0,
++       0,     0,   312,   313,   314,   315,   316,   317,     0,     0,
++     318,   319,     0,   320,     0,   321,     0,   322,   323,   324,
++     325,   326,   327,   328,   329,   330,   331,     0,     0,   332,
++     333,     0,     0,   334,   335,   336,   337,     0,     0,     0,
++     338,   339,     0,     0,     0,     0,   340,   341,   342,     0,
++     343,   344,   345,   346,     0,   347,   348,     0,     0,     0,
++       0,     0,     0,     0,     0,   349,   350,   351,     0,     0,
++     352,     0,   353,   354,   355,   356,   357,   358,   359,   360,
++     361,   362,   363,   364,     0,     0,   365,   366,   367,     0,
++     368,     0,   369,   370,   371,   372,   373,     0,   374,   375,
++     376,     0,     0,   377,     0,     0,     0,   378,   379,   380,
++     381,   382,     0,     0,   383,   384,   385,   386,   387,     0,
++     388,   389,     0,   390,   391,   392,     0,     0,   393,     0,
++     394,     0,   395,   396,     0,   397,   398,     0,     0,     0,
++     399,   400,   401,   402,   403,   404,   405,   406,   407,   408,
++       0,   409,   410,     0,     0,     0,   411,   412,   413,   414,
++       0,     0,     0,   415,     0,     0,     0,   416,     0,   417,
++     418,   419,   420,     0,   421,   422,   423,   424,   425,   426,
++       0,     0,     0,     0,     0,     0,   427,   428,     0,   429,
++       0,     0,   430,     0,     0,   431,   432,   433,     0,     0,
++     434,   435,     0,   436,   437,   438,   439,   440,   441,     0,
++       0,   442,   443,   444,   445,     0,   446,   447,     0,   448,
++       0,   449,   450,   451,   452,     0,   136,   453,   454,     0,
++     455,   456,   457,   458,     0,     0,     0,     0,     0,   459,
++     460,   461,     0,     0,     0,   462,   463,   464,   465,     0,
++     466,   467,     0,   468,   469,     0,   470,   471,     0,     0,
++     472,     0,     0,   473,     0,   474,     0,   475,   476,   477,
++       0,     0,     0,     0,     0,     0,   478,     0,     0,   479,
++       0,     0,     0,   480,   481,   482,   483,   484,   485,     0,
++       0,     0,     0,     0,     0,   486,   487,     0,   488,   489,
++     490,     0,   139,   491,   140,   141,   142,   143,   144,     0,
++       0,   145,     0,     0,     0,   146,     0,     0,   147,     0,
++     148,   149,   150,   151,   152,   153,   154,     0,   155,     0,
++       0,     0,   156,     0,     0,     0,   157,     0,     0,   158,
++     159,   160,     0,   161,     0,   162,   163,     0,     0,   164,
++       0,     0,   165,   166,     0,   167,   168,     0,   169,   170,
++       0,   171,   172,   173,   174,   175,   176,   177,     0,   178,
++     179,   180,   181,   182,   183,   184,   185,     0,   186,   187,
++     188,   189,   190,   191,   192,   193,     0,   194,   195,     0,
++     196,   197,   198,   199,   200,  4352,   201,     0,     0,   202,
++       0,     0,   203,     0,     0,     0,   204,     0,     0,     0,
++     205,   206,   207,     0,     0,   208,     0,     0,     0,     0,
++     209,   210,     0,     0,     0,     0,   211,     0,   212,     0,
++       0,     0,   213,     0,   214,   215,   216,   217,     0,     0,
++       0,   218,     0,     0,   219,   220,   221,     0,     0,     0,
++     222,     0,   223,   224,     0,   225,   226,   227,     0,   228,
++     229,     0,   230,   231,   232,   233,   234,   235,     0,  4353,
++     236,   237,   238,     0,     0,   239,   240,     0,   241,   242,
++     243,     0,     0,   244,     0,     0,     0,   245,     0,   246,
++       0,   247,     0,   248,   249,   250,   251,   252,   253,     0,
++     254,     0,     0,   255,   256,   257,     0,   258,     0,     0,
++       0,   259,   260,     0,     0,     0,   261,   262,   263,   264,
++       0,     0,   265,   266,   267,     0,   268,     0,   269,     0,
++       0,     0,     0,   270,   271,     0,     0,     0,   272,     0,
++     273,   274,     0,   275,   276,     0,     0,     0,   277,     0,
++       0,   278,   279,   280,     0,     0,   281,     0,     0,   282,
++     283,     0,     0,     0,     0,     0,   284,   285,     0,   286,
++       0,   287,     0,   288,   289,     0,     0,     0,     0,     0,
++       0,   290,   291,   292,   293,   294,   295,   296,   297,   298,
++     299,   300,   301,   302,     0,   303,   304,   305,     0,   306,
++     307,   308,   309,     0,   310,   311,     0,     0,     0,     0,
++     312,   313,   314,   315,   316,   317,     0,     0,   318,   319,
++       0,   320,     0,   321,     0,   322,   323,   324,   325,   326,
++     327,   328,   329,   330,   331,     0,     0,   332,   333,     0,
++       0,   334,   335,   336,   337,     0,     0,     0,   338,   339,
++       0,     0,     0,     0,   340,   341,   342,     0,   343,   344,
++     345,   346,     0,   347,   348,     0,     0,     0,     0,     0,
++       0,     0,     0,   349,   350,   351,     0,     0,   352,     0,
++     353,   354,   355,   356,   357,   358,   359,   360,   361,   362,
++     363,   364,     0,     0,   365,   366,   367,     0,   368,     0,
++     369,   370,   371,   372,   373,     0,   374,   375,   376,     0,
++       0,   377,     0,     0,     0,   378,   379,   380,   381,   382,
++       0,     0,   383,   384,   385,   386,   387,     0,   388,   389,
++       0,   390,   391,   392,     0,     0,   393,     0,   394,     0,
++     395,   396,     0,   397,   398,     0,     0,     0,   399,   400,
++     401,   402,   403,   404,   405,   406,   407,   408,     0,   409,
++     410,     0,     0,     0,   411,   412,   413,   414,     0,     0,
++       0,   415,     0,     0,     0,   416,     0,   417,   418,   419,
++     420,     0,   421,   422,   423,   424,   425,   426,     0,     0,
++       0,     0,     0,     0,   427,   428,     0,   429,     0,     0,
++     430,     0,     0,   431,   432,   433,     0,     0,   434,   435,
++       0,   436,   437,   438,   439,   440,   441,     0,     0,   442,
++     443,   444,   445,     0,   446,   447,     0,   448,     0,   449,
++     450,   451,   452,     0,     0,   453,   454,     0,   455,   456,
++     457,   458,     0,     0,     0,     0,     0,   459,   460,   461,
++       0,     0,     0,   462,   463,   464,   465,     0,   466,   467,
++       0,   468,   469,     0,   470,   471,     0,     0,   472,     0,
++       0,   473,     0,   474,     0,   475,   476,   477,     0,     0,
++       0,     0,     0,     0,   478,     0,     0,   479,     0,     0,
++       0,   480,   481,   482,   483,   484,   485,     0,     0,     0,
++       0,     0,     0,   486,   487,     0,   488,   489,   490,     0,
++     139,   491,   140,   141,   142,   143,   144,     0,     0,   145,
++       0,     0,     0,   146,     0,     0,   147,     0,   148,   149,
++     150,   151,   152,   153,   154,     0,   155,     0,     0,     0,
++     156,     0,     0,     0,   157,     0,     0,   158,   159,   160,
++       0,   161,     0,   162,   163,     0,     0,   164,     0,     0,
++     165,   166,     0,   167,   168,     0,   169,   170,     0,   171,
++     172,   173,   174,   175,   176,   177,     0,   178,   179,   180,
++     181,   182,   183,   184,   185,     0,   186,   187,   188,   189,
++     190,   191,   192,   193,     0,   194,   195,     0,   196,   197,
++     198,   199,   200,     0,   201,     0,     0,   202,     0,     0,
++     203,     0,     0,     0,   204,     0,     0,     0,   205,   206,
++     207,     0,     0,   208,     0,     0,     0,     0,   209,   210,
++       0,     0,     0,     0,   211,     0,   212,     0,     0,     0,
++     213,     0,   214,   215,   216,   217,     0,     0,     0,   218,
++       0,     0,   219,   220,   221,     0,     0,     0,   222,     0,
++     223,   224,     0,   225,   226,   227,     0,   228,   229,     0,
++     230,   231,   232,   233,   234,   235,     0,     0,   236,   237,
++     238,     0,     0,   239,   240,     0,   241,   242,   243,     0,
++       0,   244,     0,     0,     0,   245,     0,   246,     0,   247,
++       0,   248,   249,   250,   251,   252,   253,     0,   254,     0,
++       0,   255,   256,   257,     0,   258,     0,     0,     0,   259,
++     260,     0,     0,     0,   261,   262,   263,   264,     0,     0,
++     265,   266,   267,     0,   268,     0,   269,     0,     0,     0,
++       0,   270,   271,     0,     0,     0,   272,     0,   273,   274,
++       0,   275,   276,     0,     0,     0,   277,     0,     0,   278,
++     279,   280,     0,     0,   281,     0,     0,   282,   283,     0,
++       0,     0,     0,     0,   284,   285,     0,   286,     0,   287,
++       0,   288,   289,     0,     0,     0,     0,     0,     0,   290,
++     291,   292,   293,   294,   295,   296,   297,   298,   299,   300,
++     301,   302,     0,   303,   304,   305,     0,   306,   307,   308,
++     309,     0,   310,   311,     0,     0,     0,     0,   312,   313,
++     314,   315,   316,   317,     0,     0,   318,   319,     0,   320,
++       0,   321,     0,   322,   323,   324,   325,   326,   327,   328,
++     329,   330,   331,     0,     0,   332,   333,     0,     0,   334,
++     335,   336,   337,     0,     0,     0,   338,   339,     0,     0,
++       0,     0,   340,   341,   342,     0,   343,   344,   345,   346,
++       0,   347,   348,     0,     0,     0,     0,     0,     0,     0,
++       0,   349,   350,   351,     0,     0,   352,     0,   353,   354,
++     355,   356,   357,   358,   359,   360,   361,   362,   363,   364,
++       0,     0,   365,   366,   367,     0,   368,     0,   369,   370,
++     371,   372,   373,     0,   374,   375,   376,     0,     0,   377,
++       0,     0,     0,   378,   379,   380,   381,   382,     0,     0,
++     383,   384,   385,   386,   387,     0,   388,   389,     0,   390,
++     391,   392,     0,     0,   393,     0,   394,     0,   395,   396,
++       0,   397,   398,     0,     0,     0,   399,   400,   401,   402,
++     403,   404,   405,   406,   407,   408,     0,   409,   410,     0,
++       0,     0,   411,   412,   413,   414,     0,     0,     0,   415,
++       0,     0,     0,   416,     0,   417,   418,   419,   420,     0,
++     421,   422,   423,   424,   425,   426,     0,     0,     0,   564,
++       0,     0,   427,   428,     0,   429,     0,     0,   430,     0,
++       0,   431,   432,   433,     0,     0,   434,   435,     0,   436,
++     437,   438,   439,   440,   441,     0,     0,   442,   443,   444,
++     445,     0,   446,   447,     0,   448,     0,   449,   450,   451,
++     452,     0,     0,   453,   454,     0,   455,   456,   457,   458,
++       0,     0,     0,     0,     0,   459,   460,   461,     0,     0,
++       0,   462,   463,   464,   465,     0,   466,   467,     0,   468,
++     469,     0,   470,   471,     0,     0,   472,     0,     0,   473,
++       0,   474,     0,   475,   476,   477,     0,     0,     0,     0,
++       0,     0,   478,     0,     0,   479,     0,     0,     0,   480,
++     481,   482,   483,   484,   485,     0,     0,     0,     0,     0,
++       0,   486,   487,     0,   488,   489,   490,     0,   139,   491,
++     140,   141,   142,   143,   144,     0,     0,   145,     0,     0,
++       0,   146,     0,     0,   147,     0,   148,   149,   150,   151,
++     152,   153,   154,     0,   155,     0,     0,     0,   156,     0,
++       0,     0,   157,     0,     0,   158,   159,   160,     0,   161,
++       0,   162,   163,     0,     0,   164,     0,     0,   165,   166,
++       0,   167,   168,     0,   169,   170,     0,   171,   172,   173,
++     174,   175,   176,   177,     0,   178,   179,   180,   181,   182,
++     183,   184,   185,     0,   186,   187,   188,   189,   190,   191,
++     192,   193,     0,   194,   195,     0,   196,   197,   198,   199,
++     200,     0,   201,     0,     0,   202,     0,     0,   203,     0,
++       0,     0,   204,     0,     0,     0,   205,   206,   207,     0,
++       0,   208,     0,     0,     0,     0,   209,   210,     0,     0,
++       0,     0,   211,     0,   212,     0,     0,     0,   213,     0,
++     214,   215,   216,   217,     0,     0,     0,   218,     0,     0,
++     219,   220,   221,     0,     0,     0,   222,     0,   223,   224,
++       0,   225,   226,   227,     0,   228,   229,     0,   230,   231,
++     232,   233,   234,   235,     0,     0,   236,   237,   238,     0,
++       0,   239,   240,     0,   241,   242,   243,     0,     0,   244,
++       0,     0,     0,   245,  1074,   246,     0,   247,     0,   248,
++     249,   250,   251,   252,   253,     0,   254,     0,     0,   255,
++     256,   257,     0,   258,     0,     0,     0,   259,   260,     0,
++       0,     0,   261,   262,   263,   264,     0,     0,   265,   266,
++     267,     0,   268,     0,   269,     0,     0,     0,     0,   270,
++     271,     0,     0,     0,   272,     0,   273,   274,     0,   275,
++     276,     0,     0,     0,   277,     0,     0,   278,   279,   280,
++       0,     0,   281,     0,     0,   282,   283,     0,     0,     0,
++       0,     0,   284,   285,     0,   286,     0,   287,     0,   288,
++     289,     0,     0,     0,     0,     0,     0,   290,   291,   292,
++     293,   294,   295,   296,   297,   298,   299,   300,   301,   302,
++       0,   303,   304,   305,     0,   306,   307,   308,   309,     0,
++     310,   311,     0,     0,     0,     0,   312,   313,   314,   315,
++     316,   317,     0,     0,   318,   319,     0,   320,     0,   321,
++       0,   322,   323,   324,   325,   326,   327,   328,   329,   330,
++     331,     0,     0,   332,   333,     0,     0,   334,   335,   336,
++     337,     0,     0,     0,   338,   339,     0,     0,     0,     0,
++     340,   341,   342,     0,   343,   344,   345,   346,     0,   347,
++     348,     0,     0,     0,     0,     0,     0,     0,     0,   349,
++     350,   351,     0,     0,   352,     0,   353,   354,   355,   356,
++     357,   358,   359,   360,   361,   362,   363,   364,     0,     0,
++     365,   366,   367,     0,   368,     0,   369,   370,   371,   372,
++     373,     0,   374,   375,   376,     0,     0,   377,     0,     0,
++       0,   378,   379,   380,   381,   382,     0,     0,   383,   384,
++     385,   386,   387,     0,   388,   389,     0,   390,   391,   392,
++       0,     0,   393,     0,   394,     0,   395,   396,     0,   397,
++     398,     0,     0,     0,   399,   400,   401,   402,   403,   404,
++     405,   406,   407,   408,     0,   409,   410,     0,     0,     0,
++     411,   412,   413,   414,     0,     0,     0,   415,     0,     0,
++       0,   416,     0,   417,   418,   419,   420,     0,   421,   422,
++     423,   424,   425,   426,     0,     0,     0,     0,     0,     0,
++     427,   428,     0,   429,     0,     0,   430,     0,     0,   431,
++     432,   433,     0,     0,   434,   435,     0,   436,   437,   438,
++     439,   440,   441,     0,     0,   442,   443,   444,   445,     0,
++     446,   447,     0,   448,     0,   449,   450,   451,   452,     0,
++       0,   453,   454,     0,   455,   456,   457,   458,     0,     0,
++       0,     0,     0,   459,   460,   461,     0,     0,     0,   462,
++     463,   464,   465,     0,   466,   467,     0,   468,   469,     0,
++     470,   471,     0,     0,   472,     0,     0,   473,     0,   474,
++       0,   475,   476,   477,     0,     0,     0,     0,     0,     0,
++     478,     0,     0,   479,     0,     0,     0,   480,   481,   482,
++     483,   484,   485,     0,     0,     0,     0,     0,     0,   486,
++     487,     0,   488,   489,   490,     0,   139,   491,   140,   141,
++     142,   143,   144,     0,     0,   145,     0,     0,     0,   146,
++       0,     0,   147,     0,   148,   149,   150,   151,   152,   153,
++     154,     0,   155,     0,     0,     0,   156,     0,     0,     0,
++     157,     0,     0,   158,   159,   160,     0,   161,     0,   162,
++     163,     0,     0,   164,     0,     0,   165,   166,     0,   167,
++     168,     0,   169,   170,     0,   171,   172,   173,   174,   175,
++     176,   177,     0,   178,   179,   180,   181,   182,   183,   184,
++     185,     0,   186,   187,   188,   189,   190,   191,   192,   193,
++       0,   194,   195,     0,   196,   197,   198,   199,   200,     0,
++     201,     0,     0,   202,     0,     0,   203,     0,     0,     0,
++     204,     0,     0,     0,   205,   206,   207,     0,     0,   208,
++       0,     0,     0,     0,   209,   210,     0,     0,     0,  2031,
++     211,     0,   212,     0,     0,     0,   213,     0,   214,   215,
++     216,   217,     0,     0,     0,   218,     0,     0,   219,   220,
++     221,     0,     0,     0,   222,     0,   223,   224,     0,   225,
++     226,   227,     0,   228,   229,     0,   230,   231,   232,   233,
++     234,   235,     0,     0,   236,   237,   238,     0,     0,   239,
++     240,     0,   241,   242,   243,     0,     0,   244,     0,     0,
++       0,   245,     0,   246,     0,   247,     0,   248,   249,   250,
++     251,   252,   253,     0,   254,     0,     0,   255,   256,   257,
++       0,   258,     0,     0,     0,   259,   260,     0,     0,     0,
++     261,   262,   263,   264,     0,     0,   265,   266,   267,     0,
++     268,     0,   269,     0,     0,     0,     0,   270,   271,     0,
++       0,     0,   272,     0,   273,   274,     0,   275,   276,     0,
++       0,     0,   277,     0,     0,   278,   279,   280,     0,     0,
++     281,     0,     0,   282,   283,     0,     0,     0,     0,     0,
++     284,   285,     0,   286,     0,   287,     0,   288,   289,     0,
++       0,     0,     0,     0,     0,   290,   291,   292,   293,   294,
++     295,   296,   297,   298,   299,   300,   301,   302,     0,   303,
++     304,   305,     0,   306,   307,   308,   309,     0,   310,   311,
++       0,     0,     0,     0,   312,   313,   314,   315,   316,   317,
++       0,     0,   318,   319,     0,   320,     0,   321,     0,   322,
++     323,   324,   325,   326,   327,   328,   329,   330,   331,     0,
++       0,   332,   333,     0,     0,   334,   335,   336,   337,     0,
++       0,     0,   338,   339,     0,     0,     0,     0,   340,   341,
++     342,     0,   343,   344,   345,   346,     0,   347,   348,     0,
++       0,     0,     0,     0,     0,     0,     0,   349,   350,   351,
++       0,     0,   352,     0,   353,   354,   355,   356,   357,   358,
++     359,   360,   361,   362,   363,   364,     0,     0,   365,   366,
++     367,     0,   368,     0,   369,   370,   371,   372,   373,     0,
++     374,   375,   376,     0,     0,   377,     0,     0,     0,   378,
++     379,   380,   381,   382,     0,     0,   383,   384,   385,   386,
++     387,     0,   388,   389,     0,   390,   391,   392,     0,     0,
++     393,     0,   394,     0,   395,   396,     0,   397,   398,     0,
++       0,     0,   399,   400,   401,   402,   403,   404,   405,   406,
++     407,   408,     0,   409,   410,     0,     0,     0,   411,   412,
++     413,   414,     0,     0,     0,   415,     0,     0,     0,   416,
++       0,   417,   418,   419,   420,     0,   421,   422,   423,   424,
++     425,   426,     0,     0,     0,     0,     0,     0,   427,   428,
++       0,   429,     0,     0,   430,     0,     0,   431,   432,   433,
++       0,     0,   434,   435,     0,   436,   437,   438,   439,   440,
++     441,     0,     0,   442,   443,   444,   445,     0,   446,   447,
++       0,   448,     0,   449,   450,   451,   452,     0,     0,   453,
++     454,     0,   455,   456,   457,   458,     0,     0,     0,     0,
++       0,   459,   460,   461,     0,     0,     0,   462,   463,   464,
++     465,     0,   466,   467,     0,   468,   469,     0,   470,   471,
++       0,     0,   472,     0,     0,   473,     0,   474,     0,   475,
++     476,   477,     0,     0,     0,     0,     0,     0,   478,     0,
++       0,   479,     0,     0,     0,   480,   481,   482,   483,   484,
++     485,     0,     0,     0,     0,     0,     0,   486,   487,     0,
++     488,   489,   490,     0,   139,   491,   140,   141,   142,   143,
++     144,     0,     0,   145,     0,     0,     0,   146,     0,     0,
++     147,     0,   148,   149,   150,   151,   152,   153,   154,     0,
++     155,     0,     0,     0,   156,     0,     0,     0,   157,     0,
++       0,   158,   159,   160,     0,   161,     0,   162,   163,     0,
++       0,   164,     0,     0,   165,   166,     0,   167,   168,     0,
++     169,   170,     0,   171,   172,   173,   174,   175,   176,   177,
++       0,   178,   179,   180,   181,   182,   183,   184,   185,     0,
++     186,   187,   188,   189,   190,   191,   192,   193,     0,   194,
++     195,     0,   196,   197,   198,   199,   200,     0,   201,     0,
++       0,   202,     0,     0,   203,     0,     0,     0,   204,     0,
++       0,     0,   205,   206,   207,     0,     0,   208,     0,     0,
++       0,     0,   209,   210,     0,     0,     0,  2367,   211,     0,
++     212,     0,     0,     0,   213,     0,   214,   215,   216,   217,
++       0,     0,     0,   218,     0,     0,   219,   220,   221,     0,
++       0,     0,   222,     0,   223,   224,     0,   225,   226,   227,
++       0,   228,   229,     0,   230,   231,   232,   233,   234,   235,
++       0,     0,   236,   237,   238,     0,     0,   239,   240,     0,
++     241,   242,   243,     0,     0,   244,     0,     0,     0,   245,
++       0,   246,     0,   247,     0,   248,   249,   250,   251,   252,
++     253,     0,   254,     0,     0,   255,   256,   257,     0,   258,
++       0,     0,     0,   259,   260,     0,     0,     0,   261,   262,
++     263,   264,     0,     0,   265,   266,   267,     0,   268,     0,
++     269,     0,     0,     0,     0,   270,   271,     0,     0,     0,
++     272,     0,   273,   274,     0,   275,   276,     0,     0,     0,
++     277,     0,     0,   278,   279,   280,     0,     0,   281,     0,
++       0,   282,   283,     0,     0,     0,     0,     0,   284,   285,
++       0,   286,     0,   287,     0,   288,   289,     0,     0,     0,
++       0,     0,     0,   290,   291,   292,   293,   294,   295,   296,
++     297,   298,   299,   300,   301,   302,     0,   303,   304,   305,
++       0,   306,   307,   308,   309,     0,   310,   311,     0,     0,
++       0,     0,   312,   313,   314,   315,   316,   317,     0,     0,
++     318,   319,     0,   320,     0,   321,     0,   322,   323,   324,
++     325,   326,   327,   328,   329,   330,   331,     0,     0,   332,
++     333,     0,     0,   334,   335,   336,   337,     0,     0,     0,
++     338,   339,     0,     0,     0,     0,   340,   341,   342,     0,
++     343,   344,   345,   346,     0,   347,   348,     0,     0,     0,
++       0,     0,     0,     0,     0,   349,   350,   351,     0,     0,
++     352,     0,   353,   354,   355,   356,   357,   358,   359,   360,
++     361,   362,   363,   364,     0,     0,   365,   366,   367,     0,
++     368,     0,   369,   370,   371,   372,   373,     0,   374,   375,
++     376,     0,     0,   377,     0,     0,     0,   378,   379,   380,
++     381,   382,     0,     0,   383,   384,   385,   386,   387,     0,
++     388,   389,     0,   390,   391,   392,     0,     0,   393,     0,
++     394,     0,   395,   396,     0,   397,   398,     0,     0,     0,
++     399,   400,   401,   402,   403,   404,   405,   406,   407,   408,
++       0,   409,   410,     0,     0,     0,   411,   412,   413,   414,
++       0,     0,     0,   415,     0,     0,     0,   416,     0,   417,
++     418,   419,   420,     0,   421,   422,   423,   424,   425,   426,
++       0,     0,     0,     0,     0,     0,   427,   428,     0,   429,
++       0,     0,   430,     0,     0,   431,   432,   433,     0,     0,
++     434,   435,     0,   436,   437,   438,   439,   440,   441,     0,
++       0,   442,   443,   444,   445,     0,   446,   447,     0,   448,
++       0,   449,   450,   451,   452,     0,     0,   453,   454,     0,
++     455,   456,   457,   458,     0,     0,     0,     0,     0,  2368,
++     460,   461,     0,     0,     0,   462,   463,   464,   465,     0,
++     466,   467,     0,   468,   469,     0,   470,   471,     0,     0,
++     472,     0,     0,   473,     0,   474,     0,   475,   476,   477,
++       0,     0,     0,     0,     0,     0,   478,     0,     0,   479,
++       0,     0,     0,   480,   481,   482,   483,   484,   485,     0,
++       0,     0,     0,     0,     0,   486,   487,     0,   488,   489,
++     490,     0,   139,   491,   140,   141,   142,   143,   144,  2894,
++       0,   145,     0,     0,     0,   146,     0,     0,   147,     0,
++     148,   149,   150,   151,   152,   153,   154,     0,   155,     0,
++       0,     0,   156,     0,     0,     0,   157,     0,     0,   158,
++     159,   160,     0,   161,     0,   162,   163,     0,     0,   164,
++       0,     0,   165,   166,     0,   167,   168,     0,   169,   170,
++       0,   171,   172,   173,   174,   175,   176,   177,     0,   178,
++     179,   180,   181,   182,   183,   184,   185,     0,   186,   187,
++     188,   189,   190,   191,   192,   193,     0,   194,   195,     0,
++     196,   197,   198,   199,   200,     0,   201,     0,     0,   202,
++       0,     0,   203,     0,     0,     0,   204,     0,     0,     0,
++     205,   206,   207,     0,     0,   208,     0,     0,     0,     0,
++     209,   210,     0,     0,     0,     0,   211,     0,   212,     0,
++       0,     0,   213,     0,   214,   215,   216,   217,     0,     0,
++       0,   218,     0,     0,   219,   220,   221,     0,     0,     0,
++     222,     0,   223,   224,     0,   225,   226,   227,     0,   228,
++     229,     0,   230,   231,   232,   233,   234,   235,     0,     0,
++     236,   237,   238,     0,     0,   239,   240,     0,   241,   242,
++     243,     0,     0,   244,     0,     0,     0,   245,     0,   246,
++       0,   247,     0,   248,   249,   250,   251,   252,   253,     0,
++     254,     0,     0,   255,   256,   257,     0,   258,     0,     0,
++       0,   259,   260,     0,     0,     0,   261,   262,   263,   264,
++       0,     0,   265,   266,   267,     0,   268,     0,   269,     0,
++       0,     0,     0,   270,   271,     0,     0,     0,   272,     0,
++     273,   274,     0,   275,   276,     0,     0,     0,   277,     0,
++       0,   278,   279,   280,     0,     0,   281,     0,     0,   282,
++     283,     0,     0,     0,     0,     0,   284,   285,     0,   286,
++       0,   287,     0,   288,   289,     0,     0,     0,     0,     0,
++       0,   290,   291,   292,   293,   294,   295,   296,   297,   298,
++     299,   300,   301,   302,     0,   303,   304,   305,     0,   306,
++     307,   308,   309,     0,   310,   311,     0,     0,     0,     0,
++     312,   313,   314,   315,   316,   317,     0,     0,   318,   319,
++       0,   320,     0,   321,     0,   322,   323,   324,   325,   326,
++     327,   328,   329,   330,   331,     0,     0,   332,   333,     0,
++       0,   334,   335,   336,   337,     0,     0,     0,   338,   339,
++       0,     0,     0,     0,   340,   341,   342,     0,   343,   344,
++     345,   346,     0,   347,   348,     0,     0,     0,     0,     0,
++       0,     0,     0,   349,   350,   351,     0,     0,   352,     0,
++     353,   354,   355,   356,   357,   358,   359,   360,   361,   362,
++     363,   364,     0,     0,   365,   366,   367,     0,   368,     0,
++     369,   370,   371,   372,   373,     0,   374,   375,   376,     0,
++       0,   377,     0,     0,     0,   378,   379,   380,   381,   382,
++       0,     0,   383,   384,   385,   386,   387,     0,   388,   389,
++       0,   390,   391,   392,     0,     0,   393,     0,   394,     0,
++     395,   396,     0,   397,   398,     0,     0,     0,   399,   400,
++     401,   402,   403,   404,   405,   406,   407,   408,     0,   409,
++     410,     0,     0,     0,   411,   412,   413,   414,     0,     0,
++       0,   415,     0,     0,     0,   416,     0,   417,   418,   419,
++     420,     0,   421,   422,   423,   424,   425,   426,     0,     0,
++       0,     0,     0,     0,   427,   428,     0,   429,     0,     0,
++     430,     0,     0,   431,   432,   433,     0,     0,   434,   435,
++       0,   436,   437,   438,   439,   440,   441,     0,     0,   442,
++     443,   444,   445,     0,   446,   447,     0,   448,     0,   449,
++     450,   451,   452,     0,     0,   453,   454,     0,   455,   456,
++     457,   458,     0,     0,     0,     0,     0,   459,   460,   461,
++       0,     0,     0,   462,   463,   464,   465,     0,   466,   467,
++       0,   468,   469,     0,   470,   471,     0,     0,   472,     0,
++       0,   473,     0,   474,     0,   475,   476,   477,     0,     0,
++       0,     0,     0,     0,   478,     0,     0,   479,     0,     0,
++       0,   480,   481,   482,   483,   484,   485,     0,     0,     0,
++       0,     0,     0,   486,   487,     0,   488,   489,   490,     0,
++     139,   491,   140,   141,   142,   143,   144,     0,     0,   145,
++       0,     0,     0,   146,     0,     0,   147,     0,   148,   149,
++     150,   151,   152,   153,   154,     0,   155,     0,     0,     0,
++     156,     0,     0,     0,   157,     0,     0,   158,   159,   160,
++       0,   161,     0,   162,   163,     0,     0,   164,     0,     0,
++     165,   166,     0,   167,   168,     0,   169,   170,     0,   171,
++     172,   173,   174,   175,   176,   177,     0,   178,   179,   180,
++     181,   182,   183,   184,   185,     0,   186,   187,   188,   189,
++     190,   191,   192,   193,     0,   194,   195,     0,   196,   197,
++     198,   199,   200,     0,   201,     0,     0,   202,     0,     0,
++     203,     0,     0,     0,   204,     0,     0,     0,   205,   206,
++     207,     0,     0,   208,     0,     0,     0,     0,   209,   210,
++       0,     0,     0,     0,   211,     0,   212,     0,     0,     0,
++     213,     0,   214,   215,   216,   217,     0,     0,     0,   218,
++       0,     0,   219,   220,   221,     0,     0,     0,   222,     0,
++     223,   224,     0,   225,   226,   227,     0,   228,   229,     0,
++     230,   231,   232,   233,   234,   235,     0,     0,   236,   237,
++     238,     0,     0,   239,   240,     0,   241,   242,   243,     0,
++       0,   244,     0,     0,     0,   245,     0,   246,     0,   247,
++       0,   248,   249,   250,   251,   252,   253,     0,   254,     0,
++       0,   255,   256,   257,     0,   258,     0,     0,     0,   259,
++     260,     0,     0,     0,   261,   262,   263,   264,     0,     0,
++     265,   266,   267,     0,   268,     0,   269,     0,     0,     0,
++       0,   270,   271,     0,     0,     0,   272,     0,   273,   274,
++       0,   275,   276,     0,     0,     0,   277,     0,     0,   278,
++     279,   280,     0,     0,   281,     0,     0,   282,   283,     0,
++       0,     0,     0,     0,   284,   285,     0,   286,     0,   287,
++       0,   288,   289,     0,     0,     0,     0,     0,     0,   290,
++     291,   292,   293,   294,   295,   296,   297,   298,   299,   300,
++     301,   302,     0,   303,   304,   305,     0,   306,   307,   308,
++     309,     0,   310,   311,     0,     0,     0,     0,   312,   313,
++     314,   315,   316,   317,     0,     0,   318,   319,     0,   320,
++       0,   321,     0,   322,   323,   324,   325,   326,   327,   328,
++     329,   330,   331,     0,     0,   332,   333,     0,     0,   334,
++     335,   336,   337,     0,     0,     0,   338,   339,     0,     0,
++       0,     0,   340,   341,   342,     0,   343,   344,   345,   346,
++       0,   347,   348,     0,     0,     0,     0,     0,     0,     0,
++       0,   349,   350,   351,     0,     0,   352,     0,   353,   354,
++     355,   356,   357,   358,   359,   360,   361,   362,   363,   364,
++       0,     0,   365,   366,   367,  2981,   368,     0,   369,   370,
++     371,   372,   373,     0,   374,   375,   376,     0,     0,   377,
++       0,     0,     0,   378,   379,   380,   381,   382,     0,     0,
++     383,   384,   385,   386,   387,     0,   388,   389,     0,   390,
++     391,   392,     0,     0,   393,     0,   394,     0,   395,   396,
++       0,   397,   398,     0,     0,     0,   399,   400,   401,   402,
++     403,   404,   405,   406,   407,   408,     0,   409,   410,     0,
++       0,     0,   411,   412,   413,   414,     0,     0,     0,   415,
++       0,     0,     0,   416,     0,   417,   418,   419,   420,     0,
++     421,   422,   423,   424,   425,   426,     0,     0,     0,     0,
++       0,     0,   427,   428,     0,   429,     0,     0,   430,     0,
++       0,   431,   432,   433,     0,     0,   434,   435,     0,   436,
++     437,   438,   439,   440,   441,     0,     0,   442,   443,   444,
++     445,     0,   446,   447,     0,   448,     0,   449,   450,   451,
++     452,     0,     0,   453,   454,     0,   455,   456,   457,   458,
++       0,     0,     0,     0,     0,   459,   460,   461,     0,     0,
++       0,   462,   463,   464,   465,     0,   466,   467,     0,   468,
++     469,     0,   470,   471,     0,     0,   472,     0,     0,   473,
++       0,   474,     0,   475,   476,   477,     0,     0,     0,     0,
++       0,     0,   478,     0,     0,   479,     0,     0,     0,   480,
++     481,   482,   483,   484,   485,     0,     0,     0,     0,     0,
++       0,   486,   487,     0,   488,   489,   490,     0,   139,   491,
++     140,   141,   142,   143,   144,     0,     0,   145,     0,     0,
++       0,   146,     0,     0,   147,     0,   148,   149,   150,   151,
++     152,   153,   154,     0,   155,     0,     0,     0,   156,     0,
++       0,     0,   157,     0,     0,   158,   159,   160,     0,   161,
++       0,   162,   163,     0,     0,   164,     0,     0,   165,   166,
++       0,   167,   168,     0,   169,   170,     0,   171,   172,   173,
++     174,   175,   176,   177,     0,   178,   179,   180,   181,   182,
++     183,   184,   185,     0,   186,   187,   188,   189,   190,   191,
++     192,   193,     0,   194,   195,     0,   196,   197,   198,   199,
++     200,     0,   201,     0,     0,   202,     0,     0,   203,     0,
++       0,     0,   204,     0,     0,     0,   205,   206,   207,     0,
++       0,   208,     0,     0,     0,     0,   209,   210,     0,     0,
++       0,     0,   211,     0,   212,     0,     0,     0,   213,     0,
++     214,   215,   216,   217,     0,     0,     0,   218,     0,     0,
++     219,   220,   221,     0,     0,     0,   222,     0,   223,   224,
++       0,   225,   226,   227,     0,   228,   229,     0,   230,   231,
++     232,   233,   234,   235,     0,     0,   236,   237,   238,     0,
++       0,   239,   240,     0,   241,   242,   243,     0,     0,   244,
++       0,     0,     0,   245,     0,   246,     0,   247,     0,   248,
++     249,   250,   251,   252,   253,     0,   254,     0,     0,   255,
++     256,   257,     0,   258,     0,     0,     0,   259,   260,     0,
++       0,     0,   261,   262,   263,   264,     0,     0,   265,   266,
++     267,     0,   268,     0,   269,     0,     0,     0,     0,   270,
++     271,     0,     0,     0,   272,     0,   273,   274,     0,   275,
++     276,     0,     0,     0,   277,     0,     0,   278,   279,   280,
++       0,     0,   281,     0,     0,   282,   283,     0,     0,     0,
++       0,     0,   284,   285,     0,   286,     0,   287,     0,   288,
++     289,     0,     0,     0,     0,     0,     0,   290,   291,   292,
++     293,   294,   295,   296,   297,   298,   299,   300,   301,   302,
++       0,   303,   304,   305,     0,   306,   307,   308,   309,     0,
++     310,   311,     0,     0,     0,     0,   312,   313,   314,   315,
++     316,   317,     0,     0,   318,   319,     0,   320,     0,   321,
++       0,   322,   323,   324,   325,   326,   327,   328,   329,   330,
++     331,     0,     0,   332,   333,     0,     0,   334,   335,   336,
++     337,     0,     0,     0,   338,   339,     0,     0,     0,     0,
++     340,   341,   342,     0,   343,   344,   345,   346,     0,   347,
++     348,     0,     0,     0,     0,     0,     0,     0,     0,   349,
++     350,   351,     0,     0,   352,     0,   353,   354,   355,   356,
++     357,   358,   359,   360,   361,   362,   363,   364,     0,     0,
++     365,   366,   367,     0,   368,     0,   369,   370,   371,   372,
++     373,     0,   374,   375,   376,     0,     0,   377,     0,     0,
++       0,   378,   379,   380,   381,   382,     0,     0,   383,   384,
++     385,   386,   387,     0,   388,   389,     0,   390,   391,   392,
++       0,     0,   393,     0,   394,     0,   395,   396,     0,   397,
++     398,     0,     0,     0,   399,   400,   401,   402,   403,   404,
++     405,   406,   407,   408,     0,   409,   410,     0,     0,     0,
++     411,   412,   413,   414,     0,     0,     0,   415,     0,     0,
++       0,   416,     0,   417,   418,   419,   420,     0,   421,   422,
++     423,   424,   425,   426,     0,     0,     0,     0,     0,     0,
++     427,   428,     0,   429,     0,     0,   430,     0,     0,   431,
++     432,   433,     0,     0,   434,   435,     0,   436,   437,   438,
++     439,   440,   441,     0,     0,   442,   443,   444,   445,     0,
++     446,   447,     0,   448,     0,   449,   450,   451,   452,     0,
++     136,   453,   454,     0,   455,   456,   457,   458,     0,     0,
++       0,     0,     0,   459,   460,   461,     0,     0,     0,   462,
++     463,   464,   465,     0,   466,   467,     0,   468,   469,     0,
++     470,   471,     0,     0,   472,     0,     0,   473,     0,   474,
++       0,   475,   476,   477,     0,     0,     0,     0,     0,     0,
++     478,     0,     0,   479,     0,     0,     0,   480,   481,   482,
++     483,   484,   485,     0,     0,     0,     0,     0,     0,   486,
++     487,     0,   488,   489,   490,     0,   139,   491,   140,   141,
++     142,   143,   144,     0,     0,   145,     0,     0,     0,   146,
++       0,     0,   147,     0,   148,   149,   150,   151,   152,   153,
++     154,     0,   155,     0,     0,     0,   156,     0,     0,     0,
++     157,     0,     0,   158,   159,   160,     0,   161,     0,   162,
++     163,     0,     0,   164,     0,     0,   165,   166,     0,   167,
++     168,     0,   169,   170,     0,   171,   172,   173,   174,   175,
++     176,   177,     0,   178,   179,   180,   181,   182,   183,   184,
++     185,     0,   186,   187,   188,   189,   190,   191,   192,   193,
++       0,   194,   195,     0,   196,   197,   198,   199,   200,     0,
++     201,     0,     0,   202,     0,     0,   203,     0,     0,     0,
++     204,     0,     0,     0,   205,   206,   207,     0,     0,   208,
++       0,     0,     0,     0,   209,   210,     0,     0,     0,  2367,
++     211,     0,   212,     0,     0,     0,   213,     0,   214,   215,
++     216,   217,     0,     0,     0,   218,     0,     0,   219,   220,
++     221,     0,     0,     0,   222,     0,   223,   224,     0,   225,
++     226,   227,     0,   228,   229,     0,   230,   231,   232,   233,
++     234,   235,     0,     0,   236,   237,   238,     0,     0,   239,
++     240,     0,   241,   242,   243,     0,     0,   244,     0,     0,
++       0,   245,     0,   246,     0,   247,     0,   248,   249,   250,
++     251,   252,   253,     0,   254,     0,     0,   255,   256,   257,
++       0,   258,     0,     0,     0,   259,   260,     0,     0,     0,
++     261,   262,   263,   264,     0,     0,   265,   266,   267,     0,
++     268,     0,   269,     0,     0,     0,     0,   270,   271,     0,
++       0,     0,   272,     0,   273,   274,     0,   275,   276,     0,
++       0,     0,   277,     0,     0,   278,   279,   280,     0,     0,
++     281,     0,     0,   282,   283,     0,     0,     0,     0,     0,
++     284,   285,     0,   286,     0,   287,     0,   288,   289,     0,
++       0,     0,     0,     0,     0,   290,   291,   292,   293,   294,
++     295,   296,   297,   298,   299,   300,   301,   302,     0,   303,
++     304,   305,     0,   306,   307,   308,   309,     0,   310,   311,
++       0,     0,     0,     0,   312,   313,   314,   315,   316,   317,
++       0,     0,   318,   319,     0,   320,     0,   321,     0,   322,
++     323,   324,   325,   326,   327,   328,   329,   330,   331,     0,
++       0,   332,   333,     0,     0,   334,   335,   336,   337,     0,
++       0,     0,   338,   339,     0,     0,     0,     0,   340,   341,
++     342,     0,   343,   344,   345,   346,     0,   347,   348,     0,
++       0,     0,     0,     0,     0,     0,     0,   349,   350,   351,
++       0,     0,   352,     0,   353,   354,   355,   356,   357,   358,
++     359,   360,   361,   362,   363,   364,     0,     0,   365,   366,
++     367,     0,   368,     0,   369,   370,   371,   372,   373,     0,
++     374,   375,   376,     0,     0,   377,     0,     0,     0,   378,
++     379,   380,   381,   382,     0,     0,   383,   384,   385,   386,
++     387,     0,   388,   389,     0,   390,   391,   392,     0,     0,
++     393,     0,   394,     0,   395,   396,     0,   397,   398,     0,
++       0,     0,   399,   400,   401,   402,   403,   404,   405,   406,
++     407,   408,     0,   409,   410,     0,     0,     0,   411,   412,
++     413,   414,     0,     0,     0,   415,     0,     0,     0,   416,
++       0,   417,   418,   419,   420,     0,   421,   422,   423,   424,
++     425,   426,     0,     0,     0,     0,     0,     0,   427,   428,
++       0,   429,     0,     0,   430,     0,     0,   431,   432,   433,
++       0,     0,   434,   435,     0,   436,   437,   438,   439,   440,
++     441,     0,     0,   442,   443,   444,   445,     0,   446,   447,
++       0,   448,     0,   449,   450,   451,   452,     0,     0,   453,
++     454,     0,   455,   456,   457,   458,     0,     0,     0,     0,
++       0,   459,   460,   461,     0,     0,     0,   462,   463,   464,
++     465,     0,   466,   467,     0,   468,   469,     0,   470,   471,
++       0,     0,   472,     0,     0,   473,     0,   474,     0,   475,
++     476,   477,     0,     0,     0,     0,     0,     0,   478,     0,
++       0,   479,     0,     0,     0,   480,   481,   482,   483,   484,
++     485,     0,     0,     0,     0,     0,     0,   486,   487,     0,
++     488,   489,   490,     0,   139,   491,   140,   141,   142,   143,
++     144,     0,     0,   145,     0,     0,     0,   146,     0,     0,
++     147,     0,   148,   149,   150,   151,   152,   153,   154,     0,
++     155,     0,     0,     0,   156,     0,     0,     0,   157,     0,
++       0,   158,   159,   160,     0,   161,     0,   162,   163,     0,
++       0,   164,     0,     0,   165,   166,     0,   167,   168,     0,
++     169,   170,     0,   171,   172,   173,   174,   175,   176,   177,
++       0,   178,   179,   180,   181,   182,   183,   184,   185,     0,
++     186,   187,   188,   189,   190,   191,   192,   193,     0,   194,
++     195,     0,   196,   197,   198,   199,   200,     0,   201,     0,
++       0,   202,     0,     0,   203,     0,     0,     0,   204,     0,
++       0,     0,   205,   206,   207,     0,     0,   208,     0,     0,
++       0,     0,   209,   210,     0,     0,     0,     0,   211,     0,
++     212,     0,     0,     0,   213,     0,   214,   215,   216,   217,
++       0,     0,     0,   218,     0,     0,   219,   220,   221,     0,
++       0,     0,   222,     0,   223,   224,     0,   225,   226,   227,
++       0,   228,   229,     0,   230,   231,   232,   233,   234,   235,
++       0,     0,   236,   237,   238,     0,     0,   239,   240,     0,
++     241,   242,   243,     0,     0,   244,     0,     0,     0,   245,
++       0,   246,     0,   247,     0,   248,   249,   250,   251,   252,
++     253,     0,   254,     0,     0,   255,   256,   257,     0,   258,
++       0,     0,     0,   259,   260,     0,     0,     0,   261,   262,
++     263,   264,     0,     0,   265,   266,   267,     0,   268,     0,
++     269,     0,     0,     0,     0,   270,   271,     0,     0,     0,
++     272,     0,   273,   274,     0,   275,   276,     0,     0,     0,
++     277,     0,     0,   278,   279,   280,     0,     0,   281,     0,
++       0,   282,   283,     0,     0,     0,     0,     0,   284,   285,
++       0,   286,     0,   287,     0,   288,   289,     0,     0,     0,
++       0,     0,     0,   290,   291,   292,   293,   294,   295,   296,
++     297,   298,   299,   300,   301,   302,     0,   303,   304,   305,
++       0,   306,   307,   308,   309,     0,   310,   311,     0,     0,
++       0,     0,   312,   313,   314,   315,   316,   317,     0,     0,
++     318,   319,     0,   320,     0,   321,     0,   322,   323,   324,
++     325,   326,   327,   328,   329,   330,   331,     0,     0,   332,
++     333,     0,     0,   334,   335,   336,   337,     0,     0,     0,
++     338,   339,     0,     0,     0,     0,   340,   341,   342,     0,
++     343,   344,   345,   346,     0,   347,   348,     0,     0,     0,
++       0,     0,     0,     0,     0,   349,   350,   351,     0,     0,
++     352,     0,   353,   354,   355,   356,   357,   358,   359,   360,
++     361,   362,   363,   364,     0,     0,   365,   366,   367,     0,
++     368,     0,   369,   370,   371,   372,   373,     0,   374,   375,
++     376,     0,     0,   377,     0,     0,     0,   378,   379,   380,
++     381,   382,     0,     0,   383,   384,   385,   386,   387,     0,
++     388,   389,     0,   390,   391,   392,     0,     0,   393,     0,
++     394,     0,   395,   396,     0,   397,   398,     0,     0,     0,
++     399,   400,   401,   402,   403,   404,   405,   406,   407,   408,
++       0,   409,   410,     0,     0,     0,   411,   412,   413,   414,
++       0,     0,     0,   415,     0,     0,     0,   416,     0,   417,
++     418,   419,   420,     0,   421,   422,   423,   424,   425,   426,
++       0,     0,     0,     0,     0,     0,   427,   428,     0,   429,
++       0,     0,   430,     0,     0,   431,   432,   433,     0,     0,
++     434,   435,     0,   436,   437,   438,   439,   440,   441,     0,
++       0,   442,   443,   444,   445,     0,   446,   447,     0,   448,
++       0,   449,   450,   451,   452,     0,     0,   453,   454,     0,
++     455,   456,   457,   458,     0,     0,     0,     0,     0,   459,
++     460,   461,     0,     0,     0,   462,   463,   464,   465,     0,
++     466,   467,     0,   468,   469,     0,   470,   471,     0,     0,
++     472,     0,     0,   473,     0,   474,     0,   475,   476,   477,
++       0,     0,     0,     0,     0,     0,   478,     0,     0,   479,
++       0,     0,     0,   480,   481,   482,   483,   484,   485,     0,
++       0,     0,     0,     0,     0,   486,   487,     0,   488,   489,
++     490,     0,   139,   491,   140,   141,   142,   143,   144,     0,
++       0,   145,     0,     0,     0,   146,     0,     0,   147,     0,
++     148,   149,   150,   151,   152,   153,   154,     0,   155,     0,
++       0,     0,   156,     0,     0,     0,   157,     0,     0,   158,
++     159,   160,     0,   161,     0,   162,   163,     0,     0,   164,
++       0,     0,   165,   166,     0,   167,   168,     0,   169,   170,
++       0,   171,   172,   173,   174,   175,   176,   177,     0,   178,
++     179,   180,   181,   182,   183,   184,   185,     0,   186,   187,
++     188,   189,   190,   191,   192,   193,     0,   194,   195,     0,
++     196,   197,   198,   199,   200,     0,   201,     0,     0,   202,
++       0,     0,   203,     0,     0,     0,   204,     0,     0,     0,
++     205,   206,   207,     0,     0,   208,     0,     0,     0,     0,
++     209,   210,     0,     0,     0,     0,   211,     0,   212,     0,
++       0,     0,   213,     0,   214,   215,   216,   217,     0,     0,
++       0,   218,     0,     0,   219,   220,   221,     0,     0,     0,
++     222,     0,   223,   224,     0,   225,   226,   227,     0,   228,
++     229,     0,   230,   231,   232,   233,   234,   235,     0,     0,
++     236,   237,   238,     0,     0,   239,   240,     0,   241,  1781,
++     243,     0,     0,   244,     0,     0,     0,   245,     0,   246,
++       0,   247,     0,   248,   249,   250,   251,   252,   253,     0,
++     254,     0,     0,   255,   256,   257,     0,   258,     0,     0,
++       0,   259,   260,     0,     0,     0,   261,   262,   263,   264,
++       0,     0,   265,   266,   267,     0,   268,     0,   269,     0,
++       0,     0,     0,   270,   271,     0,     0,     0,   272,     0,
++     273,   274,     0,   275,   276,     0,     0,     0,   277,     0,
++       0,   278,   279,   280,     0,     0,   281,     0,     0,   282,
++     283,     0,     0,     0,     0,     0,   284,   285,     0,   286,
++       0,   287,     0,   288,   289,     0,     0,     0,     0,     0,
++       0,   290,   291,   292,   293,   294,   295,   296,   297,   298,
++     299,   300,   301,   302,     0,   303,   304,   305,     0,   306,
++     307,   308,   309,     0,   310,   311,     0,     0,     0,     0,
++     312,   313,   314,   315,   316,   317,     0,     0,   318,   319,
++       0,   320,     0,   321,     0,   322,   323,   324,   325,   326,
++     327,   328,   329,   330,   331,     0,     0,   332,   333,     0,
++       0,   334,  1782,   336,   337,     0,     0,     0,   338,   339,
++       0,     0,     0,     0,   340,   341,   342,     0,   343,   344,
++     345,   346,     0,   347,   348,     0,     0,     0,     0,     0,
++       0,     0,     0,   349,   350,   351,     0,     0,   352,     0,
++     353,   354,   355,   356,   357,   358,   359,   360,   361,   362,
++     363,   364,     0,     0,   365,   366,   367,     0,   368,     0,
++     369,   370,   371,   372,   373,     0,   374,   375,   376,     0,
++       0,   377,     0,     0,     0,   378,   379,   380,   381,   382,
++       0,     0,   383,   384,   385,   386,   387,     0,   388,   389,
++       0,   390,   391,   392,     0,     0,   393,     0,   394,     0,
++     395,   396,     0,   397,   398,     0,     0,     0,   399,   400,
++     401,   402,   403,   404,   405,   406,   407,   408,     0,   409,
++     410,     0,     0,     0,   411,   412,   413,   414,     0,     0,
++       0,   415,     0,     0,     0,   416,     0,   417,   418,   419,
++     420,     0,   421,   422,   423,   424,   425,   426,     0,     0,
++       0,     0,     0,     0,   427,   428,     0,   429,     0,     0,
++     430,     0,     0,   431,   432,   433,     0,     0,   434,   435,
++       0,   436,   437,   438,   439,   440,   441,     0,     0,   442,
++     443,   444,   445,     0,   446,   447,     0,   448,     0,   449,
++     450,   451,   452,     0,     0,   453,   454,     0,   455,   456,
++     457,   458,     0,     0,     0,     0,     0,   459,   460,   461,
++       0,     0,     0,   462,   463,   464,   465,     0,   466,   467,
++       0,   468,   469,     0,   470,   471,     0,     0,   472,     0,
++       0,   473,     0,   474,     0,   475,   476,   477,     0,     0,
++       0,     0,     0,     0,   478,     0,     0,   479,     0,     0,
++       0,   480,   481,   482,   483,   484,   485,     0,     0,     0,
++       0,     0,     0,   486,   487,     0,   488,   489,   490,     0,
++     139,   491,   140,   141,   142,   143,   144,     0,     0,   145,
++       0,     0,     0,   146,     0,     0,     0,     0,   148,   149,
++     150,   151,   152,   153,     0,     0,  -329,     0,     0,     0,
++     156,     0,     0,     0,   157,     0,     0,   158,   159,   160,
++       0,   161,     0,     0,     0,     0,     0,   164,  3902,     0,
++     165,   166,     0,   167,     0,     0,     0,     0,     0,   171,
++     172,   173,   174,  3903,   176,   177,     0,   178,   179,     0,
++       0,     0,     0,     0,     0,     0,   186,     0,   188,     0,
++     190,   191,   192,   193,     0,   194,   195,     0,   196,   197,
++     198,     0,   200,     0,   201,     0,     0,   202,     0,     0,
++     203,     0,     0,     0,   204,     0,     0,     0,   205,   206,
++     207,     0,     0,   208,     0,     0,     0,     0,   209,     0,
++       0,     0,     0,     0,   211,     0,   212,     0,     0,     0,
++     213,     0,   214,   215,   216,   217,     0,     0,     0,     0,
++       0,     0,   219,   220,   221,     0,  -299,  -299,   222,     0,
++    -299,   224,     0,   225,   226,   227,     0,   228,   229,     0,
++     230,   231,   232,   233,     0,     0,     0,     0,   236,   237,
++     238,     0,     0,   239,   240,  3904,   241,   242,   243,     0,
++       0,     0,     0,     0,     0,   245,     0,   246,     0,   247,
++       0,   248,   249,   250,   251,   252,   253,     0,   254,     0,
++       0,     0,   256,   257,     0,     0,     0,     0,     0,     0,
++     260,     0,     0,     0,   261,   262,   263,   264,  3905,     0,
++     265,   266,   267,     0,   268,     0,   269,     0,     0,     0,
++       0,   270,     0,     0,     0,     0,   272,     0,   273,   274,
++       0,   275,   276,  3906,     0,     0,   277,     0,     0,     0,
++     279,   280,     0,     0,   281,  3907,     0,   282,   283,     0,
++       0,     0,     0,     0,   284,   285,     0,   286,     0,   287,
++       0,   288,   289,     0,     0,     0,     0,  -284,     0,   290,
++     291,   292,   293,   294,   295,   296,   297,   298,   299,   300,
++     301,   302,     0,   303,   304,   305,     0,   306,   307,   308,
++     309,     0,   310,   311,     0,     0,     0,     0,   312,   313,
++     314,   315,   316,   317,     0,     0,   318,   319,     0,   320,
++       0,   321,     0,   322,   323,   324,   325,   326,   327,   328,
++     329,   330,   331,     0,     0,   332,   333,     0,     0,   334,
++     335,   336,   337,     0,     0,     0,     0,   339,     0,     0,
++       0,     0,   340,   341,   342,     0,   343,   344,   345,  3908,
++       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
++       0,     0,   350,   351,     0,     0,     0,     0,   353,   354,
++     355,     0,   357,   358,   359,   360,   361,   362,   363,     0,
++       0,     0,     0,   366,   367,     0,   368,     0,   369,   370,
++     371,   372,   373,     0,   374,   375,   376,     0,     0,   377,
++       0,     0,     0,   378,   379,   380,   381,   382,     0,     0,
++     383,   384,   385,   386,   387,     0,   388,     0,     0,   390,
++       0,   392,  -284,     0,   393,     0,     0,     0,   395,     0,
++       0,   397,   398,  3909,     0,     0,     0,   400,   401,   402,
++     403,   404,   405,     0,   407,   408,     0,   409,     0,     0,
++       0,     0,   411,   412,   413,     0,     0,     0,     0,   415,
++       0,     0,     0,   416,     0,     0,   418,     0,   420,     0,
++     421,     0,   423,     0,   425,   426,     0,     0,     0,     0,
++       0,     0,   427,   428,     0,   429,     0,     0,   430,     0,
++       0,   431,     0,   433,     0,     0,     0,   435,     0,   436,
++     437,   438,   439,   440,   441,     0,     0,   442,   443,   444,
++     445,     0,   446,   447,     0,   448,     0,   449,   450,   451,
++     452,     0,     0,   453,   454,     0,   455,   456,   457,   458,
++       0,     0,     0,     0,     0,   459,   460,   461,     0,     0,
++       0,     0,   463,   464,   465,     0,   466,   467,     0,   468,
++     469,     0,     0,     0,     0,     0,   472,     0,     0,   473,
++       0,     0,     0,   475,   476,   477,     0,     0,     0,     0,
++       0,     0,   478,     0,     0,   479,     0,     0,     0,   480,
++     481,   482,   483,   484,   485,     0,     0,  -284,     0,     0,
++       0,   486,     0,     0,   488,     0,   490,     0,   139,   491,
++     140,   141,   142,   143,   144,     0,     0,   145,     0,     0,
++       0,   146,     0,     0,     0,     0,   148,   149,   150,   151,
++     152,   153,     0,     0,  -329,     0,     0,     0,   156,     0,
++       0,     0,   157,     0,     0,   158,   159,   160,     0,   161,
++       0,     0,     0,     0,     0,   164,  3902,     0,   165,   166,
++       0,   167,     0,     0,     0,     0,     0,   171,   172,   173,
++     174,  3903,   176,   177,     0,   178,   179,     0,     0,     0,
++       0,     0,     0,     0,   186,     0,   188,     0,   190,   191,
++     192,   193,     0,   194,   195,     0,   196,   197,   198,     0,
++     200,     0,   201,     0,     0,   202,     0,     0,   203,     0,
++       0,     0,   204,     0,     0,     0,   205,   206,   207,     0,
++       0,   208,     0,     0,     0,     0,   209,     0,     0,     0,
++       0,     0,   211,     0,   212,     0,     0,     0,   213,     0,
++     214,   215,   216,   217,     0,     0,     0,     0,     0,     0,
++     219,   220,   221,     0,  -320,     0,   222,     0,  -320,   224,
++       0,   225,   226,   227,     0,   228,   229,     0,   230,   231,
++     232,   233,     0,     0,     0,     0,   236,   237,   238,     0,
++       0,   239,   240,  3904,   241,   242,   243,     0,     0,     0,
++       0,     0,     0,   245,     0,   246,     0,   247,     0,   248,
++     249,   250,   251,   252,   253,     0,   254,     0,     0,     0,
++     256,   257,     0,     0,     0,     0,     0,     0,   260,     0,
++       0,     0,   261,   262,   263,   264,  3905,     0,   265,   266,
++     267,     0,   268,     0,   269,     0,     0,     0,     0,   270,
++       0,     0,     0,     0,   272,     0,   273,   274,     0,   275,
++     276,  3906,     0,     0,   277,     0,     0,     0,   279,   280,
++       0,     0,   281,  3907,     0,   282,   283,     0,     0,     0,
++       0,     0,   284,   285,     0,   286,     0,   287,     0,   288,
++     289,     0,     0,     0,     0,  -284,     0,   290,   291,   292,
++     293,   294,   295,   296,   297,   298,   299,   300,   301,   302,
++       0,   303,   304,   305,     0,   306,   307,   308,   309,     0,
++     310,   311,     0,     0,     0,     0,   312,   313,   314,   315,
++     316,   317,     0,     0,   318,   319,     0,   320,     0,   321,
++       0,   322,   323,   324,   325,   326,   327,   328,   329,   330,
++     331,     0,     0,   332,   333,     0,     0,   334,   335,   336,
++     337,     0,     0,     0,     0,   339,     0,     0,     0,     0,
++     340,   341,   342,     0,   343,   344,   345,  3908,     0,     0,
++       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
++     350,   351,     0,     0,     0,     0,   353,   354,   355,     0,
++     357,   358,   359,   360,   361,   362,   363,     0,     0,     0,
++       0,   366,   367,     0,   368,     0,   369,   370,   371,   372,
++     373,     0,   374,   375,   376,     0,     0,   377,     0,     0,
++       0,   378,   379,   380,   381,   382,     0,     0,   383,   384,
++     385,   386,   387,     0,   388,     0,     0,   390,     0,   392,
++    -284,     0,   393,     0,     0,     0,   395,     0,     0,   397,
++     398,  3909,     0,     0,     0,   400,   401,   402,   403,   404,
++     405,     0,   407,   408,     0,   409,     0,     0,     0,     0,
++     411,   412,   413,     0,     0,     0,     0,   415,     0,     0,
++       0,   416,     0,     0,   418,     0,   420,     0,   421,     0,
++     423,     0,   425,   426,     0,     0,     0,     0,     0,     0,
++     427,   428,     0,   429,     0,     0,   430,     0,     0,   431,
++       0,   433,     0,     0,     0,   435,     0,   436,   437,   438,
++     439,   440,   441,     0,     0,   442,   443,   444,   445,     0,
++     446,   447,     0,   448,     0,   449,   450,   451,   452,     0,
++       0,   453,   454,     0,   455,   456,   457,   458,     0,     0,
++       0,     0,     0,   459,   460,   461,     0,     0,     0,     0,
++     463,   464,   465,     0,   466,   467,     0,   468,   469,     0,
++       0,     0,     0,     0,   472,     0,     0,   473,     0,     0,
++       0,   475,   476,   477,     0,     0,     0,     0,     0,     0,
++     478,     0,     0,   479,     0,     0,     0,   480,   481,   482,
++     483,   484,   485,  -320,     0,  -284,     0,     0,     0,   486,
++       0,     0,   488,     0,   490,     0,   139,   491,   140,   141,
++     142,   143,   144,     0,     0,   145,     0,     0,     0,   146,
++       0,     0,     0,     0,   148,   149,   150,   151,   152,   153,
++       0,     0,  -329,     0,     0,     0,   156,     0,     0,     0,
++     157,     0,     0,   158,   159,   160,     0,   161,     0,     0,
++       0,     0,     0,   164,  3902,     0,   165,   166,     0,   167,
++       0,     0,     0,     0,     0,   171,   172,   173,   174,  3903,
++     176,   177,     0,   178,   179,     0,     0,     0,     0,     0,
++       0,     0,   186,     0,   188,     0,   190,   191,   192,   193,
++       0,   194,   195,     0,   196,   197,   198,     0,   200,     0,
++     201,     0,     0,   202,     0,     0,   203,     0,     0,     0,
++     204,     0,     0,     0,   205,   206,   207,     0,     0,   208,
++       0,     0,     0,     0,   209,     0,     0,     0,     0,     0,
++     211,     0,   212,     0,     0,     0,   213,     0,   214,   215,
++     216,   217,     0,     0,     0,     0,     0,     0,   219,   220,
++     221,     0,  -317,     0,   222,     0,  -317,   224,     0,   225,
++     226,   227,     0,   228,   229,     0,   230,   231,   232,   233,
++       0,     0,     0,     0,   236,   237,   238,     0,     0,   239,
++     240,  3904,   241,   242,   243,     0,     0,     0,     0,     0,
++       0,   245,     0,   246,     0,   247,     0,   248,   249,   250,
++     251,   252,   253,     0,   254,     0,     0,     0,   256,   257,
++       0,     0,     0,     0,     0,     0,   260,     0,     0,     0,
++     261,   262,   263,   264,  3905,     0,   265,   266,   267,     0,
++     268,     0,   269,     0,     0,     0,     0,   270,     0,     0,
++       0,     0,   272,     0,   273,   274,     0,   275,   276,  3906,
++       0,     0,   277,     0,     0,     0,   279,   280,     0,     0,
++     281,  3907,     0,   282,   283,     0,     0,     0,     0,     0,
++     284,   285,     0,   286,     0,   287,     0,   288,   289,     0,
++       0,     0,     0,  -284,     0,   290,   291,   292,   293,   294,
++     295,   296,   297,   298,   299,   300,   301,   302,     0,   303,
++     304,   305,     0,   306,   307,   308,   309,     0,   310,   311,
++       0,     0,     0,     0,   312,   313,   314,   315,   316,   317,
++       0,     0,   318,   319,     0,   320,     0,   321,     0,   322,
++     323,   324,   325,   326,   327,   328,   329,   330,   331,     0,
++       0,   332,   333,     0,     0,   334,   335,   336,   337,     0,
++       0,     0,     0,   339,     0,     0,     0,     0,   340,   341,
++     342,     0,   343,   344,   345,  3908,     0,     0,     0,     0,
++       0,     0,     0,     0,     0,     0,     0,     0,   350,   351,
++       0,     0,     0,     0,   353,   354,   355,     0,   357,   358,
++     359,   360,   361,   362,   363,     0,     0,     0,     0,   366,
++     367,     0,   368,     0,   369,   370,   371,   372,   373,     0,
++     374,   375,   376,     0,     0,   377,     0,     0,     0,   378,
++     379,   380,   381,   382,     0,     0,   383,   384,   385,   386,
++     387,     0,   388,     0,     0,   390,     0,   392,  -284,     0,
++     393,     0,     0,     0,   395,     0,     0,   397,   398,  3909,
++       0,     0,     0,   400,   401,   402,   403,   404,   405,     0,
++     407,   408,     0,   409,     0,     0,     0,     0,   411,   412,
++     413,     0,     0,     0,     0,   415,     0,     0,     0,   416,
++       0,     0,   418,     0,   420,     0,   421,     0,   423,     0,
++     425,   426,     0,     0,     0,     0,     0,     0,   427,   428,
++       0,   429,     0,     0,   430,     0,     0,   431,     0,   433,
++       0,     0,     0,   435,     0,   436,   437,   438,   439,   440,
++     441,     0,     0,   442,   443,   444,   445,     0,   446,   447,
++       0,   448,     0,   449,   450,   451,   452,     0,     0,   453,
++     454,     0,   455,   456,   457,   458,     0,     0,     0,     0,
++       0,   459,   460,   461,     0,     0,     0,     0,   463,   464,
++     465,     0,   466,   467,     0,   468,   469,     0,     0,     0,
++       0,     0,   472,     0,     0,   473,     0,     0,     0,   475,
++     476,   477,     0,     0,     0,     0,     0,     0,   478,     0,
++       0,   479,     0,     0,     0,   480,   481,   482,   483,   484,
++     485,  -317,     0,  -284,     0,     0,     0,   486,     0,     0,
++     488,     0,   490,     0,   139,   491,   140,   141,   142,   143,
++     144,     0,     0,   145,     0,     0,     0,   146,     0,     0,
++       0,     0,   148,   149,   150,   151,   152,   153,     0,     0,
++    -329,     0,     0,     0,   156,     0,     0,     0,   157,     0,
++       0,   158,   159,   160,     0,   161,     0,     0,     0,     0,
++       0,   164,  3902,     0,   165,   166,     0,   167,     0,     0,
++       0,     0,     0,   171,   172,   173,   174,  3903,   176,   177,
++       0,   178,   179,     0,     0,     0,     0,     0,     0,     0,
++     186,     0,   188,     0,   190,   191,   192,   193,     0,   194,
++     195,     0,   196,   197,   198,     0,   200,     0,   201,     0,
++       0,   202,     0,     0,   203,     0,     0,     0,   204,     0,
++       0,     0,   205,   206,   207,     0,     0,   208,     0,     0,
++       0,     0,   209,     0,     0,     0,     0,     0,   211,     0,
++     212,     0,     0,     0,   213,     0,   214,   215,   216,   217,
++       0,     0,     0,     0,     0,     0,   219,   220,   221,     0,
++       0,     0,   222,     0,  4242,   224,     0,   225,   226,   227,
++       0,   228,   229,     0,   230,   231,   232,   233,     0,     0,
++       0,     0,   236,   237,   238,     0,     0,   239,   240,  3904,
++     241,   242,   243,     0,     0,     0,     0,     0,     0,   245,
++       0,   246,     0,   247,     0,   248,   249,   250,   251,   252,
++     253,     0,   254,     0,     0,     0,   256,   257,     0,     0,
++       0,     0,     0,     0,   260,     0,     0,     0,   261,   262,
++     263,   264,  3905,     0,   265,   266,   267,     0,   268,     0,
++     269,     0,     0,     0,     0,   270,     0,     0,     0,     0,
++     272,     0,   273,   274,     0,   275,   276,  3906,     0,     0,
++     277,     0,     0,     0,   279,   280,     0,     0,   281,  3907,
++       0,   282,   283,     0,     0,     0,     0,     0,   284,   285,
++       0,   286,     0,   287,     0,   288,   289,     0,     0,     0,
++       0,  -284,     0,   290,   291,   292,   293,   294,   295,   296,
++     297,   298,   299,   300,   301,   302,     0,   303,   304,   305,
++       0,   306,   307,   308,   309,     0,   310,   311,     0,     0,
++       0,     0,   312,   313,   314,   315,   316,   317,     0,     0,
++     318,   319,     0,   320,     0,   321,     0,   322,   323,   324,
++     325,   326,   327,   328,   329,   330,   331,     0,     0,   332,
++     333,     0,     0,   334,   335,   336,   337,     0,     0,     0,
++       0,   339,     0,     0,     0,     0,   340,   341,   342,     0,
++     343,   344,   345,  3908,     0,     0,     0,     0,     0,     0,
++       0,     0,     0,     0,     0,     0,   350,   351,     0,     0,
++       0,     0,   353,   354,   355,     0,   357,   358,   359,   360,
++     361,   362,   363,     0,     0,     0,     0,   366,   367,     0,
++     368,     0,   369,   370,   371,   372,   373,     0,   374,   375,
++     376,     0,     0,   377,     0,     0,     0,   378,   379,   380,
++     381,   382,     0,     0,   383,   384,   385,   386,   387,     0,
++     388,     0,     0,   390,     0,   392,  -284,     0,   393,     0,
++       0,     0,   395,     0,     0,   397,   398,  3909,     0,     0,
++       0,   400,   401,   402,   403,   404,   405,     0,   407,   408,
++       0,   409,     0,     0,     0,     0,   411,   412,   413,     0,
++       0,     0,     0,   415,     0,     0,     0,   416,     0,     0,
++     418,     0,   420,     0,   421,     0,   423,     0,   425,   426,
++       0,     0,     0,     0,     0,     0,   427,   428,     0,   429,
++       0,     0,   430,     0,     0,   431,     0,   433,     0,     0,
++       0,   435,     0,   436,   437,   438,   439,   440,   441,     0,
++       0,   442,   443,   444,   445,     0,   446,   447,     0,   448,
++       0,   449,   450,   451,   452,     0,     0,   453,   454,     0,
++     455,   456,   457,   458,     0,     0,     0,     0,     0,   459,
++     460,   461,     0,     0,     0,     0,   463,   464,   465,     0,
++     466,   467,     0,   468,   469,     0,     0,     0,     0,     0,
++     472,     0,     0,   473,     0,     0,     0,   475,   476,   477,
++       0,     0,     0,     0,     0,     0,   478,     0,     0,   479,
++       0,     0,     0,   480,   481,   482,   483,   484,   485,     0,
++       0,  -284,     0,     0,     0,   486,     0,     0,   488,     0,
++     490,     0,   139,   491,   140,   141,   142,   143,   144,     0,
++       0,   145,     0,     0,     0,   146,     0,     0,     0,     0,
++     148,   149,   150,   151,   152,   153,     0,     0,  -329,     0,
++       0,     0,   156,     0,     0,     0,   157,     0,     0,   158,
++     159,   160,     0,   161,     0,     0,     0,     0,     0,   164,
++    3902,     0,   165,   166,     0,   167,     0,     0,     0,     0,
++       0,   171,   172,   173,   174,  3903,   176,   177,     0,   178,
++     179,     0,     0,     0,     0,     0,     0,     0,   186,     0,
++     188,     0,   190,   191,   192,   193,     0,   194,   195,     0,
++     196,   197,   198,     0,   200,     0,   201,     0,     0,   202,
++       0,     0,   203,     0,     0,     0,   204,     0,     0,     0,
++     205,   206,   207,     0,     0,   208,     0,     0,     0,     0,
++     209,     0,     0,     0,     0,     0,   211,     0,   212,     0,
++       0,     0,   213,     0,   214,   215,   216,   217,     0,     0,
++       0,     0,     0,     0,   219,   220,   221,     0,     0,     0,
++     222,     0,  -322,   224,     0,   225,   226,   227,     0,   228,
++     229,     0,   230,   231,   232,   233,     0,     0,     0,     0,
++     236,   237,   238,     0,     0,   239,   240,  3904,   241,   242,
++     243,     0,     0,     0,     0,     0,     0,   245,     0,   246,
++       0,   247,     0,   248,   249,   250,   251,   252,   253,     0,
++     254,     0,     0,     0,   256,   257,     0,     0,     0,     0,
++       0,     0,   260,     0,     0,     0,   261,   262,   263,   264,
++    3905,     0,   265,   266,   267,     0,   268,     0,   269,     0,
++       0,     0,     0,   270,     0,     0,     0,     0,   272,     0,
++     273,   274,     0,   275,   276,  3906,     0,     0,   277,     0,
++       0,     0,   279,   280,     0,     0,   281,  3907,     0,   282,
++     283,     0,     0,     0,     0,     0,   284,   285,     0,   286,
++       0,   287,     0,   288,   289,     0,     0,     0,     0,  -284,
++       0,   290,   291,   292,   293,   294,   295,   296,   297,   298,
++     299,   300,   301,   302,     0,   303,   304,   305,     0,   306,
++     307,   308,   309,     0,   310,   311,     0,     0,     0,     0,
++     312,   313,   314,   315,   316,   317,     0,     0,   318,   319,
++       0,   320,     0,   321,     0,   322,   323,   324,   325,   326,
++     327,   328,   329,   330,   331,     0,     0,   332,   333,     0,
++       0,   334,   335,   336,   337,     0,     0,     0,     0,   339,
++       0,     0,     0,     0,   340,   341,   342,     0,   343,   344,
++     345,  3908,     0,     0,     0,     0,     0,     0,     0,     0,
++       0,     0,     0,     0,   350,   351,     0,     0,     0,     0,
++     353,   354,   355,     0,   357,   358,   359,   360,   361,   362,
++     363,     0,     0,     0,     0,   366,   367,     0,   368,     0,
++     369,   370,   371,   372,   373,     0,   374,   375,   376,     0,
++       0,   377,     0,     0,     0,   378,   379,   380,   381,   382,
++       0,     0,   383,   384,   385,   386,   387,     0,   388,     0,
++       0,   390,     0,   392,  -284,     0,   393,     0,     0,     0,
++     395,     0,     0,   397,   398,  3909,     0,     0,     0,   400,
++     401,   402,   403,   404,   405,     0,   407,   408,     0,   409,
++       0,     0,     0,     0,   411,   412,   413,     0,     0,     0,
++       0,   415,     0,     0,     0,   416,     0,     0,   418,     0,
++     420,     0,   421,     0,   423,     0,   425,   426,     0,     0,
++       0,     0,     0,     0,   427,   428,     0,   429,     0,     0,
++     430,     0,     0,   431,     0,   433,     0,     0,     0,   435,
++       0,   436,   437,   438,   439,   440,   441,     0,     0,   442,
++     443,   444,   445,     0,   446,   447,     0,   448,     0,   449,
++     450,   451,   452,     0,     0,   453,   454,     0,   455,   456,
++     457,   458,     0,     0,     0,     0,     0,   459,   460,   461,
++       0,     0,     0,     0,   463,   464,   465,     0,   466,   467,
++       0,   468,   469,     0,     0,     0,     0,     0,   472,     0,
++       0,   473,     0,     0,     0,   475,   476,   477,     0,     0,
++       0,     0,     0,     0,   478,     0,     0,   479,     0,     0,
++       0,   480,   481,   482,   483,   484,   485,     0,     0,  -284,
++       0,     0,     0,   486,     0,     0,   488,     0,   490,     0,
++     139,   491,   140,   141,   142,   143,   144,     0,     0,   145,
++       0,     0,     0,   146,     0,     0,     0,     0,   148,   149,
++     150,   151,   152,   153,     0,     0,  -329,     0,     0,     0,
++     156,     0,     0,     0,   157,     0,     0,   158,   159,   160,
++       0,   161,     0,     0,     0,     0,     0,   164,  3902,     0,
++     165,   166,     0,   167,     0,     0,     0,     0,     0,   171,
++     172,   173,   174,  3903,   176,   177,     0,   178,   179,     0,
++       0,     0,     0,     0,     0,     0,   186,     0,   188,     0,
++     190,   191,   192,   193,     0,   194,   195,     0,   196,   197,
++     198,     0,   200,     0,   201,     0,     0,   202,     0,     0,
++     203,     0,     0,     0,   204,     0,     0,     0,   205,   206,
++     207,     0,     0,   208,     0,     0,     0,     0,   209,     0,
++       0,     0,     0,     0,   211,     0,   212,     0,     0,     0,
++     213,     0,   214,   215,   216,   217,     0,     0,     0,     0,
++       0,     0,   219,   220,   221,     0,     0,     0,   222,     0,
++    4357,   224,     0,   225,   226,   227,     0,   228,   229,     0,
++     230,   231,   232,   233,     0,     0,     0,     0,   236,   237,
++     238,     0,     0,   239,   240,  3904,   241,   242,   243,     0,
++       0,     0,     0,     0,     0,   245,     0,   246,     0,   247,
++       0,   248,   249,   250,   251,   252,   253,     0,   254,     0,
++       0,     0,   256,   257,     0,     0,     0,     0,     0,     0,
++     260,     0,     0,     0,   261,   262,   263,   264,  3905,     0,
++     265,   266,   267,     0,   268,     0,   269,     0,     0,     0,
++       0,   270,     0,     0,     0,     0,   272,     0,   273,   274,
++       0,   275,   276,  3906,     0,     0,   277,     0,     0,     0,
++     279,   280,     0,     0,   281,  3907,     0,   282,   283,     0,
++       0,     0,     0,     0,   284,   285,     0,   286,     0,   287,
++       0,   288,   289,     0,     0,     0,     0,  -284,     0,   290,
++     291,   292,   293,   294,   295,   296,   297,   298,   299,   300,
++     301,   302,     0,   303,   304,   305,     0,   306,   307,   308,
++     309,     0,   310,   311,     0,     0,     0,     0,   312,   313,
++     314,   315,   316,   317,     0,     0,   318,   319,     0,   320,
++       0,   321,     0,   322,   323,   324,   325,   326,   327,   328,
++     329,   330,   331,     0,     0,   332,   333,     0,     0,   334,
++     335,   336,   337,     0,     0,     0,     0,   339,     0,     0,
++       0,     0,   340,   341,   342,     0,   343,   344,   345,  3908,
++       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
++       0,     0,   350,   351,     0,     0,     0,     0,   353,   354,
++     355,     0,   357,   358,   359,   360,   361,   362,   363,     0,
++       0,     0,     0,   366,   367,     0,   368,     0,   369,   370,
++     371,   372,   373,     0,   374,   375,   376,     0,     0,   377,
++       0,     0,     0,   378,   379,   380,   381,   382,     0,     0,
++     383,   384,   385,   386,   387,     0,   388,     0,     0,   390,
++       0,   392,  -284,     0,   393,     0,     0,     0,   395,     0,
++       0,   397,   398,  3909,     0,     0,     0,   400,   401,   402,
++     403,   404,   405,     0,   407,   408,     0,   409,     0,     0,
++       0,     0,   411,   412,   413,     0,     0,     0,     0,   415,
++       0,     0,     0,   416,     0,     0,   418,     0,   420,     0,
++     421,     0,   423,     0,   425,   426,     0,     0,     0,     0,
++       0,     0,   427,   428,     0,   429,     0,     0,   430,     0,
++       0,   431,     0,   433,     0,     0,     0,   435,     0,   436,
++     437,   438,   439,   440,   441,     0,     0,   442,   443,   444,
++     445,     0,   446,   447,     0,   448,     0,   449,   450,   451,
++     452,     0,     0,   453,   454,     0,   455,   456,   457,   458,
++       0,     0,     0,     0,     0,   459,   460,   461,     0,     0,
++       0,     0,   463,   464,   465,     0,   466,   467,     0,   468,
++     469,     0,     0,     0,     0,     0,   472,     0,     0,   473,
++       0,     0,     0,   475,   476,   477,     0,     0,     0,     0,
++       0,     0,   478,     0,     0,   479,     0,     0,     0,   480,
++     481,   482,   483,   484,   485,     0,     0,  -284,     0,     0,
++       0,   486,     0,     0,   488,     0,   490,     0,   139,   491,
++     140,   141,   142,   143,   144,     0,     0,   145,     0,     0,
++       0,   146,     0,     0,     0,     0,   148,   149,   150,   151,
++     152,   153,     0,     0,  -329,     0,     0,     0,   156,     0,
++       0,     0,   157,     0,     0,   158,   159,   160,     0,   161,
++       0,     0,     0,     0,     0,   164,  3902,     0,   165,   166,
++       0,   167,     0,     0,     0,     0,     0,   171,   172,   173,
++     174,  3903,   176,   177,     0,   178,   179,     0,     0,     0,
++       0,     0,     0,     0,   186,     0,   188,     0,   190,   191,
++     192,   193,     0,   194,   195,     0,   196,   197,   198,     0,
++     200,     0,   201,     0,     0,   202,     0,     0,   203,     0,
++       0,     0,   204,     0,     0,     0,   205,   206,   207,     0,
++       0,   208,     0,     0,     0,     0,   209,     0,     0,     0,
++       0,     0,   211,     0,   212,     0,     0,     0,   213,     0,
++     214,   215,   216,   217,     0,     0,     0,     0,     0,     0,
++     219,   220,   221,     0,     0,     0,   222,     0,  4406,   224,
++       0,   225,   226,   227,     0,   228,   229,     0,   230,   231,
++     232,   233,     0,     0,     0,     0,   236,   237,   238,     0,
++       0,   239,   240,  3904,   241,   242,   243,     0,     0,     0,
++       0,     0,     0,   245,     0,   246,     0,   247,     0,   248,
++     249,   250,   251,   252,   253,     0,   254,     0,     0,     0,
++     256,   257,     0,     0,     0,     0,     0,     0,   260,     0,
++       0,     0,   261,   262,   263,   264,  3905,     0,   265,   266,
++     267,     0,   268,     0,   269,     0,     0,     0,     0,   270,
++       0,     0,     0,     0,   272,     0,   273,   274,     0,   275,
++     276,  3906,     0,     0,   277,     0,     0,     0,   279,   280,
++       0,     0,   281,  3907,     0,   282,   283,     0,     0,     0,
++       0,     0,   284,   285,     0,   286,     0,   287,     0,   288,
++     289,     0,     0,     0,     0,  -284,     0,   290,   291,   292,
++     293,   294,   295,   296,   297,   298,   299,   300,   301,   302,
++       0,   303,   304,   305,     0,   306,   307,   308,   309,     0,
++     310,   311,     0,     0,     0,     0,   312,   313,   314,   315,
++     316,   317,     0,     0,   318,   319,     0,   320,     0,   321,
++       0,   322,   323,   324,   325,   326,   327,   328,   329,   330,
++     331,     0,     0,   332,   333,     0,     0,   334,   335,   336,
++     337,     0,     0,     0,     0,   339,     0,     0,     0,     0,
++     340,   341,   342,     0,   343,   344,   345,  3908,     0,     0,
++       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
++     350,   351,     0,     0,     0,     0,   353,   354,   355,     0,
++     357,   358,   359,   360,   361,   362,   363,     0,     0,     0,
++       0,   366,   367,     0,   368,     0,   369,   370,   371,   372,
++     373,     0,   374,   375,   376,     0,     0,   377,     0,     0,
++       0,   378,   379,   380,   381,   382,     0,     0,   383,   384,
++     385,   386,   387,     0,   388,     0,     0,   390,     0,   392,
++    -284,     0,   393,     0,     0,     0,   395,     0,     0,   397,
++     398,  3909,     0,     0,     0,   400,   401,   402,   403,   404,
++     405,     0,   407,   408,     0,   409,     0,     0,     0,     0,
++     411,   412,   413,     0,     0,     0,     0,   415,     0,     0,
++       0,   416,     0,     0,   418,     0,   420,     0,   421,     0,
++     423,     0,   425,   426,     0,     0,     0,     0,     0,     0,
++     427,   428,     0,   429,     0,     0,   430,     0,     0,   431,
++       0,   433,     0,     0,     0,   435,     0,   436,   437,   438,
++     439,   440,   441,     0,     0,   442,   443,   444,   445,     0,
++     446,   447,     0,   448,     0,   449,   450,   451,   452,     0,
++       0,   453,   454,     0,   455,   456,   457,   458,     0,     0,
++       0,     0,     0,   459,   460,   461,     0,     0,     0,     0,
++     463,   464,   465,     0,   466,   467,     0,   468,   469,     0,
++       0,     0,     0,     0,   472,     0,     0,   473,     0,     0,
++       0,   475,   476,   477,     0,     0,     0,     0,     0,     0,
++     478,     0,     0,   479,     0,     0,     0,   480,   481,   482,
++     483,   484,   485,     0,     0,  -284,     0,     0,     0,   486,
++       0,     0,   488,     0,   490,     0,   139,   491,   140,   141,
++     142,   143,   144,     0,     0,   145,     0,     0,     0,   146,
++       0,     0,     0,     0,   148,   149,   150,   151,   152,   153,
++       0,     0,  -329,     0,     0,     0,   156,     0,     0,     0,
++     157,     0,     0,   158,   159,   160,     0,   161,     0,     0,
++       0,     0,     0,   164,  3902,     0,   165,   166,     0,   167,
++       0,     0,     0,     0,     0,   171,   172,   173,   174,  3903,
++     176,   177,     0,   178,   179,     0,     0,     0,     0,     0,
++       0,     0,   186,     0,   188,     0,   190,   191,   192,   193,
++       0,   194,   195,     0,   196,   197,   198,     0,   200,     0,
++     201,     0,     0,   202,     0,     0,   203,     0,     0,     0,
++     204,     0,     0,     0,   205,   206,   207,     0,     0,   208,
++       0,     0,     0,     0,   209,     0,     0,     0,     0,     0,
++     211,     0,   212,     0,     0,     0,   213,     0,   214,   215,
++     216,   217,     0,     0,     0,     0,     0,     0,   219,   220,
++     221,     0,     0,     0,   222,     0,  -303,   224,     0,   225,
++     226,   227,     0,   228,   229,     0,   230,   231,   232,   233,
++       0,     0,     0,     0,   236,   237,   238,     0,     0,   239,
++     240,  3904,   241,   242,   243,     0,     0,     0,     0,     0,
++       0,   245,     0,   246,     0,   247,     0,   248,   249,   250,
++     251,   252,   253,     0,   254,     0,     0,     0,   256,   257,
++       0,     0,     0,     0,     0,     0,   260,     0,     0,     0,
++     261,   262,   263,   264,  3905,     0,   265,   266,   267,     0,
++     268,     0,   269,     0,     0,     0,     0,   270,     0,     0,
++       0,     0,   272,     0,   273,   274,     0,   275,   276,  3906,
++       0,     0,   277,     0,     0,     0,   279,   280,     0,     0,
++     281,  3907,     0,   282,   283,     0,     0,     0,     0,     0,
++     284,   285,     0,   286,     0,   287,     0,   288,   289,     0,
++       0,     0,     0,  -284,     0,   290,   291,   292,   293,   294,
++     295,   296,   297,   298,   299,   300,   301,   302,     0,   303,
++     304,   305,     0,   306,   307,   308,   309,     0,   310,   311,
++       0,     0,     0,     0,   312,   313,   314,   315,   316,   317,
++       0,     0,   318,   319,     0,   320,     0,   321,     0,   322,
++     323,   324,   325,   326,   327,   328,   329,   330,   331,     0,
++       0,   332,   333,     0,     0,   334,   335,   336,   337,     0,
++       0,     0,     0,   339,     0,     0,     0,     0,   340,   341,
++     342,     0,   343,   344,   345,  3908,     0,     0,     0,     0,
++       0,     0,     0,     0,     0,     0,     0,     0,   350,   351,
++       0,     0,     0,     0,   353,   354,   355,     0,   357,   358,
++     359,   360,   361,   362,   363,     0,     0,     0,     0,   366,
++     367,     0,   368,     0,   369,   370,   371,   372,   373,     0,
++     374,   375,   376,     0,     0,   377,     0,     0,     0,   378,
++     379,   380,   381,   382,     0,     0,   383,   384,   385,   386,
++     387,     0,   388,     0,     0,   390,     0,   392,  -284,     0,
++     393,     0,     0,     0,   395,     0,     0,   397,   398,  3909,
++       0,     0,     0,   400,   401,   402,   403,   404,   405,     0,
++     407,   408,     0,   409,     0,     0,     0,     0,   411,   412,
++     413,     0,     0,     0,     0,   415,     0,     0,     0,   416,
++       0,     0,   418,     0,   420,     0,   421,     0,   423,     0,
++     425,   426,     0,     0,     0,     0,     0,     0,   427,   428,
++       0,   429,     0,     0,   430,     0,     0,   431,     0,   433,
++       0,     0,     0,   435,     0,   436,   437,   438,   439,   440,
++     441,     0,     0,   442,   443,   444,   445,     0,   446,   447,
++       0,   448,     0,   449,   450,   451,   452,     0,     0,   453,
++     454,     0,   455,   456,   457,   458,     0,     0,     0,     0,
++       0,   459,   460,   461,     0,     0,     0,     0,   463,   464,
++     465,     0,   466,   467,     0,   468,   469,     0,     0,     0,
++       0,     0,   472,     0,     0,   473,     0,     0,     0,   475,
++     476,   477,     0,     0,     0,     0,     0,     0,   478,     0,
++       0,   479,     0,     0,     0,   480,   481,   482,   483,   484,
++     485,     0,     0,  -284,     0,     0,     0,   486,     0,     0,
++     488,     0,   490,     0,   139,   491,   140,   141,   142,   143,
++     144,     0,     0,   145,     0,     0,     0,   146,     0,     0,
++       0,     0,   148,   149,   150,   151,   152,   153,     0,     0,
++    -329,     0,     0,     0,   156,     0,     0,     0,   157,     0,
++       0,   158,   159,   160,     0,   161,     0,     0,     0,     0,
++       0,   164,  3902,     0,   165,   166,     0,   167,     0,     0,
++       0,     0,     0,   171,   172,   173,   174,  3903,   176,   177,
++       0,   178,   179,     0,     0,     0,     0,     0,     0,     0,
++     186,     0,   188,     0,   190,   191,   192,   193,     0,   194,
++     195,     0,   196,   197,   198,     0,   200,     0,   201,     0,
++       0,   202,     0,     0,   203,     0,     0,     0,   204,     0,
++       0,     0,   205,   206,   207,     0,     0,   208,     0,     0,
++       0,     0,   209,     0,     0,     0,     0,     0,   211,     0,
++     212,     0,     0,     0,   213,     0,   214,   215,   216,   217,
++       0,     0,     0,     0,     0,     0,   219,   220,   221,     0,
++       0,     0,   222,     0,     0,   224,     0,   225,   226,   227,
++       0,   228,   229,     0,   230,   231,   232,   233,     0,     0,
++       0,     0,   236,   237,   238,     0,     0,   239,   240,  3904,
++     241,   242,   243,     0,     0,     0,     0,     0,     0,   245,
++       0,   246,     0,   247,     0,   248,   249,   250,   251,   252,
++     253,     0,   254,     0,     0,     0,   256,   257,     0,     0,
++       0,     0,     0,     0,   260,     0,     0,     0,   261,   262,
++     263,   264,  3905,     0,   265,   266,   267,     0,   268,     0,
++     269,     0,     0,     0,     0,   270,     0,     0,     0,     0,
++     272,     0,   273,   274,     0,   275,   276,  3906,     0,     0,
++     277,     0,     0,     0,   279,   280,     0,     0,   281,  3907,
++       0,   282,   283,     0,     0,     0,     0,     0,   284,   285,
++       0,   286,     0,   287,     0,   288,   289,     0,     0,     0,
++       0,  -284,     0,   290,   291,   292,   293,   294,   295,   296,
++     297,   298,   299,   300,   301,   302,     0,   303,   304,   305,
++       0,   306,   307,   308,   309,     0,   310,   311,     0,     0,
++       0,     0,   312,   313,   314,   315,   316,   317,     0,     0,
++     318,   319,     0,   320,     0,   321,     0,   322,   323,   324,
++     325,   326,   327,   328,   329,   330,   331,     0,     0,   332,
++     333,     0,     0,   334,   335,   336,   337,     0,     0,     0,
++       0,   339,     0,     0,     0,     0,   340,   341,   342,     0,
++     343,   344,   345,  3908,     0,     0,     0,     0,     0,     0,
++       0,     0,     0,     0,     0,     0,   350,   351,     0,     0,
++       0,     0,   353,   354,   355,     0,   357,   358,   359,   360,
++     361,   362,   363,     0,     0,     0,     0,   366,   367,     0,
++     368,     0,   369,   370,   371,   372,   373,     0,   374,   375,
++     376,     0,     0,   377,     0,     0,     0,   378,   379,   380,
++     381,   382,     0,     0,   383,   384,   385,   386,   387,     0,
++     388,     0,     0,   390,     0,   392,  -284,     0,   393,     0,
++       0,     0,   395,     0,     0,   397,   398,  3909,     0,     0,
++       0,   400,   401,   402,   403,   404,   405,     0,   407,   408,
++       0,   409,     0,     0,     0,     0,   411,   412,   413,     0,
++       0,     0,     0,   415,     0,     0,     0,   416,     0,     0,
++     418,     0,   420,     0,   421,     0,   423,     0,   425,   426,
++       0,     0,     0,     0,     0,     0,   427,   428,     0,   429,
++       0,     0,   430,     0,     0,   431,     0,   433,     0,     0,
++       0,   435,     0,   436,   437,   438,   439,   440,   441,     0,
++       0,   442,   443,   444,   445,     0,   446,   447,     0,   448,
++       0,   449,   450,   451,   452,     0,     0,   453,   454,     0,
++     455,   456,   457,   458,     0,     0,     0,     0,     0,   459,
++     460,   461,     0,     0,     0,     0,   463,   464,   465,     0,
++     466,   467,     0,   468,   469,     0,     0,     0,     0,     0,
++     472,     0,     0,   473,     0,     0,     0,   475,   476,   477,
++       0,     0,     0,     0,     0,     0,   478,     0,     0,   479,
++       0,     0,     0,   480,   481,   482,   483,   484,   485,     0,
++       0,  -284,     0,     0,     0,   486,     0,     0,   488,     0,
++     490,     0,   139,   491,   140,   141,   142,   143,   144,     0,
++       0,   145,     0,     0,     0,   146,     0,     0,     0,     0,
++     148,   149,   150,   151,   152,   153,     0,     0,  -329,     0,
++       0,     0,   156,     0,     0,     0,   157,     0,     0,   158,
++     159,   160,     0,   161,     0,     0,     0,     0,     0,   164,
++    3902,     0,   165,   166,     0,   167,     0,     0,     0,     0,
++       0,   171,   172,   173,   174,  3903,   176,   177,     0,   178,
++     179,     0,     0,     0,     0,     0,     0,     0,   186,     0,
++     188,     0,   190,   191,   192,   193,     0,   194,   195,     0,
++     196,   197,   198,     0,   200,     0,   201,     0,     0,   202,
++       0,     0,   203,     0,     0,     0,   204,     0,     0,     0,
++     205,   206,   207,     0,     0,   208,     0,     0,     0,     0,
++     209,     0,     0,     0,     0,     0,   211,     0,   212,     0,
++       0,     0,   213,     0,   214,   215,   216,   217,     0,     0,
++       0,     0,     0,     0,   219,   220,   221,     0,     0,     0,
++     222,     0,     0,   224,     0,   225,   226,   227,     0,   228,
++     229,     0,   230,   231,   232,   233,     0,     0,     0,     0,
++     236,   237,   238,     0,     0,   239,   240,  3904,   241,   242,
++     243,     0,     0,     0,     0,     0,     0,   245,     0,   246,
++       0,   247,     0,   248,   249,   250,   251,   252,   253,     0,
++     254,     0,     0,     0,   256,   257,     0,     0,     0,     0,
++       0,     0,   260,     0,     0,     0,   261,   262,   263,   264,
++    3905,     0,   265,   266,   267,     0,   268,     0,   269,     0,
++       0,     0,     0,   270,     0,     0,     0,     0,   272,     0,
++     273,   274,     0,   275,   276,  3906,     0,     0,   277,     0,
++       0,     0,   279,   280,     0,     0,   281,  3907,     0,   282,
++     283,     0,     0,     0,     0,     0,   284,   285,     0,   286,
++       0,   287,     0,   288,   289,     0,     0,     0,     0,  -284,
++       0,   290,   291,   292,   293,   294,   295,   296,   297,   298,
++     299,   300,   301,   302,     0,   303,   304,   305,     0,   306,
++     307,   308,   309,     0,   310,   311,     0,     0,     0,     0,
++     312,   313,   314,   315,   316,   317,     0,     0,   318,   319,
++       0,   320,     0,   321,     0,   322,   323,   324,   325,   326,
++     327,   328,   329,   330,   331,     0,     0,   332,   333,     0,
++       0,   334,   335,   336,   337,     0,     0,     0,     0,   339,
++       0,     0,     0,     0,   340,   341,   342,     0,   343,   344,
++     345,  3908,     0,     0,     0,     0,     0,     0,     0,     0,
++       0,     0,     0,     0,   350,   351,     0,     0,     0,     0,
++     353,   354,   355,     0,   357,   358,   359,   360,   361,   362,
++     363,     0,     0,     0,     0,   366,   367,     0,   368,     0,
++     369,   370,   371,   372,   373,     0,   374,   375,   376,     0,
++       0,   377,     0,     0,     0,   378,   379,   380,   381,   382,
++       0,     0,   383,   384,   385,   386,   387,     0,   388,     0,
++       0,   390,     0,   392,  -284,     0,   393,     0,     0,     0,
++     395,     0,     0,   397,   398,  3909,     0,     0,     0,   400,
++     401,   402,   403,   404,   405,     0,   407,   408,     0,   409,
++       0,     0,     0,     0,   411,   412,   413,     0,     0,     0,
++       0,   415,     0,     0,     0,   416,     0,     0,   418,     0,
++     420,     0,   421,     0,   423,     0,   425,   426,     0,     0,
++       0,     0,     0,     0,   427,   428,     0,   429,     0,     0,
++     430,     0,     0,   431,     0,   433,     0,     0,     0,   435,
++       0,   436,   437,   438,   439,   440,   441,     0,     0,   442,
++     443,   444,   445,     0,   446,   447,     0,   448,     0,   449,
++     450,   451,   452,     0,     0,   453,   454,     0,   455,   456,
++     457,   458,     0,     0,     0,     0,     0,   459,   460,   461,
++       0,     0,     0,     0,   463,   464,   465,     0,   466,   467,
++       0,   468,   469,     0,     0,     0,     0,     0,   472,     0,
++       0,  4245,     0,     0,     0,   475,   476,   477,     0,     0,
++       0,     0,     0,     0,   478,     0,     0,   479,     0,     0,
++       0,   480,   481,   482,   483,   484,   485,     0,     0,  -284,
++       0,     0,     0,   486,     0,     0,   488,     0,   490,     0,
++     139,   491,   140,   141,   142,   143,   144,     0,     0,   145,
++       0,     0,     0,   146,     0,     0,     0,     0,   148,   149,
++     150,   151,   152,   153,     0,     0,     0,     0,     0,     0,
++     156,     0,     0,     0,   157,     0,     0,   158,   159,   160,
++       0,   161,     0,     0,     0,     0,     0,   164,     0,     0,
++     165,   166,     0,   167,     0,     0,     0,     0,     0,   171,
++     172,   173,   174,     0,   176,   177,     0,   178,   179,     0,
++       0,     0,     0,     0,     0,     0,   186,     0,   188,     0,
++     190,   191,   192,   193,     0,   194,   195,     0,   196,   197,
++     198,     0,   200,     0,   201,     0,     0,   202,     0,     0,
++     203,     0,     0,     0,   204,     0,     0,     0,   205,   206,
++     207,     0,     0,   208,     0,     0,     0,     0,   209,     0,
++       0,     0,     0,     0,   211,     0,   212,     0,     0,     0,
++     213,     0,   214,   215,   216,   217,     0,     0,     0,     0,
++       0,     0,   219,   220,   221,     0,     0,     0,   222,     0,
++       0,   224,     0,   225,   226,   227,     0,   228,   229,     0,
++     230,   231,   232,   233,     0,     0,     0,     0,   236,   237,
++     238,     0,     0,   239,   240,     0,   241,   242,   243,     0,
++       0,     0,     0,     0,     0,   245,     0,   246,     0,   247,
++       0,   248,   249,   250,   251,   252,   253,     0,   254,     0,
++       0,     0,   256,   257,     0,     0,     0,     0,     0,     0,
++     260,     0,     0,     0,   261,   262,   263,   264,     0,     0,
++     265,   266,   267,     0,   268,     0,   269,     0,     0,     0,
++       0,   270,     0,     0,     0,     0,   272,     0,   273,   274,
++       0,   275,   276,     0,     0,     0,   277,     0,     0,     0,
++     279,   280,     0,     0,   281,     0,     0,   282,   283,     0,
++       0,     0,     0,     0,   284,   285,     0,   286,     0,   287,
++       0,   288,   289,     0,     0,     0,     0,     0,     0,   290,
++     291,   292,   293,   294,   295,   296,   297,   298,   299,   300,
++     301,   302,     0,   303,   304,   305,     0,   306,   307,   308,
++     309,     0,   310,   311,     0,     0,     0,     0,   312,   313,
++     314,   315,   316,   317,     0,     0,   318,   319,     0,   320,
++       0,   321,     0,   322,   323,   324,   325,   326,   327,   328,
++     329,   330,   331,     0,     0,   332,   333,     0,     0,   334,
++     335,   336,   337,     0,     0,     0,     0,   339,     0,     0,
++       0,     0,   340,   341,   342,     0,   343,   344,   345,     0,
++       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
++       0,     0,   350,   351,     0,     0,     0,     0,   353,   354,
++     355,     0,   357,   358,   359,   360,   361,   362,   363,     0,
++       0,     0,     0,   366,   367,     0,   368,     0,   369,   370,
++     371,   372,   373,     0,   374,   375,   376,     0,     0,   377,
++       0,     0,     0,   378,   379,   380,   381,   382,     0,     0,
++     383,   384,   385,   386,   387,     0,   388,     0,     0,   390,
++       0,   392,     0,     0,   393,     0,     0,     0,   395,     0,
++       0,   397,   398,     0,     0,     0,     0,   400,   401,   402,
++     403,   404,   405,     0,   407,   408,     0,   409,     0,     0,
++       0,     0,   411,   412,   413,     0,     0,     0,     0,   415,
++       0,     0,     0,   416,     0,     0,   418,     0,   420,     0,
++     421,     0,   423,     0,   425,   426,     0,     0,     0,     0,
++       0,     0,   427,   428,     0,   429,     0,     0,   430,     0,
++       0,   431,     0,   433,     0,     0,     0,   435,     0,   436,
++     437,   438,   439,   440,   441,     0,     0,   442,   443,   444,
++     445,     0,   446,   447,     0,   448,     0,   449,   450,   451,
++     452,     0,     0,   453,   454,     0,   455,   456,   457,   458,
++       0,     0,     0,     0,     0,   459,   460,   461,     0,     0,
++       0,     0,   463,   464,   465,     0,   466,   467,     0,   468,
++     469,     0,     0,     0,     0,     0,   472,     0,     0,   473,
++       0,     0,     0,   475,   476,   477,     0,     0,     0,     0,
++       0,     0,   478,     0,     0,   479,     0,     0,     0,   480,
++     481,   482,   483,   484,   485,     0,     0,     0,     0,     0,
++       0,   486,     0,     0,   488,     0,   490,     0,     0,   491
++};
++
++static const yytype_int16 yycheck[] =
++{
++       6,   648,   577,   989,   988,   577,  1179,   696,   600,   899,
++     701,  1106,  1697,    19,     4,   124,    22,   554,  1836,  1837,
++    1078,  1179,  1149,     6,   675,  1125,    32,  1804,  1489,   722,
++    2024,   926,   813,    39,  1072,  1073,    42,  1390,  1311,  1947,
++      46,   614,  1390,  1824,   951,    20,  2488,  2529,    54,   522,
++    2059,  1200,  1487,  3218,    29,  2337,   951,  2128,  1242,  1208,
++    2298,    36,  2418,  2597,  2773,   993,   757,  2611,  2828,   760,
++    2141,   642,  1964,  2406,   645,  1116,  1478,  1319,   767,  1964,
++    1966,    22,  1209,  1210,   993,  1470,  1213,  1214,  1215,  1216,
++      96,  1218,  1219,  1220,  1221,  1222,  1223,  1224,  1225,  1824,
++    2227,  1895,  2142,  3224,   662,  2086,  2086,  2973,  2399,  2628,
++    2483,  1919,  1920,   119,  2350,   121,  2407,   123,   124,   125,
++     657,   658,  2360,  2107,   775,   776,   777,  2270,  1936,  1967,
++    3454,  2021,    17,  1971,   882,  3106,   787,  2045,   121,   786,
++     123,    19,  2050,    25,  1982,  1953,  1954,  1532,  2056,  2057,
++    1460,    51,    19,  2061,  1992,    96,    17,    16,    17,    30,
++    3242,  1969,  1970,    19,  1972,    34,    47,  1975,  1976,    16,
++      17,  1979,    19,    16,    17,  3501,  1984,  1401,   924,   953,
++    1988,  1989,  1990,  1991,    73,  3281,  3282,  1995,  1996,  3285,
++    1998,    82,  2462,  2688,  2086,  1419,  2004,   131,   189,  2007,
++    2008,  2086,  2010,  1427,  1428,  2221,   952,    28,  3304,    66,
++    1835,  2111,  2599,   112,    35,  3311,    16,    17,    21,   967,
++      36,    83,  3498,  2625,  2626,  2465,   114,    46,    36,  2631,
++     187,  2633,   191,   194,  2451,    68,   174,   265,   282,  2447,
++    2448,    56,   815,  2963,    71,    43,  3938,   145,    16,    17,
++      60,   201,  4031,  2884,   224,   358,    59,    60,   207,   339,
++      71,   192,  2070,  2071,  2072,  2073,  4063,   224,    82,   309,
++      16,    17,   157,   249,   140,   268,   277,   359,  1956,   157,
++     440,  3511,   447,   128,   147,  3450,  1470,    21,    25,  1910,
++    2075,   249,   128,    10,   364,     8,    88,  3393,   513,   650,
++      34,    23,   537,   261,   877,   387,   995,  2760,   224,   182,
++      16,    17,   157,   134,    48,  1938,   128,  4025,    16,    17,
++      12,   157,   272,   129,    12,    59,    60,  2377,   129,   266,
++      41,   332,   391,   351,   387,   391,   429,   482,    16,    17,
++     228,   191,   505,   208,   208,   157,   174,    21,  1532,   231,
++      19,    16,    17,   132,   165,    16,    17,  2565,  2566,   569,
++      34,  3686,   603,   280,    16,    17,  3642,   283,   228,   151,
++     537,    16,    17,   536,    48,  4067,  2370,  2371,  2372,   509,
++      16,    17,   255,   298,    40,    59,    60,   252,   252,   208,
++     631,   191,   252,   437,  2847,   211,   212,  3722,   507,   228,
++     530,   636,   151,   211,   212,   550,   220,  2391,   222,   606,
++     503,    64,   430,  4121,   132,  3691,   266,    16,    17,  2469,
++     630,   189,  1115,   305,   135,    16,    17,    16,    17,   488,
++      59,    60,   488,   370,   543,   241,  1129,   251,   355,   151,
++     241,   402,  3538,  2493,  2494,   660,   168,  1018,   314,   141,
++    2573,  3547,   383,   141,  1440,   537,  2356,   537,  1239,   810,
++    1031,   454,    70,    70,    16,    17,    16,    17,   438,   182,
++     446,   631,   637,   411,   163,  3571,    16,    17,   351,  3803,
++    3576,    16,    17,   563,   537,   191,    51,    16,    17,    16,
++      17,   283,   450,  3614,   231,   411,    73,    16,    17,    16,
++      17,   507,  2835,   509,  2412,    16,    17,   508,  4287,  4288,
++    3740,   374,  3677,  1050,  1051,  1052,  4313,   235,  2766,   469,
++     526,  1982,   369,   146,   530,   372,   369,  3247,   631,   372,
++      16,    17,  1460,   539,    16,    17,   351,   543,   487,   545,
++     338,  2777,  2778,  2779,   371,   445,  2902,    86,   187,   629,
++     481,  1460,   558,  1938,  1302,  1202,   546,  1452,   602,  2451,
++     371,  1212,  2470,  1747,  2472,  2405,  2451,   637,   305,   369,
++     531,  2479,   372,   601,   472,    16,    17,  2467,  1229,  1964,
++     586,  2471,   415,   411,  2492,   224,  1334,    16,    17,   629,
++    2498,  2499,  2573,  2573,   247,  2485,  2486,   587,  1725,   605,
++    3231,   369,  3723,  1531,   372,  2495,  2514,  2515,   614,  1736,
++     616,  2013,  1739,  2883,   283,   352,  2886,  2887,  1091,  1092,
++    2279,   627,  1531,   369,   581,   482,   372,   633,   115,  2613,
++    2538,   118,   638,  2523,   640,  2905,   642,  3024,   457,   645,
++     631,  2881,   580,   649,   650,  1118,    16,    17,   654,  1395,
++     633,  1425,  1398,  1126,  3149,  1128,  2873,  1403,   664,   665,
++     666,  3421,   144,   369,   670,  1889,   372,  1140,  1141,  1142,
++    2478,   369,   631,  2689,   372,  1148,  1247,   548,  1719,   570,
++     501,  2573,  2490,  1429,  1430,   402,   627,   548,  2573,  1470,
++    2075,   369,   548,  3969,   372,  4387,   595,   638,  3819,   561,
++      63,  2086,  4028,   812,   369,  2595,   335,   372,   369,  1804,
++    2610,   372,  1285,   594,   535,   582,   722,   369,   603,  3801,
++     372,   537,   603,   611,   369,   659,  3221,   372,  3849,   537,
++    4006,   631,   553,   369,  3705,  4059,   372,  2362,  3020,   617,
++     629,    16,    17,  1314,  3263,  3264,   415,    16,    17,   631,
++     635,  1532,  3271,   612,  1938,  3274,  3275,   635,   387,  2069,
++     629,   617,  1333,  2571,   567,   612,  2909,   588,  1516,   612,
++     369,  2449,  3291,   372,   780,   512,   782,  2398,   369,   589,
++     369,   372,  2567,   372,  1357,   502,  3305,  2564,  2996,   603,
++     635,   634,  3311,  3312,  3313,  3314,   575,  2781,  2782,   635,
++     806,   807,   808,   631,   810,   811,   812,  2430,   814,   815,
++      16,    17,   612,  2807,    16,    17,   925,   369,   600,   369,
++     372,  1379,   372,   635,   807,   188,  1399,   404,   811,   369,
++     630,   814,   372,   567,   369,  3956,   553,   372,    16,    17,
++     369,   464,   369,   372,   612,   372,   852,    16,    17,  2843,
++     369,   600,   369,   372,  4178,   372,   512,   575,   369,   865,
++     597,   372,   630,  3265,   517,  3384,   612,  3269,    16,    17,
++    2305,   877,   878,  3155,  2997,  3208,   882,   533,   595,  3212,
++     445,   871,  3255,   369,   630,   631,   372,   369,   600,    51,
++     372,  2075,  1464,   567,  2712,    16,    17,  3299,  3300,  3301,
++     508,   508,  2086,   559,   582,  3307,   612,    16,    17,   598,
++    3158,    16,    17,  3315,   612,    16,    17,  3208,   592,   925,
++     459,  3212,    16,    17,   865,   631,    11,  3163,   369,  3167,
++    2748,   372,  3798,   631,   612,   189,  4032,   878,  4034,   608,
++     369,   540,   581,   372,    63,    16,    17,   612,   617,  3493,
++     527,   612,  1645,   631,   215,   629,    16,    17,  3228,  4080,
++     612,   967,    16,    17,   385,   630,   631,   612,  3047,   630,
++     631,   157,    34,   370,   283,   552,   612,  2754,  1885,   631,
++    3382,  2873,  1540,   989,   128,  4106,   631,   355,  2873,  3391,
++    1885,    16,    17,  2774,   630,   631,  2836,  2837,   819,   369,
++     191,   349,   372,  2464,  2465,    12,   629,   636,  1915,    90,
++     633,   266,  1018,   612,    16,    17,  2997,  2997,   138,  3059,
++    1915,   612,  4187,   612,   177,  1031,   157,   157,  2381,   629,
++    2383,  2384,  2826,   153,   233,  2383,  2384,   400,   224,  2166,
++     631,   630,   631,   242,   129,  2430,  3030,    16,    17,  2774,
++     398,   174,    16,    17,   541,  2113,   159,   544,   879,   167,
++     612,  2947,   612,   154,  1070,   224,  2451,   420,  1074,  2728,
++    2729,  2730,   612,   164,   352,  2317,  3203,   612,   630,   631,
++     630,   631,  1191,   612,   231,   612,   194,  1738,   367,   558,
++     630,   631,  2241,   612,   369,   612,   631,   372,    16,    17,
++     369,   612,   631,   372,   631,  2997,   415,    16,    17,  1115,
++    2948,   630,  2997,   582,   631,   370,   204,  2519,   589,  1228,
++     631,   592,  2899,  1129,    16,    17,   612,   458,   231,  1070,
++     612,  1824,  1878,  1074,   141,   266,   266,  2410,   388,    16,
++      17,  2069,  1888,  2828,   630,  1891,  1892,  2247,  2248,  3693,
++     482,   527,  3485,  3486,   345,   531,   194,  1938,  3152,  3055,
++    2069,   249,   125,   369,  2337,   125,   372,   369,  2392,    64,
++     372,   612,   386,  1179,  3906,  3907,   375,   464,    16,    17,
++    1753,   797,  2567,   612,  1755,  1191,  2313,    52,  2573,   351,
++     631,   369,   464,   315,   372,   348,   349,  3191,    63,  2240,
++     369,   354,   631,   372,   363,   352,  1743,   570,   629,  2250,
++     354,   564,   531,  1322,   189,  1788,    16,    17,   432,   473,
++     298,   369,  1228,     0,   372,   125,    25,  1233,    16,    17,
++      16,    17,  1238,  3217,   631,  2408,   298,  3316,  3947,  1812,
++    1813,  1247,   612,    16,    17,  1816,  2430,   508,   369,   352,
++    2408,   372,   438,  4013,   622,    16,    17,   464,   126,    25,
++     369,   631,  1799,   372,   369,    16,    17,   372,   369,   623,
++    3804,   372,   157,  1845,   890,   369,   630,   368,   372,  1285,
++      16,    17,   370,   445,   184,    16,    17,   372,   411,    16,
++      17,  1297,    19,  1299,  2075,  3777,  1302,  1238,   369,   608,
++     275,   372,  2737,  3374,   423,  2086,  4471,   397,  1314,   369,
++     472,   211,   372,  1303,   569,   369,  1322,   280,   372,   597,
++     280,    16,    17,   338,  2497,    16,    17,  1333,  1334,   410,
++    3612,   617,   410,    16,    17,   657,   658,   612,    12,  2497,
++      16,    17,   629,   612,   369,   360,   596,   372,  3238,    16,
++      17,  1357,   247,   191,  1360,   480,   631,   629,  1467,   617,
++     159,   630,  1368,   617,   402,   512,   177,   369,   204,  3259,
++     372,   531,   240,    12,  1380,  1381,  1382,  1383,  1384,  1385,
++     280,    16,    17,  2567,  1390,  1375,  3282,    16,    17,  2573,
++    1396,  1397,   355,  1399,   473,   355,  1402,  1380,  1381,  1382,
++     369,  1384,   555,   372,   482,   369,   612,   272,   372,   512,
++     612,    16,    17,   535,  1397,   464,  1422,   631,   571,  1402,
++    2881,   130,   629,   266,   464,   631,  3334,    16,    17,   631,
++     464,   630,   231,    20,   612,    16,    17,    16,    17,   167,
++     562,   191,  1383,   612,  1385,   536,    16,    17,   573,   635,
++     597,   369,   347,   631,   372,   355,   339,   580,    16,    17,
++     369,  1467,   631,   372,   612,   231,  2819,   141,   629,  2564,
++     601,   601,    82,    12,   129,  1481,   637,   369,  1484,  1485,
++     372,  1422,   630,  1473,  3478,   272,    96,  2948,  2873,   239,
++     615,   612,   369,   531,   597,   372,  3852,  1113,    32,    16,
++      17,   637,   141,   612,   635,   635,   305,   612,   631,   630,
++    1516,   612,    16,    17,    16,    17,  4248,  4249,   612,    16,
++      17,   142,   631,  3805,    16,    17,   631,   370,   631,   630,
++    1536,   369,  1538,  1539,   372,  1541,  1542,   631,   617,   305,
++    1481,   612,   111,   354,  1485,   464,   133,  1163,  1554,   417,
++    1556,  1167,   612,   352,  2612,  1538,  1539,  3628,   612,  2708,
++     631,   548,    16,    17,    17,   242,   353,   582,   464,   369,
++     629,   631,   372,   402,   283,  3569,   223,   631,   637,  4192,
++     629,   369,  4195,   369,   372,   262,   372,   612,  2761,   629,
++     464,   464,  4074,  2244,   508,   629,   369,   560,   167,   372,
++     560,   204,   141,  2761,    16,    17,   631,   167,   369,   504,
++     612,   372,  2997,  3851,    16,    17,  4098,  4099,   369,   339,
++     370,   372,   517,    16,    17,   194,   507,   524,   525,   631,
++     511,   528,   529,   369,   194,   532,   372,   534,   369,  1645,
++    1646,   372,   369,   612,   254,   372,   514,  1756,   612,  2430,
++     464,  2342,  2343,  2344,   537,    16,    17,    16,    17,  2754,
++     560,   531,   631,  2136,    16,    17,   630,   586,   587,   228,
++    2143,    16,    17,   502,   369,   623,   590,   372,   369,   534,
++     563,   372,   630,  2156,    16,    17,   369,    82,   130,   372,
++      89,    16,    17,   369,   612,  1017,   372,  1703,  3133,    16,
++      17,  2516,   369,   612,  4317,   372,   327,   228,   242,   108,
++     629,    17,   630,   512,   609,   325,  2189,   191,   286,   287,
++     612,   630,   228,  3500,   553,  3574,  3735,  3736,  3577,  3510,
++     630,   265,   223,   629,   369,   612,  3421,   372,   630,  1745,
++     369,   351,   204,   372,   555,   364,  1068,  1753,   339,  1755,
++    1756,    16,    17,   630,    19,   629,   629,   239,    16,    17,
++     571,  1767,    47,  1769,   369,  4207,   595,   372,   242,  1775,
++    1776,   213,  1778,   191,   612,  3556,   472,  2350,    16,    17,
++     369,  3630,  1788,   372,  2257,  1791,  2567,    31,   369,  1795,
++     369,   372,  2573,   372,    16,    17,    16,    17,   597,   369,
++     348,   349,   372,   413,  2899,   587,  1812,  1813,  1814,  1815,
++    1816,   369,   612,  2997,   372,   629,   283,   537,  1824,   633,
++    1810,  1827,  1828,  1829,   612,   220,   612,   222,   267,   603,
++     630,   270,   631,   402,  1775,  1776,   142,  1778,  1844,   612,
++      84,   283,   630,   563,   630,   580,   581,  1853,   583,    82,
++    1791,   612,   369,   582,  1795,   372,   251,   630,  1848,   427,
++     428,   612,    58,   630,   540,   369,   635,   369,   372,   630,
++     372,     8,   369,  1814,  1815,   372,   612,   369,   637,   630,
++     372,   612,   576,  2773,  1890,   612,  1827,  1828,  1829,   582,
++     424,    39,   502,    30,   630,   366,  1902,   155,    46,   630,
++     142,   502,   631,  1909,    82,  2477,   161,  2814,   637,   629,
++     629,   155,    59,    60,   188,   369,  2823,   612,   372,  2814,
++     817,   612,   438,    25,    71,  3833,  3834,  3835,  2823,   612,
++     220,  3204,   222,  1923,  3034,   630,   612,   630,   631,   630,
++     195,   201,  1932,  1933,   464,   612,   537,   630,  4015,  1890,
++    4017,     6,   472,  1943,  1944,  1945,  1946,   369,  1948,  1949,
++     372,  3955,   531,   630,  3064,  3065,   629,   369,  1909,   191,
++     372,   191,   563,   412,    11,  2084,   369,   612,   174,   372,
++      82,  2090,   178,   612,   553,  3085,  3159,   220,   233,   222,
++     245,   629,    12,   189,   527,   630,   629,   242,   531,   629,
++    2006,   630,   257,   624,   625,   626,   627,   612,   369,  3362,
++     369,   372,   272,   372,  3362,  2021,   629,   369,   251,  2128,
++     372,   327,    42,   612,   369,   630,   595,   372,   537,  1005,
++    1006,   612,  2141,   612,   629,  3787,   629,   369,   629,   582,
++     372,   630,   612,  3216,   369,   578,   629,   372,   171,   630,
++     360,   630,   369,   231,   612,   372,  2046,  2047,  3216,  2049,
++     630,  2051,  2052,  2053,  2054,  2055,   586,   587,  2058,  1045,
++    2060,   637,   630,   175,  2889,   629,  3249,    97,  2084,  2825,
++     125,  2774,   102,   629,  2090,   327,  2092,   342,   631,  2095,
++     631,  3249,  4086,   629,   637,   612,  2102,  2103,  2104,  2105,
++     125,   361,  2108,   128,   369,  2920,   629,   372,   612,   629,
++     612,   369,  2095,   630,   372,   612,  2931,   313,   629,  2934,
++     612,    11,  2128,   512,  2233,   453,   630,   415,   630,   231,
++     375,   369,    12,   630,   372,  2141,    25,  1286,   630,   184,
++    1289,  3949,   629,  1292,   604,   605,   629,   369,   436,   369,
++     372,   629,   372,   397,  3906,  3907,  2265,   453,   612,   184,
++      21,  2102,  2103,  2104,  4072,  2980,  3984,   125,   346,   475,
++     476,   631,   629,    34,   352,   419,   630,  2714,   527,   467,
++     630,   631,   531,  2756,  3992,  3993,   211,    48,  3996,  3997,
++    3998,  3999,   629,    82,   629,  3233,  3234,   629,    59,    60,
++     612,   630,   631,   305,  2777,  2778,  2779,   451,  3985,   469,
++     612,   582,    17,  3358,  3359,   411,  2997,   401,   630,   612,
++    3320,   111,   629,   540,   244,   527,   184,  2233,   630,   531,
++    2703,  2804,   528,   629,    26,   280,   367,   630,   534,   129,
++    3811,  3812,    32,   421,   346,   629,   595,   630,   631,   629,
++     352,   612,  2258,   612,   629,   280,   629,  3718,  3719,  2265,
++     612,   141,  2371,   507,  2373,  2374,   629,   612,   527,   630,
++     159,   630,   629,  2279,   629,    12,  3449,   167,   630,    71,
++     612,   629,   578,    58,   631,   630,   175,   612,  4096,  4097,
++      82,  3449,   224,   595,   314,   612,   629,  4105,   630,   595,
++    4052,  4053,  3360,   629,   194,   630,  2312,   629,  2417,  2418,
++     355,   630,   631,   629,   620,   621,   622,   623,   624,   625,
++     626,   627,   280,  4100,   629,   558,   630,   631,  4013,   629,
++     355,  2337,   629,   213,   512,  3271,   128,   142,  3274,  3275,
++      16,    17,   231,   629,  2350,    34,   629,   612,   629,   582,
++     630,   631,   142,   629,   612,  3291,   629,  2363,   378,  2365,
++     629,  3506,   617,   618,   619,  2371,   629,  2373,  2374,   630,
++     631,    60,   629,  2363,   612,  2381,   629,  2383,  2384,  2488,
++     622,   623,   624,   625,   626,   627,   276,   565,   629,  3960,
++     612,   360,   612,  3964,  4146,   630,   631,   355,   735,   174,
++     630,   631,  2408,   178,   141,  3500,   630,   631,   629,  4161,
++     512,  2417,  2418,   629,   189,  3401,   305,   629,   755,   597,
++     142,  1776,  4174,  1778,    16,    17,   115,   629,   220,   118,
++     222,   768,   769,   593,   594,   631,   596,   126,   598,   630,
++     631,   630,   631,   119,   120,   121,   122,   123,  3384,    82,
++     104,  2457,   242,   629,   143,   629,  2462,   346,   630,   631,
++     252,  2467,   629,   352,   629,  2471,   629,  2473,   629,   202,
++     490,  4465,  1827,  1828,  1829,   265,   213,  2483,   629,  2485,
++    2486,   488,  2488,  2458,  4236,  2475,  2476,    19,   629,  2495,
++     629,  2497,   360,  2468,   629,   597,  4248,  4249,   111,  2474,
++     629,  2507,    59,    60,   524,   630,   631,   629,   125,     6,
++    2516,  2501,   402,    19,   629,   560,   629,  2523,  2524,   629,
++      26,  2496,   327,  2529,   630,   631,   159,  2502,   151,   152,
++    2536,   629,  3183,  2508,  2509,   560,   629,   327,   313,  2529,
++     216,   217,   218,   219,  4296,   104,   630,   631,   630,   631,
++     629,   240,  4123,  4124,  4306,   629,   348,   349,   348,   349,
++      57,   629,   354,   630,   631,    71,  2507,   184,   360,   302,
++     303,   629,   104,  2563,   307,   308,    82,   629,   232,  4397,
++     470,   629,  3727,  3728,    49,  3730,  3731,   630,  2594,  2595,
++    3163,   630,   631,   277,   211,   249,    49,  4349,   231,  4351,
++    3073,   214,   560,   630,   631,   327,   360,   261,   400,  4361,
++    3657,  3658,   502,   630,   631,   631,   496,   497,   498,   499,
++     500,   501,   128,   512,   360,   157,   630,   631,  4380,   458,
++    4382,   569,  4384,   513,   424,   624,   411,   166,   528,  4391,
++    3113,   317,   472,   319,   320,   321,   630,   631,   145,   629,
++    4402,   340,   328,  2594,  4472,   187,   266,   189,   630,   631,
++     630,   631,   189,   280,   630,   631,  4418,  4419,   630,   631,
++     475,   476,   204,   232,   508,    80,   468,   209,   630,   631,
++     630,   631,  4434,  4435,   338,   475,   476,  4439,   630,   631,
++     249,   197,   224,   369,   630,   631,   372,   630,   631,   489,
++     232,   527,   261,   630,   631,   595,   567,   239,   597,   630,
++     631,   630,   631,   346,   220,  3842,   222,   249,  2724,   352,
++     166,  2727,  2728,  2729,  2730,   630,   631,   588,   589,   261,
++    2736,   630,   631,   409,   266,   630,   631,   508,   355,   630,
++     631,    63,   631,   275,   630,   631,   252,   630,   631,  2755,
++    2756,   630,   631,   475,   476,  2761,   630,   631,    80,   496,
++     497,   277,   499,   376,   501,   630,   631,   125,  2774,  3755,
++      92,  2777,  2778,  2779,   387,  3761,   513,   158,   570,   338,
++      91,   394,   631,   188,  2790,   461,   462,   362,   421,   523,
++    2796,   480,  2798,  2902,   630,  2736,   450,   157,  2804,  3371,
++    2790,   125,   630,   631,   128,  3342,   338,   630,   631,  3982,
++      60,   630,   631,  2819,   128,   620,   621,   622,   623,   624,
++     625,   626,   627,   228,  3982,   114,   184,    63,   360,   636,
++     620,   621,   622,   623,   624,   625,   626,   627,   370,     6,
++    1164,  1165,   348,   349,    80,   629,   123,   252,   354,  3169,
++    3170,   113,   349,   211,   360,   544,    92,   104,   463,   513,
++     184,     4,   220,   595,   222,   115,   188,   242,   118,   631,
++     402,   193,   386,   486,  3126,  3127,   126,  2883,    56,   512,
++    2886,  2887,   142,  2889,   573,  3430,  3431,   211,   430,   171,
++    3985,   450,   114,   143,   400,   221,  2902,   637,    71,  2905,
++     622,   623,   624,   625,   626,   627,   228,   142,   631,    12,
++     631,   182,   600,  2903,  2920,   630,   630,   414,   450,   416,
++     141,  2911,   280,   599,   195,  2931,   537,     9,  2934,   631,
++     252,   637,   565,  4053,   630,   185,   612,   613,   614,   630,
++     472,   159,   219,   560,   637,    19,   629,  3532,  3533,   265,
++    2956,   142,   188,  2959,   513,   637,   280,   193,  2964,   631,
++    3545,   636,   468,    49,   597,   578,   125,  3552,  2974,   277,
++     277,   277,  2978,   277,  2980,   277,   277,   527,   631,   125,
++     634,   513,   242,   629,   255,   232,   257,   272,   631,  2995,
++     240,  2974,   228,  3578,  3579,   400,   385,   355,   631,   631,
++     548,    82,   249,   631,  3010,  4100,    12,   242,  1084,  1085,
++    1086,  3017,  3002,  4186,   261,    96,   252,   548,  2959,   631,
++     617,   624,   631,  3029,   631,   184,  1102,   631,  4186,   242,
++     104,   355,   243,   525,   179,   189,   631,   569,   184,   574,
++     317,  3732,  3733,  3734,   321,   631,    85,  4033,    87,   581,
++     582,   328,   211,   485,   389,   136,   630,  3947,  1134,   137,
++     360,  1137,   631,  3172,   570,   211,   631,   327,   617,   601,
++     617,   603,   617,   617,   345,   631,  3017,  3766,   400,  3188,
++    1156,  1157,   607,   157,  1160,   617,   576,   337,   194,   128,
++     340,   338,   327,   617,   617,   617,   617,   617,   630,   631,
++     617,  3107,   634,   635,  1180,  1181,    26,    27,   617,  3115,
++     149,   581,   617,   360,   617,   189,  4236,   617,   617,   617,
++     125,   280,  3694,   617,   617,  3115,   360,   360,   399,   360,
++     204,   191,   409,  3139,   280,   209,   327,   624,  4265,    59,
++      60,   630,    62,  3680,   183,   631,   630,   630,   630,   630,
++     386,    71,   630,  3159,  3160,   630,   630,  3163,   232,   191,
++     631,   623,    82,   629,   400,   239,  3172,   417,   631,   491,
++      90,    80,  3178,   254,   630,   249,   630,   569,   630,   184,
++     630,    55,  3188,   630,   627,   462,   631,   261,   630,   142,
++    3196,    65,   266,   630,   114,   630,   355,   473,  3790,   629,
++     629,   275,   560,   450,  3893,   629,   211,    81,   128,   355,
++    3216,   131,   630,   601,   631,   475,   476,   548,   230,    93,
++      94,    95,  3228,   629,   519,    11,   202,   191,   637,  4349,
++     191,  4351,  3238,   630,  3240,   109,   560,   169,  4365,   159,
++     475,   476,   454,  3249,   325,   410,   472,   631,   570,  3255,
++     189,  3257,   631,  3259,    47,   491,   336,   502,   502,  4432,
++    4380,   502,   502,   502,   338,  3374,   513,   348,   349,   463,
++     351,  3846,    80,   386,  4432,   280,   386,   386,   548,   188,
++     137,   250,  4455,   250,   475,   476,   360,   137,   386,  4462,
++    4276,  4277,    47,  4279,   544,  4468,   370,  4455,  4418,  4419,
++     220,   528,   222,   528,  4462,   433,   629,   386,   228,   384,
++    4468,   629,   576,   386,   386,   386,   236,   276,   637,   228,
++     629,   582,   599,   573,   155,   630,  3332,   630,   402,   548,
++     238,   251,   413,   104,   570,  3325,   238,   614,   637,   378,
++     630,   637,  4328,   252,  4330,  4331,   617,   618,   619,   630,
++     355,  3357,  3358,  3359,   637,  3464,  3362,   630,  3348,   637,
++     620,   621,   622,   623,   624,   625,   626,   627,  3374,   637,
++     637,   630,   630,   630,   327,   631,   450,   548,   548,   631,
++     537,   272,    88,   422,   304,   620,   621,   622,   623,   624,
++     625,   626,   627,   608,    47,   548,   367,   629,   472,     6,
++     629,   560,   322,   617,   191,   629,    13,  4393,    15,   629,
++     617,   191,   191,   239,   560,   191,  4063,    82,   246,    26,
++      27,   502,   169,   631,   355,    90,  4001,   637,   637,   620,
++     621,   622,   623,   624,   625,   626,   627,   249,  3444,   513,
++     249,   318,   316,  3449,   373,  3554,  4430,   114,   114,   114,
++      57,   252,   252,   637,   548,    62,    63,   377,  3464,   379,
++     334,   232,    69,   629,   204,   629,   366,   387,   537,   447,
++     386,   629,   370,   624,   637,    82,   240,   386,   249,   629,
++     629,   240,   630,    90,   603,  1561,   630,   624,   630,   494,
++     261,   400,   630,   100,   159,   569,   630,   637,   630,  4036,
++    3506,   630,   360,   630,   629,   224,   630,   114,   582,   631,
++     111,   267,   333,   386,   631,  4087,   630,  3523,   191,  3628,
++     575,   128,   475,   476,   131,   637,   242,   601,  4065,   603,
++     263,   138,   139,    71,   249,   455,   249,   360,   145,   631,
++     629,  3516,   252,   617,   252,   630,   153,   631,  3554,   398,
++     157,    82,   159,   629,   631,   560,   630,   631,   360,    19,
++     634,   635,   360,   228,   631,  3555,   167,   338,   630,   360,
++     631,  1647,   629,   488,  3580,  1651,   360,    47,   464,   630,
++     187,  3587,   629,   629,   629,   266,   460,  3696,   629,   360,
++      26,    27,   512,   194,   630,    47,   466,  1673,    36,  3605,
++     630,   603,   415,   202,  3594,   148,   630,   259,   528,   630,
++     204,   631,   532,   220,   474,   222,   629,   249,   629,   226,
++     249,   228,  3628,    59,    60,   629,    62,   228,   631,   236,
++     128,   551,   128,   629,   396,    71,   637,    86,   482,   304,
++     144,   515,   630,   488,   251,   459,    82,   630,   630,   569,
++     631,   630,    19,   630,    90,   630,   630,   322,   630,   533,
++      34,    12,    13,    34,   355,    60,  4313,   240,   621,   622,
++     623,   624,   625,   626,   627,   276,   630,   324,   114,   450,
++     118,   346,   630,   630,   630,   254,   410,   125,   275,   367,
++    3696,   603,   128,   239,   629,   131,   630,   304,   631,   637,
++      47,   209,   324,   631,   415,   537,   582,   537,  3714,   630,
++     582,   631,   629,   301,   592,   322,   629,   592,   629,   326,
++      14,  3727,  3728,   159,  3730,  3731,   629,   111,   629,   575,
++     629,    36,   629,  4146,   128,   252,    19,   252,   354,   177,
++     630,    34,   513,  3852,   631,   629,   184,  4322,  4161,   169,
++     454,   355,   103,   324,   173,    17,   537,   252,   365,   537,
++     631,  4174,   537,   370,   531,   629,   586,   630,   630,   360,
++     377,  3777,   379,   211,   212,   582,  4423,   582,   239,   386,
++     387,   132,   350,   587,   220,   506,   222,  3777,  4325,   447,
++    3796,  3797,   228,   603,   145,   355,   397,   169,    34,   138,
++     236,   402,  3808,   630,   367,   575,   631,   629,   189,   193,
++    4457,   418,   629,   118,   629,   251,   167,   518,   629,   170,
++     125,   156,    31,   600,   189,   432,   433,   434,   435,   265,
++     181,    67,   638,   630,   630,  3841,   630,   381,  3844,    61,
++     539,   137,   280,   159,   228,   137,  3852,   512,   455,   402,
++      73,   202,   600,   423,   191,   629,  3797,    31,    63,    63,
++     367,   630,  4399,   528,   519,   522,   631,   268,   304,   470,
++      47,   629,   177,     5,    47,   629,  3882,   228,   629,   184,
++     360,   360,   239,  4296,   235,   630,   322,   155,   136,   635,
++     367,   367,   276,  4306,   144,   629,    47,  3903,    47,   135,
++    3841,   339,  3908,   154,    47,   512,   211,   212,   132,   155,
++     600,   575,   350,   223,   282,   635,   354,   355,   150,   127,
++     638,   528,   454,   159,   275,   532,   162,   528,    47,   629,
++      47,    47,  4469,   534,   630,    53,   456,   635,   631,   221,
++     252,   377,   630,   379,   551,   155,   631,   540,  4361,   556,
++     206,   387,   553,   635,   631,    47,   630,    53,  3948,   630,
++     196,   631,   569,   437,   189,   224,   540,   602,   189,  4382,
++     189,  4384,   128,   355,   190,   280,  3982,   578,  4391,   215,
++     629,   472,  2062,   631,  3913,  2272,  3335,  3334,  2446,  4402,
++     658,  3603,  4101,   229,   595,  3940,  4255,  4066,  4256,  3601,
++    3605,  3795,  1002,  4457,  4410,    46,   578,  1823,  4420,  4015,
++    2774,  4017,  3787,  4019,  3787,  3787,  3787,  3787,   675,   455,
++    3787,  4434,  4435,   680,  3787,  3787,  4439,  3787,   635,  3787,
++    4293,  4139,  4293,  3787,   339,  4249,  3787,  3787,  4165,  4045,
++    4164,   277,  1476,  1747,  1043,  2020,  1486,  1478,  3945,   354,
++     355,  2929,   403,  2750,  3443,  2755,   407,  3139,  4091,  3842,
++     717,  4190,   298,  3446,  1319,  4365,  4273,  4322,  4074,  4001,
++    1531,   517,   423,  3610,  2013,  3003,   512,   734,  3259,  2526,
++     431,  2595,  3238,  3247,  4074,  4091,   470,  2021,   439,  4340,
++    4036,  3753,   528,  3055,  3282,  4101,   532,  3316,  4207,   537,
++    3565,  4107,  4087,   541,  4094,  4095,   544,   491,  3554,  4023,
++      11,  3188,    11,   464,  4123,   551,  4124,   555,   775,   776,
++     777,   778,   560,  1545,  3964,   563,   477,   478,  3951,  3960,
++     787,  3808,  2100,   569,  3761,  2020,  3240,  2519,   971,   631,
++    1897,  3520,  1436,  3239,   528,  2332,  1814,   531,  1485,  1527,
++     534,  2736,  2305,  3134,  2354,  3789,   599,  2223,   911,  3115,
++    1834,  2135,  4271,  2714,  1129,   401,  2409,  2132,  2222,  3206,
++    3867,   522,  3721,  4222,   410,  3332,  4223,  1102,  2251,  3249,
++    4186,  3715,  2819,  1452,   622,   623,   570,  4399,  2515,   425,
++    3696,    12,    13,   629,   578,  2359,  2105,    13,  1302,  1334,
++    2299,  4207,   553,  2336,  3449,  3154,  3153,   443,  4198,  4199,
++    3216,   868,  4186,   589,  1554,   671,  4222,  4223,   577,  1886,
++    1388,  1416,  1887,  1766,   575,  3257,   577,  3137,  4315,  1340,
++    4214,  4363,   537,  4283,  4462,  4468,   541,  3159,  3556,   544,
++    1839,  2806,  1368,  3196,  3475,  3704,   482,   483,   569,  1795,
++     555,  1358,   893,  3831,  1294,   560,  1536,  3837,   563,  2724,
++     898,   570,   658,    -1,   513,  4271,   513,   658,   658,    -1,
++      -1,    -1,   508,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
++      -1,    -1,   103,    -1,    -1,    -1,    -1,   103,    -1,    -1,
++      -1,   527,  4298,    -1,   530,   531,    -1,    -1,    -1,  4305,
++      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
++      -1,   132,    -1,    -1,    -1,    -1,   132,   622,   623,    -1,
++      -1,    -1,    -1,    -1,   145,    -1,    -1,    -1,    -1,   145,
++     119,   120,   121,   122,   123,    -1,    -1,    -1,    -1,    -1,
++      -1,    -1,  4451,   579,    -1,    -1,   167,  4337,    -1,   170,
++      -1,   167,    -1,    -1,   170,    -1,    -1,    -1,    -1,    -1,
++     181,    -1,    -1,    -1,    -1,   181,    -1,  1024,    -1,    -1,
++      -1,    -1,    -1,    -1,    -1,  4381,    -1,    -1,    -1,    -1,
++    4386,   202,    -1,    -1,    -1,    -1,   202,    -1,    -1,    -1,
++      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
++      -1,    -1,    -1,    -1,    -1,    -1,    -1,   228,    -1,    -1,
++      -1,    -1,   228,    -1,   235,    -1,    -1,  4423,    -1,   235,
++      -1,    -1,    -1,  1080,  1081,    -1,  4432,   216,   217,   218,
++     219,    -1,  1089,  1090,  1091,  1092,  1093,  1094,  1095,  1096,
++    1097,  1098,  1099,  1100,  1101,  4451,    -1,    -1,    -1,  4455,
++      -1,  4457,  1109,  1110,   275,  1112,  4462,  1114,    -1,   275,
++      -1,  1118,  4468,    -1,  1121,  1122,  1123,  1124,    -1,  1126,
++    1127,  1128,    -1,    -1,    -1,    -1,    -1,    -1,  1135,  1136,
++      -1,  1138,  1139,  1140,  1141,  1142,    -1,    -1,  1145,  1146,
++    1147,  1148,  1149,  1150,  1151,  1152,  1153,  1154,  1155,    -1,
++      -1,  1158,  1159,    -1,    34,  1162,    -1,    -1,    -1,  1166,
++      -1,  1168,  1169,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
++      -1,    -1,    -1,    -1,    -1,  1182,  1183,    -1,   317,    -1,
++     319,   320,   321,  1190,    -1,    -1,    -1,    67,    -1,   328,
++    1197,  1198,  1199,  1200,    -1,    -1,    -1,    -1,    -1,    -1,
++      -1,  1208,  1209,  1210,    -1,  1212,  1213,  1214,  1215,  1216,
++      -1,  1218,  1219,  1220,  1221,  1222,  1223,  1224,  1225,    -1,
++      -1,    -1,  1229,  1230,    -1,    -1,    -1,    -1,    -1,    -1,
++      -1,    -1,   403,    -1,    -1,    -1,   407,   403,    -1,    -1,
++      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
++      -1,    -1,   423,    -1,    -1,   135,    -1,   423,    -1,    -1,
++     431,    -1,    -1,    -1,    -1,   431,    -1,    -1,   439,    -1,
++     409,    -1,    -1,   439,    -1,    -1,    -1,    -1,    -1,   159,
++      -1,    -1,   162,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
++      -1,    -1,    -1,   464,    -1,    -1,    -1,    -1,   464,  1306,
++      -1,    -1,    -1,    -1,    -1,    -1,   477,   478,    -1,    -1,
++      -1,   477,   478,    -1,    -1,    -1,   196,    -1,    -1,    -1,
++      -1,    -1,   461,   462,    -1,   680,    -1,    -1,    -1,    -1,
++      -1,    -1,    -1,    -1,    -1,   215,    -1,    -1,    -1,    -1,
++      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   229,
++      -1,   522,    -1,    -1,    -1,    -1,   522,    -1,    -1,    -1,
++      -1,  1368,   717,    -1,    -1,    -1,    -1,    -1,    -1,  1376,
++      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   734,
++      -1,   225,   553,    -1,    -1,    -1,    -1,   553,    -1,    -1,
++      -1,    -1,    -1,    -1,    -1,    -1,    -1,   277,    -1,    -1,
++      -1,    -1,    -1,    -1,   575,    -1,   577,    -1,    -1,   575,
++      -1,   577,    -1,    -1,    -1,    -1,    -1,    -1,   298,    -1,
++      -1,    -1,    -1,   778,    -1,    -1,    -1,    -1,    -1,    -1,
++      -1,    -1,    -1,    -1,    -1,    -1,    13,    -1,    15,    -1,
++     284,   285,   286,   287,   288,   289,    -1,   291,   292,   293,
++     294,   295,   296,   297,    31,   299,   300,    -1,    35,    -1,
++     599,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
++      -1,  1478,    49,    50,   613,   614,    -1,    -1,    -1,    -1,
++      57,    -1,    -1,    -1,    -1,    62,    63,    -1,    -1,    -1,
++      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
++      -1,    -1,    -1,    -1,    -1,    -1,    -1,    84,    -1,    -1,
++      -1,    -1,    -1,   868,    -1,    -1,    -1,    -1,    -1,    -1,
++      -1,   401,    -1,    -1,    -1,    -1,   103,    -1,    -1,    -1,
++     410,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
++      -1,    -1,    -1,    -1,    -1,   425,    -1,   124,    -1,    -1,
++      -1,    -1,    -1,    -1,    -1,   132,   133,   134,    -1,    -1,
++    1567,    -1,    -1,   443,    -1,    -1,    -1,   144,   145,    -1,
++      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
++     157,    -1,    -1,   427,   428,    -1,    -1,    -1,    -1,    -1,
++      -1,    -1,    -1,   170,    -1,    -1,    -1,    -1,    -1,    -1,
++      -1,    -1,   482,   483,    -1,    -1,    -1,    -1,    -1,   186,
++      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
++      -1,    -1,    -1,    -1,    -1,   202,    -1,    -1,   508,   206,
++      -1,    -1,    -1,   210,    -1,    -1,    -1,    -1,    -1,    -1,
++      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
++     530,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   235,    -1,
++     237,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1024,
++      -1,    -1,  1679,  1680,  1681,    -1,   253,    -1,    -1,    -1,
++      -1,    -1,    -1,    -1,    -1,    -1,  1693,    -1,    -1,    -1,
++      -1,    -1,    -1,    -1,   271,    -1,    -1,    -1,   275,   579,
++      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
++      -1,    -1,  1719,    -1,    -1,    -1,    -1,    -1,  1725,    -1,
++      -1,  1728,    -1,  1730,    -1,  1080,  1081,    -1,    -1,  1736,
++      -1,  1738,  1739,    -1,  1089,  1090,    -1,    -1,  1093,  1094,
++    1095,  1096,  1097,  1098,  1099,  1100,  1101,    -1,    -1,    -1,
++      -1,    -1,    -1,    -1,  1109,  1110,    -1,  1112,    -1,  1114,
++      -1,    -1,    -1,    -1,    -1,    -1,  1121,  1122,  1123,  1124,
++      -1,    -1,  1127,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
++    1135,  1136,    -1,  1138,  1139,    -1,    -1,    -1,   365,    -1,
++    1145,  1146,  1147,    -1,    -1,  1150,  1151,  1152,  1153,  1154,
++    1155,    -1,  1809,  1158,  1159,   382,    -1,  1162,    -1,   386,
++      -1,  1166,    -1,  1168,  1169,    -1,    -1,    -1,    -1,    -1,
++     397,    -1,    -1,    -1,    -1,    -1,    -1,  1182,  1183,    -1,
++      -1,   408,    -1,    -1,    -1,  1190,    -1,    -1,    -1,    -1,
++      -1,    -1,  1197,  1198,  1199,    -1,    -1,    -1,    -1,    -1,
++      -1,    -1,    -1,   430,    26,    27,   433,    -1,   435,    -1,
++      -1,   438,    -1,    -1,   441,   442,    -1,    -1,    -1,    -1,
++      -1,    -1,   449,    -1,   451,  1230,    -1,    -1,    -1,    -1,
++      -1,   458,    -1,    -1,    -1,    -1,    -1,   464,    -1,    -1,
++      62,    -1,    -1,    24,    -1,   472,    -1,    -1,    -1,    -1,
++     477,    -1,   479,    34,    35,   482,    -1,    -1,    -1,    -1,
++      82,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    90,    -1,
++      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    59,    60,
++     507,    -1,    -1,    -1,   511,    -1,    67,    -1,    -1,    -1,
++      -1,    72,   114,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
++      -1,  1306,    -1,    -1,    -1,    -1,   128,    -1,    -1,   131,
++      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    99,    -1,
++     101,    -1,   103,    -1,    -1,    -1,    -1,    -1,    -1,   556,
++      -1,   112,    -1,    -1,    -1,    -1,    -1,   159,    -1,    -1,
++      -1,   568,    -1,    -1,    -1,   572,    -1,    -1,   575,    -1,
++      -1,    -1,    -1,    -1,   581,    -1,  2013,    -1,    -1,    -1,
++      -1,    -1,    -1,  1368,    -1,    -1,    -1,    -1,    -1,    -1,
++      -1,  1376,    -1,    -1,    -1,    -1,    -1,   158,   159,    -1,
++      -1,    -1,   163,   610,    -1,   166,  2043,    -1,    -1,   616,
++      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   220,    -1,
++     222,    -1,   629,    -1,    -1,    -1,   228,    -1,    -1,    -1,
++      -1,   192,    -1,   194,   236,    -1,    -1,    -1,    -1,    -1,
++     201,    -1,   203,    -1,    -1,    -1,    -1,    -1,    -1,   251,
++      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
++      -1,  2098,    -1,    -1,    -1,    -1,   227,   228,   229,    -1,
++      -1,    -1,    -1,    -1,    -1,    -1,    -1,  2114,    -1,    -1,
++      -1,  2118,    -1,    -1,    -1,    -1,  2123,  2124,    -1,   250,
++      -1,    -1,    -1,    -1,    -1,  2132,  2133,    -1,  2135,  2136,
++    2137,  2138,   304,  2140,    -1,    -1,  2143,    -1,    -1,    -1,
++      -1,   272,    -1,    -1,    -1,    -1,  2153,    -1,  2155,  2156,
++     322,  2158,  2159,  2160,  2161,    -1,  2163,    -1,    -1,  2166,
++      -1,    -1,    -1,    -1,    -1,    -1,    -1,   298,  2175,    -1,
++      -1,    -1,    -1,    -1,    -1,  2182,    -1,  2184,    -1,  2186,
++    2187,  2188,  2189,    -1,    -1,    -1,  2193,  2194,  2195,    -1,
++      -1,    -1,  2199,  2200,  2201,    -1,  2203,    -1,  2205,    -1,
++    2207,    -1,  2209,    -1,  2211,   377,    -1,   379,    -1,  2216,
++      -1,    -1,  1567,    -1,    -1,   387,    -1,    -1,    -1,    -1,
++      -1,    -1,    -1,    -1,    -1,    -1,    -1,  2234,    -1,    -1,
++      -1,    -1,    -1,   364,  2241,    -1,    -1,  2244,    -1,    -1,
++      -1,    -1,    -1,  2250,    -1,    -1,  2253,    -1,    -1,    -1,
++    2257,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   390,
++      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
++     401,   402,    -1,    -1,   405,   406,    -1,    -1,    -1,    -1,
++      -1,    -1,    -1,   455,    -1,    -1,    -1,    -1,    -1,    -1,
++      -1,    -1,    -1,    -1,    -1,   426,    -1,    -1,    -1,    -1,
++      -1,    -1,    -1,    -1,    -1,    -1,  2313,    -1,    -1,    -1,
++      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
++      -1,    -1,    -1,    -1,  1679,  1680,  1681,    -1,    -1,    -1,
++      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   469,    -1,
++     512,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
++      -1,   482,    -1,    -1,    -1,    -1,   528,    -1,    -1,    -1,
++     532,    -1,    -1,    -1,  1719,    -1,    -1,    -1,    -1,    -1,
++      -1,    -1,    -1,  1728,    -1,  1730,    -1,   508,    -1,   551,
++      -1,   512,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
++      -1,    -1,    -1,    -1,    -1,    -1,    -1,   569,    -1,   530,
++     531,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
++      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
++      -1,    -1,  2429,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
++      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
++    2447,  2448,    13,    -1,    15,    -1,    -1,    -1,   579,    -1,
++      -1,    -1,    -1,    -1,  1809,    -1,    -1,    -1,    -1,   590,
++      -1,    -1,    -1,    -1,    35,    -1,    -1,   598,    -1,    -1,
++      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    49,    50,
++      -1,    -1,    -1,    -1,    -1,    -1,    57,    -1,    -1,    -1,
++      -1,    62,    63,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
++      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
++      -1,    -1,  2519,    84,    -1,    -1,    -1,    -1,    -1,    -1,
++      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
++      -1,    -1,   103,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
++      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
++      -1,    -1,    -1,   124,    -1,    -1,    -1,    -1,  2565,  2566,
++      -1,   132,   133,   134,    -1,    -1,    -1,    -1,    -1,    -1,
++      -1,    -1,    -1,   144,   145,    -1,    -1,    -1,    -1,    -1,
++      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
++      -1,    -1,  2599,    -1,    -1,    -1,    -1,    -1,    -1,   170,
++      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  2616,
++      -1,    -1,    -1,  2620,    -1,   186,    -1,    -1,    -1,    -1,
++      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
++      -1,   202,    -1,    -1,    -1,   206,    -1,    -1,    -1,   210,
++      -1,    -1,    -1,  2650,  2651,    -1,    -1,    -1,    -1,    -1,
++      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
++      -1,    -1,    -1,  2670,   235,    -1,   237,    -1,    -1,    -1,
++      -1,    -1,  2679,    -1,  2681,    -1,  2683,    -1,    -1,    -1,
++      -1,    -1,   253,    -1,    -1,    -1,    -1,    -1,  2043,    -1,
++      -1,    -1,    -1,    -1,    -1,    -1,  2703,    -1,    -1,    -1,
++     271,  2708,    -1,    -1,   275,    -1,    -1,    -1,    -1,    -1,
++      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
++      -1,    -1,    -1,    -1,    -1,  2732,    -1,    -1,    -1,    -1,
++      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
++      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
++      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  2114,
++      -1,    -1,    -1,  2118,    -1,    -1,    -1,    -1,  2123,  2124,
++      -1,    -1,    -1,    -1,    -1,    -1,    -1,  2132,  2133,    -1,
++    2135,    -1,  2137,  2138,    -1,  2140,    -1,    -1,    -1,    -1,
++      -1,    -1,  2799,    -1,   365,    -1,  2803,    -1,  2153,    -1,
++    2155,    -1,    -1,  2158,  2159,  2160,  2161,    -1,  2163,    -1,
++      -1,   382,    -1,    -1,    -1,   386,    -1,    -1,    -1,    -1,
++    2175,    -1,    -1,    -1,    -1,    -1,   397,  2182,    -1,  2184,
++      -1,  2186,  2187,  2188,    -1,    -1,    -1,   408,  2193,  2194,
++    2195,    -1,    -1,  2850,  2199,  2200,  2201,    -1,  2203,    -1,
++    2205,    -1,  2207,    -1,  2209,    -1,  2211,    -1,    -1,   430,
++      -1,  2216,   433,    -1,   435,    -1,    -1,   438,    -1,    -1,
++     441,   442,    -1,    -1,    -1,    -1,    -1,    -1,   449,  2234,
++     451,    -1,    -1,    -1,    -1,    -1,    -1,   458,    -1,    -1,
++      -1,    -1,    -1,   464,    -1,  2250,    -1,    -1,  2253,    -1,
++      -1,   472,    -1,    -1,    -1,    -1,   477,    -1,   479,    -1,
++      -1,   482,     6,    -1,    -1,    -1,    -1,    -1,    -1,    13,
++      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
++      -1,    -1,    26,    27,    -1,    -1,   507,    -1,    -1,    -1,
++     511,    -1,    -1,    -1,    -1,    -1,    -1,    33,    34,    -1,
++      -1,    -1,    -1,    39,    -1,    41,    -1,    43,    44,    -1,
++      -1,    -1,    -1,    57,  2971,  2972,    -1,    -1,    62,    -1,
++      -1,    -1,    -1,    -1,    60,    -1,    -1,    -1,    -1,    -1,
++      -1,    -1,    -1,    -1,    -1,   556,    -1,    -1,    82,  2996,
++      -1,    -1,    -1,    -1,    -1,    -1,    90,   568,    -1,    -1,
++      -1,   572,    -1,    -1,   575,    -1,   100,    -1,    -1,    -1,
++     581,    -1,    -1,    -1,    -1,    -1,    -1,  3024,    -1,    -1,
++     114,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   115,
++    3037,    -1,   118,    -1,   128,    -1,    -1,   131,    -1,   610,
++     126,    -1,    -1,    -1,   138,   616,    -1,    -1,    -1,    -1,
++      -1,   145,    -1,    -1,    -1,    -1,    -1,   143,   629,   153,
++      -1,    -1,    -1,  3070,  3071,   159,  3073,    -1,    -1,    -1,
++      -1,    -1,    -1,    -1,   160,  3082,    -1,    -1,    -1,    -1,
++    3087,    -1,    -1,  3090,    -1,  3092,  3093,    -1,    -1,    -1,
++      -1,    -1,    -1,   187,    -1,    -1,    -1,   183,    -1,   185,
++      -1,    -1,    -1,    -1,    -1,    -1,  3113,    -1,    -1,    -1,
++      -1,    -1,   198,   199,    -1,    -1,    -1,    -1,    -1,    -1,
++      -1,  3128,    -1,    -1,    -1,    -1,   220,    -1,   222,    -1,
++      -1,    -1,    -1,    -1,   228,    -1,    -1,    -1,    -1,    -1,
++      -1,    -1,   236,    -1,    -1,    -1,  3153,    -1,    -1,    -1,
++      -1,    -1,    -1,    -1,   240,    -1,    -1,   251,    -1,    -1,
++      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
++      -1,    -1,    -1,    -1,    -1,    -1,  3183,    -1,    -1,    -1,
++      -1,    -1,    -1,   269,    -1,    26,    27,    -1,    -1,    -1,
++    3197,    -1,   278,   279,    -1,   281,    -1,    -1,    -1,    -1,
++      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
++     304,  3218,    -1,    -1,    -1,    -1,    -1,    -1,    59,    60,
++    3227,    62,    -1,    -1,   310,   311,   312,    -1,   322,    -1,
++      71,    -1,   326,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
++      -1,    82,    -1,   329,   330,   331,    -1,    -1,    -1,    90,
++      -1,   337,    -1,    -1,   340,    -1,    -1,    -1,    -1,    -1,
++      -1,  2616,    -1,    -1,    -1,  2620,    -1,    -1,    -1,    -1,
++     356,   357,    -1,   114,    -1,    -1,   370,    -1,    -1,    -1,
++      -1,    -1,    -1,   377,    -1,   379,    -1,   128,    -1,    -1,
++     131,    -1,    -1,   387,    -1,  2650,  2651,    -1,    -1,    -1,
++      -1,    -1,  3309,    -1,    -1,    -1,   392,   393,    -1,    -1,
++      -1,    -1,    -1,    -1,    -1,  2670,    -1,    -1,   159,    -1,
++      -1,    -1,    -1,    -1,  2679,    -1,  2681,    -1,  2683,    -1,
++      -1,   417,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   433,
++      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
++      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
++      -1,   455,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
++      -1,    -1,    -1,    -1,    -1,    -1,    -1,  2732,    -1,   220,
++      -1,   222,   468,    -1,    -1,    -1,   472,   228,    -1,    -1,
++      -1,    -1,    -1,    -1,    -1,   236,    -1,    -1,   484,    -1,
++      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
++     251,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   512,    -1,
++      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
++      -1,    -1,    -1,    -1,   528,    -1,    -1,    -1,   532,    -1,
++      -1,    -1,    -1,  3450,  2799,    -1,    -1,    -1,  2803,    -1,
++      -1,    -1,   538,    -1,    -1,   541,    -1,   551,   544,   545,
++     546,   547,    -1,   304,    -1,    -1,    -1,    -1,    -1,    -1,
++      -1,    -1,    -1,    -1,    -1,   569,    -1,    -1,    -1,    -1,
++      -1,   322,  3489,  3490,    -1,    -1,    -1,    -1,    -1,    -1,
++      -1,  3498,    -1,    -1,    -1,  2850,    -1,    -1,    -1,    -1,
++      -1,    -1,   588,   589,    -1,    -1,    -1,    -1,    -1,    -1,
++      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
++      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   614,    -1,
++      -1,    -1,    -1,    -1,    -1,    -1,   377,    -1,   379,    -1,
++      -1,    -1,    -1,    -1,    -1,    -1,   387,    -1,    -1,    -1,
++      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  3565,    -1,
++      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
++      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
++      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
++      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
++      -1,    -1,    -1,  3610,    -1,    -1,    -1,    -1,    -1,    -1,
++      -1,    -1,    -1,    -1,   455,    -1,  2971,  2972,    -1,    -1,
++      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
++      -1,    -1,    -1,    -1,    -1,  3642,    -1,    -1,    -1,  3646,
++      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
++      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
++      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
++    3677,   512,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
++      -1,    -1,  3037,    -1,  3691,    -1,    -1,   528,    -1,    -1,
++      -1,   532,    -1,    -1,    -1,    -1,    -1,  3704,    -1,    -1,
++      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
++     551,    -1,    -1,    -1,    -1,  3070,  3071,    -1,    -1,    -1,
++      -1,    -1,    -1,    -1,    -1,    -1,    -1,  3082,   569,    -1,
++      -1,    -1,  3087,    -1,    -1,  3090,    -1,  3092,  3093,    -1,
++      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
++      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
++      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
++      -1,    -1,    -1,  3128,    -1,    -1,    -1,    -1,    -1,    -1,
++    3787,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
++      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  3153,    -1,
++    3807,    -1,    -1,    -1,  3811,  3812,    -1,    -1,    -1,    -1,
++      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
++      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
++      -1,    -1,    -1,    -1,    -1,  3842,    -1,    -1,    -1,    -1,
++      -1,    -1,  3197,  3850,    -1,    -1,    -1,    -1,    -1,    -1,
++      -1,    -1,  3859,    -1,  3861,    -1,    -1,    -1,    -1,    -1,
++      -1,    -1,    -1,  3218,    -1,    -1,    -1,    -1,    -1,    -1,
++      -1,    -1,  3227,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
++      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
++      -1,    -1,    -1,  3900,    -1,    -1,    -1,    -1,    -1,  3906,
++    3907,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
++      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
++      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
++      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
++      -1,    -1,    -1,    -1,  3951,    -1,    -1,    -1,    -1,    -1,
++      -1,    -1,    -1,  3960,    -1,    -1,    -1,  3964,    -1,    -1,
++      -1,    -1,  3969,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
++      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
++      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
++      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  4006,
++      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
++      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  4025,    -1,
++      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
++      -1,  4038,    -1,  4040,    -1,    -1,    -1,    -1,    -1,    -1,
++      -1,    -1,    -1,  4050,    -1,  4052,  4053,    -1,    -1,    -1,
++      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
++      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
++    4077,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
++      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
++      -1,    -1,    -1,    -1,    -1,  3450,    -1,    -1,    -1,    -1,
++      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
++      -1,    -1,    -1,    -1,  4121,    -1,  4123,  4124,    -1,    -1,
++      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
++      -1,    -1,    -1,    -1,  3489,  3490,    -1,  4144,    -1,  4146,
++      -1,    -1,    -1,  3498,    -1,    -1,    -1,    -1,    -1,    -1,
++      -1,    -1,    -1,    -1,  4161,  4162,    -1,    -1,    -1,    -1,
++      -1,    -1,    -1,    -1,    -1,    -1,    -1,  4174,    -1,    -1,
++      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
++    4187,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
++      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
++      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
++      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
++      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  4235,  4236,
++      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
++      -1,  4248,  4249,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
++      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  4265,    -1,
++      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
++      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
++      -1,    -1,    -1,    -1,    -1,    -1,    -1,  3642,    -1,  4296,
++      -1,  3646,    -1,    -1,    -1,    -1,  4303,    -1,    -1,  4306,
++      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
++      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
++      -1,    -1,  3677,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
++      -1,    -1,    -1,    -1,    -1,  4342,  3691,    -1,    -1,    -1,
++      -1,    -1,  4349,    -1,  4351,    -1,    -1,    -1,    -1,  3704,
++      -1,    -1,    -1,    -1,  4361,    -1,    -1,    -1,  4365,    -1,
++      -1,  4368,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
++      -1,    -1,    -1,  4380,    -1,  4382,    -1,  4384,    -1,    -1,
++      -1,    -1,    -1,    -1,  4391,    -1,    -1,    -1,    -1,    -1,
++      -1,    -1,    -1,    -1,    -1,  4402,    -1,    -1,    -1,    -1,
++      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
++      -1,  4418,  4419,    -1,    -1,    -1,    -1,  4424,    -1,    -1,
++      -1,    -1,    -1,    -1,    -1,    -1,    -1,  4434,  4435,    -1,
++      -1,    -1,  4439,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
++      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
++      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
++      -1,    -1,    -1,    -1,  4471,    -1,    -1,    -1,    -1,    -1,
++      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
++      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
++      -1,    -1,    -1,    -1,    -1,  3850,    -1,    -1,    -1,    -1,
++      -1,    -1,    -1,    -1,  3859,    -1,  3861,    -1,    -1,    -1,
++      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
++      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
++      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
++      -1,    -1,    -1,    -1,    -1,  3900,    -1,    -1,    -1,    -1,
++      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
++      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
++      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
++      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
++      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
++      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
++      -1,    -1,    -1,    -1,  3969,    -1,    -1,    -1,    -1,    -1,
++      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
++      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
++      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
++      -1,  4006,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
++      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
++      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
++      -1,    -1,    -1,  4038,    -1,  4040,    -1,    -1,    -1,    -1,
++      -1,    -1,    -1,    -1,    -1,  4050,    -1,    -1,    -1,    -1,
++      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
++      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
++      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
++      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
++      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
++      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
++      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
++      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
++      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  4144,
++      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
++      -1,    -1,    -1,    -1,    -1,    -1,    -1,  4162,    -1,    -1,
++      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
++      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
++      -1,    -1,  4187,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
++      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
++      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
++      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
++      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
++    4235,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
++      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
++      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
++      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
++      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
++      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
++      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  4303,    -1,
++      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
++      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
++      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
++      -1,    -1,    -1,    -1,    -1,    -1,    -1,  4342,    -1,    -1,
++      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
++      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
++      -1,    -1,    -1,  4368,    -1,    -1,    -1,     5,    -1,     7,
++       8,     9,    10,    11,    -1,    -1,    14,    -1,    -1,    -1,
++      18,    -1,    -1,    21,    -1,    23,    24,    25,    26,    27,
++      28,    29,    -1,    31,    -1,    -1,    34,    35,    36,    37,
++      38,    39,    40,    -1,    42,    43,    44,    45,    46,    -1,
++      48,    49,    -1,    -1,    52,    53,    54,    55,    56,  4424,
++      58,    59,    60,    61,    62,    -1,    64,    65,    66,    67,
++      68,    69,    70,    -1,    72,    73,    74,    75,    76,    77,
++      78,    79,    -1,    81,    82,    83,    84,    85,    86,    87,
++      88,    -1,    90,    91,    -1,    93,    94,    95,    96,    97,
++      -1,    99,   100,   101,   102,    -1,  4471,   105,   106,   107,
++      -1,   109,   110,   111,    -1,   113,   114,   115,   116,   117,
++     118,    -1,    -1,    -1,    -1,   123,   124,   125,    -1,    -1,
++     128,   129,    -1,   131,    -1,    -1,    -1,   135,    -1,   137,
++     138,   139,   140,    -1,    -1,    -1,   144,    -1,    -1,   147,
++     148,   149,    -1,    -1,    -1,   153,    -1,   155,   156,    -1,
++     158,   159,   160,    -1,   162,   163,    -1,   165,   166,   167,
++     168,   169,   170,   171,    -1,   173,   174,   175,   176,   177,
++     178,   179,    -1,   181,   182,   183,   184,    -1,   186,    -1,
++      -1,    -1,   190,    -1,   192,    -1,   194,    -1,   196,   197,
++     198,   199,   200,   201,    -1,   203,    -1,   205,   206,   207,
++     208,    -1,   210,   211,   212,    -1,   214,   215,    -1,    -1,
++      -1,   219,   220,   221,   222,   223,    -1,   225,   226,   227,
++      -1,   229,    -1,   231,    -1,    -1,    -1,   235,   236,   237,
++     238,    -1,    -1,   241,    -1,   243,   244,    -1,   246,   247,
++      -1,    -1,    -1,   251,    -1,    -1,   254,   255,   256,    -1,
++     258,   259,    -1,   261,   262,   263,    -1,    -1,    -1,    -1,
++      -1,   269,   270,    -1,   272,    -1,   274,    -1,   276,   277,
++      -1,    -1,   280,    -1,    -1,    -1,   284,   285,   286,   287,
++     288,   289,   290,   291,   292,   293,   294,   295,   296,    -1,
++     298,   299,   300,   301,   302,   303,   304,   305,   306,   307,
++     308,    -1,    -1,    -1,    -1,   313,   314,   315,   316,   317,
++     318,    -1,    -1,   321,   322,   323,   324,    -1,   326,   327,
++     328,   329,   330,   331,   332,   333,   334,   335,   336,   337,
++      -1,   339,   340,   341,    -1,    -1,   344,   345,   346,   347,
++     348,   349,   350,   351,   352,    -1,   354,   355,    -1,   357,
++     358,   359,    -1,   361,   362,   363,   364,    -1,   366,   367,
++      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   376,   377,
++     378,    -1,   380,   381,    -1,   383,   384,   385,   386,   387,
++     388,   389,   390,   391,   392,   393,   394,   395,    -1,   397,
++     398,   399,    -1,   401,    -1,   403,   404,   405,   406,   407,
++      -1,   409,   410,   411,    -1,    -1,   414,    -1,    -1,    -1,
++     418,   419,   420,   421,   422,    -1,    -1,   425,   426,   427,
++     428,   429,    -1,   431,   432,    -1,   434,   435,   436,   437,
++     438,   439,    -1,   441,    -1,   443,   444,    -1,   446,   447,
++      -1,    -1,   450,   451,   452,   453,   454,   455,   456,   457,
++     458,   459,   460,    -1,   462,   463,    -1,    -1,    -1,   467,
++     468,   469,   470,    -1,    -1,    -1,   474,    -1,    -1,    -1,
++     478,    -1,   480,   481,   482,   483,    -1,   485,   486,   487,
++     488,   489,   490,    -1,    -1,    -1,    -1,    -1,    -1,   497,
++     498,    -1,   500,    -1,    -1,   503,    -1,    -1,   506,   507,
++     508,   509,   510,   511,   512,    -1,   514,   515,   516,   517,
++     518,   519,   520,   521,   522,   523,   524,   525,   526,   527,
++     528,    -1,   530,    -1,   532,   533,   534,   535,    -1,   537,
++     538,   539,    -1,   541,   542,   543,   544,    -1,    -1,    -1,
++      -1,   549,   550,   551,   552,    -1,   554,   555,   556,   557,
++     558,   559,   560,   561,   562,   563,   564,   565,    -1,   567,
++     568,    -1,    -1,   571,    -1,    -1,   574,    -1,   576,    -1,
++     578,   579,   580,    -1,    -1,   583,   584,   585,   586,   587,
++      -1,    -1,   590,   591,    -1,   593,   594,   595,   596,   597,
++     598,   599,    -1,    -1,    -1,    -1,    -1,    -1,   606,   607,
++      -1,   609,   610,   611,    -1,    -1,   614,    -1,    -1,    -1,
++      -1,    -1,    -1,    -1,   622,   623,    -1,    -1,    -1,    -1,
++     628,   629,    -1,    -1,   632,   633,    -1,    -1,   636,   637,
++       5,    -1,     7,     8,     9,    10,    11,    12,    -1,    14,
++      -1,    -1,    -1,    18,    -1,    -1,    21,    -1,    23,    24,
++      25,    26,    27,    28,    29,    -1,    31,    -1,    -1,    34,
++      35,    36,    37,    38,    39,    40,    -1,    42,    43,    44,
++      -1,    46,    -1,    48,    49,    -1,    -1,    52,    53,    54,
++      55,    56,    -1,    58,    59,    60,    61,    62,    -1,    64,
++      65,    66,    67,    68,    69,    70,    -1,    72,    73,    74,
++      75,    76,    77,    78,    79,    -1,    81,    82,    83,    84,
++      85,    86,    87,    88,    -1,    90,    91,    -1,    93,    94,
++      95,    96,    97,    -1,    99,   100,   101,   102,    -1,    -1,
++     105,   106,   107,    -1,   109,   110,   111,    -1,   113,   114,
++     115,   116,   117,   118,    -1,    -1,    -1,    -1,   123,   124,
++     125,    -1,    -1,   128,   129,    -1,   131,    -1,    -1,    -1,
++     135,    -1,   137,   138,   139,   140,    -1,    -1,    -1,   144,
++      -1,    -1,   147,   148,   149,    -1,    -1,    -1,   153,    -1,
++     155,   156,    -1,   158,   159,   160,    -1,   162,   163,    -1,
++     165,   166,   167,   168,   169,   170,   171,    -1,   173,   174,
++     175,   176,   177,   178,   179,    -1,   181,   182,   183,   184,
++      -1,   186,    -1,    -1,    -1,   190,    -1,   192,    -1,   194,
++      -1,   196,   197,   198,   199,   200,   201,    -1,   203,    -1,
++     205,   206,   207,   208,    -1,   210,   211,   212,    -1,   214,
++     215,    -1,    -1,    -1,   219,   220,   221,   222,   223,    -1,
++     225,   226,   227,    -1,   229,    -1,   231,    -1,    -1,    -1,
++     235,   236,   237,   238,    -1,    -1,   241,    -1,   243,   244,
++      -1,   246,   247,    -1,    -1,    -1,   251,    -1,    -1,   254,
++     255,   256,    -1,    -1,   259,    -1,   261,   262,   263,    -1,
++      -1,    -1,    -1,    -1,   269,   270,    -1,   272,    -1,   274,
++      -1,   276,   277,    -1,    -1,   280,    -1,    -1,    -1,   284,
++     285,   286,   287,   288,   289,   290,   291,   292,   293,   294,
++     295,   296,    -1,   298,   299,   300,   301,   302,   303,   304,
++     305,   306,   307,   308,    -1,    -1,    -1,    -1,   313,   314,
++     315,   316,   317,   318,    -1,    -1,   321,   322,   323,   324,
++      -1,   326,   327,   328,   329,   330,   331,   332,   333,   334,
++     335,   336,   337,    -1,   339,   340,   341,    -1,    -1,   344,
++     345,   346,   347,   348,   349,   350,   351,   352,    -1,   354,
++     355,    -1,   357,   358,   359,   360,   361,   362,   363,   364,
++      -1,   366,   367,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
++      -1,   376,   377,   378,    -1,   380,   381,    -1,   383,   384,
++     385,   386,   387,   388,   389,   390,   391,   392,   393,   394,
++     395,    -1,   397,   398,   399,    -1,   401,    -1,   403,   404,
++     405,   406,   407,    -1,   409,   410,   411,    -1,    -1,   414,
++      -1,    -1,    -1,   418,   419,   420,   421,   422,    -1,    -1,
++     425,   426,   427,   428,   429,    -1,   431,   432,    -1,   434,
++     435,   436,   437,   438,   439,    -1,   441,    -1,   443,   444,
++      -1,   446,   447,    -1,    -1,   450,   451,   452,   453,   454,
++     455,   456,   457,   458,   459,   460,    -1,   462,   463,    -1,
++      -1,    -1,   467,   468,   469,   470,    -1,    -1,    -1,   474,
++      -1,    -1,    -1,   478,    -1,   480,   481,   482,   483,    -1,
++     485,   486,   487,   488,   489,   490,    -1,    -1,    -1,    -1,
++      -1,    -1,   497,   498,    -1,   500,    -1,    -1,   503,    -1,
++      -1,   506,   507,   508,   509,   510,   511,   512,    -1,   514,
++     515,   516,   517,   518,   519,   520,   521,   522,   523,   524,
++     525,   526,   527,   528,    -1,   530,    -1,   532,   533,   534,
++     535,    -1,   537,   538,   539,    -1,   541,   542,   543,   544,
++      -1,    -1,    -1,    -1,    -1,   550,   551,   552,    -1,   554,
++     555,   556,   557,   558,   559,   560,   561,   562,   563,   564,
++     565,    -1,   567,   568,    -1,    -1,   571,    -1,    -1,   574,
++      -1,   576,    -1,   578,   579,   580,    -1,    -1,   583,   584,
++     585,   586,   587,    -1,    -1,   590,   591,    -1,   593,   594,
++     595,   596,   597,   598,   599,    -1,    -1,    -1,    -1,    -1,
++      -1,   606,   607,    -1,   609,   610,   611,    -1,    -1,   614,
++      -1,    -1,    -1,    -1,    -1,    -1,    -1,   622,   623,    -1,
++      -1,    -1,    -1,   628,   629,    -1,    -1,   632,   633,    -1,
++      -1,   636,   637,     5,    -1,     7,     8,     9,    10,    11,
++      -1,    -1,    14,    -1,    -1,    -1,    18,    -1,    -1,    21,
++      -1,    23,    24,    25,    26,    27,    28,    29,    -1,    31,
++      -1,    -1,    34,    35,    36,    37,    38,    39,    40,    -1,
++      42,    43,    44,    -1,    46,    -1,    48,    49,    -1,    -1,
++      52,    53,    54,    55,    56,    -1,    58,    59,    60,    61,
++      62,    -1,    64,    65,    66,    67,    68,    69,    70,    -1,
++      72,    73,    74,    75,    76,    77,    78,    79,    -1,    81,
++      82,    83,    84,    85,    86,    87,    88,    -1,    90,    91,
++      -1,    93,    94,    95,    96,    97,    -1,    99,   100,   101,
++     102,    -1,    -1,   105,   106,   107,    -1,   109,   110,   111,
++      -1,   113,   114,   115,   116,   117,   118,    -1,    -1,    -1,
++      -1,   123,   124,   125,    -1,    -1,   128,   129,    -1,   131,
++      -1,    -1,    -1,   135,    -1,   137,   138,   139,   140,    -1,
++      -1,    -1,   144,    -1,    -1,   147,   148,   149,    -1,    -1,
++      -1,   153,    -1,   155,   156,    -1,   158,   159,   160,    -1,
++     162,   163,    -1,   165,   166,   167,   168,   169,   170,   171,
++      -1,   173,   174,   175,   176,   177,   178,   179,    -1,   181,
++     182,   183,   184,    -1,   186,    -1,    -1,    -1,   190,   191,
++     192,    -1,   194,    -1,   196,   197,   198,   199,   200,   201,
++      -1,   203,    -1,   205,   206,   207,   208,    -1,   210,   211,
++     212,    -1,   214,   215,    -1,    -1,    -1,   219,   220,   221,
++     222,   223,    -1,   225,   226,   227,    -1,   229,    -1,   231,
++      -1,    -1,    -1,   235,   236,   237,   238,    -1,    -1,   241,
++      -1,   243,   244,    -1,   246,   247,    -1,    -1,    -1,   251,
++      -1,    -1,   254,   255,   256,    -1,    -1,   259,    -1,   261,
++     262,   263,    -1,    -1,    -1,    -1,    -1,   269,   270,    -1,
++     272,    -1,   274,    -1,   276,   277,    -1,    -1,   280,    -1,
++      -1,    -1,   284,   285,   286,   287,   288,   289,   290,   291,
++     292,   293,   294,   295,   296,    -1,   298,   299,   300,   301,
++     302,   303,   304,   305,   306,   307,   308,    -1,    -1,    -1,
++      -1,   313,   314,   315,   316,   317,   318,    -1,    -1,   321,
++     322,   323,   324,    -1,   326,   327,   328,   329,   330,   331,
++     332,   333,   334,   335,   336,   337,    -1,   339,   340,   341,
++      -1,    -1,   344,   345,   346,   347,   348,   349,   350,   351,
++     352,    -1,   354,   355,    -1,   357,   358,   359,    -1,   361,
++     362,   363,   364,    -1,   366,   367,    -1,    -1,    -1,    -1,
++      -1,    -1,    -1,    -1,   376,   377,   378,    -1,   380,   381,
++      -1,   383,   384,   385,   386,   387,   388,   389,   390,   391,
++     392,   393,   394,   395,    -1,   397,   398,   399,    -1,   401,
++      -1,   403,   404,   405,   406,   407,    -1,   409,   410,   411,
++      -1,    -1,   414,    -1,    -1,    -1,   418,   419,   420,   421,
++     422,    -1,    -1,   425,   426,   427,   428,   429,    -1,   431,
++     432,    -1,   434,   435,   436,   437,   438,   439,    -1,   441,
++      -1,   443,   444,    -1,   446,   447,    -1,    -1,   450,   451,
++     452,   453,   454,   455,   456,   457,   458,   459,   460,    -1,
++     462,   463,    -1,    -1,    -1,   467,   468,   469,   470,    -1,
++      -1,    -1,   474,    -1,    -1,    -1,   478,    -1,   480,   481,
++     482,   483,    -1,   485,   486,   487,   488,   489,   490,    -1,
++      -1,    -1,    -1,    -1,    -1,   497,   498,    -1,   500,    -1,
++      -1,   503,    -1,    -1,   506,   507,   508,   509,   510,   511,
++     512,    -1,   514,   515,   516,   517,   518,   519,   520,   521,
++     522,   523,   524,   525,   526,   527,   528,    -1,   530,    -1,
++     532,   533,   534,   535,    -1,   537,   538,   539,    -1,   541,
++     542,   543,   544,    -1,    -1,    -1,    -1,    -1,   550,   551,
++     552,    -1,   554,   555,   556,   557,   558,   559,   560,   561,
++     562,   563,   564,   565,    -1,   567,   568,    -1,    -1,   571,
++      -1,    -1,   574,    -1,   576,    -1,   578,   579,   580,    -1,
++      -1,   583,   584,   585,   586,   587,    -1,    -1,   590,   591,
++      -1,   593,   594,   595,   596,   597,   598,   599,    -1,    -1,
++      -1,    -1,    -1,    -1,   606,   607,    -1,   609,   610,   611,
++      -1,    -1,   614,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
++     622,   623,    -1,    -1,    -1,    -1,   628,   629,    -1,    -1,
++     632,   633,    -1,    -1,   636,   637,     5,    -1,     7,     8,
++       9,    10,    11,    -1,    -1,    14,    -1,    -1,    -1,    18,
++      -1,    -1,    21,    -1,    23,    24,    25,    26,    27,    28,
++      29,    -1,    31,    -1,    -1,    34,    35,    36,    37,    38,
++      39,    40,    -1,    42,    43,    44,    -1,    46,    -1,    48,
++      49,    -1,    -1,    52,    53,    54,    55,    56,    -1,    58,
++      59,    60,    61,    62,    -1,    64,    65,    66,    67,    68,
++      69,    70,    -1,    72,    73,    74,    75,    76,    77,    78,
++      79,    -1,    81,    82,    83,    84,    85,    86,    87,    88,
++      -1,    90,    91,    -1,    93,    94,    95,    96,    97,    -1,
++      99,   100,   101,   102,    -1,    -1,   105,   106,   107,    -1,
++     109,   110,   111,    -1,   113,   114,   115,   116,   117,   118,
++      -1,    -1,    -1,    -1,   123,   124,   125,    -1,    -1,   128,
++     129,    -1,   131,    -1,    -1,    -1,   135,    -1,   137,   138,
++     139,   140,    -1,    -1,    -1,   144,    -1,    -1,   147,   148,
++     149,    -1,    -1,    -1,   153,    -1,   155,   156,    -1,   158,
++     159,   160,    -1,   162,   163,    -1,   165,   166,   167,   168,
++     169,   170,   171,    -1,   173,   174,   175,   176,   177,   178,
++     179,    -1,   181,   182,   183,   184,    -1,   186,    -1,    -1,
++      -1,   190,   191,   192,    -1,   194,    -1,   196,   197,   198,
++     199,   200,   201,    -1,   203,    -1,   205,   206,   207,   208,
++      -1,   210,   211,   212,    -1,   214,   215,    -1,    -1,    -1,
++     219,   220,   221,   222,   223,    -1,   225,   226,   227,    -1,
++     229,    -1,   231,    -1,    -1,    -1,   235,   236,   237,   238,
++      -1,    -1,   241,    -1,   243,   244,    -1,   246,   247,    -1,
++      -1,    -1,   251,    -1,    -1,   254,   255,   256,    -1,    -1,
++     259,    -1,   261,   262,   263,    -1,    -1,    -1,    -1,    -1,
++     269,   270,    -1,   272,    -1,   274,    -1,   276,   277,    -1,
++      -1,   280,    -1,    -1,    -1,   284,   285,   286,   287,   288,
++     289,   290,   291,   292,   293,   294,   295,   296,    -1,   298,
++     299,   300,   301,   302,   303,   304,   305,   306,   307,   308,
++      -1,    -1,    -1,    -1,   313,   314,   315,   316,   317,   318,
++      -1,    -1,   321,   322,   323,   324,    -1,   326,   327,   328,
++     329,   330,   331,   332,   333,   334,   335,   336,   337,    -1,
++     339,   340,   341,    -1,    -1,   344,   345,   346,   347,   348,
++     349,   350,   351,   352,    -1,   354,   355,    -1,   357,   358,
++     359,    -1,   361,   362,   363,   364,    -1,   366,   367,    -1,
++      -1,    -1,    -1,    -1,    -1,    -1,    -1,   376,   377,   378,
++      -1,   380,   381,    -1,   383,   384,   385,   386,   387,   388,
++     389,   390,   391,   392,   393,   394,   395,    -1,   397,   398,
++     399,    -1,   401,    -1,   403,   404,   405,   406,   407,    -1,
++     409,   410,   411,    -1,    -1,   414,    -1,    -1,    -1,   418,
++     419,   420,   421,   422,    -1,    -1,   425,   426,   427,   428,
++     429,    -1,   431,   432,    -1,   434,   435,   436,   437,   438,
++     439,    -1,   441,    -1,   443,   444,    -1,   446,   447,    -1,
++      -1,   450,   451,   452,   453,   454,   455,   456,   457,   458,
++     459,   460,    -1,   462,   463,    -1,    -1,    -1,   467,   468,
++     469,   470,    -1,    -1,    -1,   474,    -1,    -1,    -1,   478,
++      -1,   480,   481,   482,   483,    -1,   485,   486,   487,   488,
++     489,   490,    -1,    -1,    -1,    -1,    -1,    -1,   497,   498,
++      -1,   500,    -1,    -1,   503,    -1,    -1,   506,   507,   508,
++     509,   510,   511,   512,    -1,   514,   515,   516,   517,   518,
++     519,   520,   521,   522,   523,   524,   525,   526,   527,   528,
++      -1,   530,    -1,   532,   533,   534,   535,    -1,   537,   538,
++     539,    -1,   541,   542,   543,   544,    -1,    -1,    -1,    -1,
++      -1,   550,   551,   552,    -1,   554,   555,   556,   557,   558,
++     559,   560,   561,   562,   563,   564,   565,    -1,   567,   568,
++      -1,    -1,   571,    -1,    -1,   574,    -1,   576,    -1,   578,
++     579,   580,    -1,    -1,   583,   584,   585,   586,   587,    -1,
++      -1,   590,   591,    -1,   593,   594,   595,   596,   597,   598,
++     599,    -1,    -1,    -1,    -1,    -1,    -1,   606,   607,    -1,
++     609,   610,   611,    -1,    -1,   614,    -1,    -1,    -1,    -1,
++      -1,    -1,    -1,   622,   623,    -1,    -1,    -1,    -1,   628,
++     629,    -1,    -1,   632,   633,    -1,    -1,   636,   637,     5,
++      -1,     7,     8,     9,    10,    11,    -1,    -1,    14,    -1,
++      -1,    -1,    18,    -1,    -1,    21,    -1,    23,    24,    25,
++      26,    27,    28,    29,    -1,    31,    -1,    -1,    34,    35,
++      36,    37,    38,    39,    40,    -1,    42,    43,    44,    -1,
++      46,    -1,    48,    49,    -1,    -1,    52,    53,    54,    55,
++      56,    -1,    58,    59,    60,    61,    62,    -1,    64,    65,
++      66,    67,    68,    69,    70,    -1,    72,    73,    74,    75,
++      76,    77,    78,    79,    -1,    81,    82,    83,    84,    85,
++      86,    87,    88,    -1,    90,    91,    -1,    93,    94,    95,
++      96,    97,    -1,    99,   100,   101,   102,    -1,    -1,   105,
++     106,   107,    -1,   109,   110,   111,    -1,   113,   114,   115,
++     116,   117,   118,    -1,    -1,    -1,    -1,   123,   124,   125,
++      -1,    -1,   128,   129,    -1,   131,    -1,    -1,    -1,   135,
++      -1,   137,   138,   139,   140,    -1,    -1,    -1,   144,    -1,
++      -1,   147,   148,   149,    -1,    -1,    -1,   153,    -1,   155,
++     156,    -1,   158,   159,   160,    -1,   162,   163,    -1,   165,
++     166,   167,   168,   169,   170,   171,    -1,   173,   174,   175,
++     176,   177,   178,   179,    -1,   181,   182,   183,   184,    -1,
++     186,    -1,    -1,    -1,   190,   191,   192,    -1,   194,    -1,
++     196,   197,   198,   199,   200,   201,    -1,   203,    -1,   205,
++     206,   207,   208,    -1,   210,   211,   212,    -1,   214,   215,
++      -1,    -1,    -1,   219,   220,   221,   222,   223,    -1,   225,
++     226,   227,    -1,   229,    -1,   231,    -1,    -1,    -1,   235,
++     236,   237,   238,    -1,    -1,   241,    -1,   243,   244,    -1,
++     246,   247,    -1,    -1,    -1,   251,    -1,    -1,   254,   255,
++     256,    -1,    -1,   259,    -1,   261,   262,   263,    -1,    -1,
++      -1,    -1,    -1,   269,   270,    -1,   272,    -1,   274,    -1,
++     276,   277,    -1,    -1,   280,    -1,    -1,    -1,   284,   285,
++     286,   287,   288,   289,   290,   291,   292,   293,   294,   295,
++     296,    -1,   298,   299,   300,   301,   302,   303,   304,   305,
++     306,   307,   308,    -1,    -1,    -1,    -1,   313,   314,   315,
++     316,   317,   318,    -1,    -1,   321,   322,   323,   324,    -1,
++     326,   327,   328,   329,   330,   331,   332,   333,   334,   335,
++     336,   337,    -1,   339,   340,   341,    -1,    -1,   344,   345,
++     346,   347,   348,   349,   350,   351,   352,    -1,   354,   355,
++      -1,   357,   358,   359,    -1,   361,   362,   363,   364,    -1,
++     366,   367,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
++     376,   377,   378,    -1,   380,   381,    -1,   383,   384,   385,
++     386,   387,   388,   389,   390,   391,   392,   393,   394,   395,
++      -1,   397,   398,   399,    -1,   401,    -1,   403,   404,   405,
++     406,   407,    -1,   409,   410,   411,    -1,    -1,   414,    -1,
++      -1,    -1,   418,   419,   420,   421,   422,    -1,    -1,   425,
++     426,   427,   428,   429,    -1,   431,   432,    -1,   434,   435,
++     436,   437,   438,   439,    -1,   441,    -1,   443,   444,    -1,
++     446,   447,    -1,    -1,   450,   451,   452,   453,   454,   455,
++     456,   457,   458,   459,   460,    -1,   462,   463,    -1,    -1,
++      -1,   467,   468,   469,   470,    -1,    -1,    -1,   474,    -1,
++      -1,    -1,   478,    -1,   480,   481,   482,   483,    -1,   485,
++     486,   487,   488,   489,   490,    -1,    -1,    -1,    -1,    -1,
++      -1,   497,   498,    -1,   500,    -1,    -1,   503,    -1,    -1,
++     506,   507,   508,   509,   510,   511,   512,    -1,   514,   515,
++     516,   517,   518,   519,   520,   521,   522,   523,   524,   525,
++     526,   527,   528,    -1,   530,    -1,   532,   533,   534,   535,
++      -1,   537,   538,   539,    -1,   541,   542,   543,   544,    -1,
++      -1,    -1,    -1,    -1,   550,   551,   552,    -1,   554,   555,
++     556,   557,   558,   559,   560,   561,   562,   563,   564,   565,
++      -1,   567,   568,    -1,    -1,   571,    -1,    -1,   574,    -1,
++     576,    -1,   578,   579,   580,    -1,    -1,   583,   584,   585,
++     586,   587,    -1,    -1,   590,   591,    -1,   593,   594,   595,
++     596,   597,   598,   599,    -1,    -1,    -1,    -1,    -1,    -1,
++     606,   607,    -1,   609,   610,   611,    -1,    -1,   614,    -1,
++      -1,    -1,    -1,    -1,    -1,    -1,   622,   623,    -1,    -1,
++      -1,    -1,   628,   629,    -1,    -1,   632,   633,    -1,    -1,
++     636,   637,     5,    -1,     7,     8,     9,    10,    11,    -1,
++      -1,    14,    -1,    -1,    -1,    18,    -1,    -1,    21,    -1,
++      23,    24,    25,    26,    27,    28,    29,    -1,    31,    -1,
++      -1,    34,    35,    36,    37,    38,    39,    40,    -1,    42,
++      43,    44,    -1,    46,    -1,    48,    49,    -1,    -1,    52,
++      53,    54,    55,    56,    -1,    58,    59,    60,    61,    62,
++      -1,    64,    65,    66,    67,    68,    69,    70,    -1,    72,
++      73,    74,    75,    76,    77,    78,    79,    -1,    81,    82,
++      83,    84,    85,    86,    87,    88,    -1,    90,    91,    -1,
++      93,    94,    95,    96,    97,    -1,    99,   100,   101,   102,
++      -1,    -1,   105,   106,   107,    -1,   109,   110,   111,    -1,
++     113,   114,   115,   116,   117,   118,    -1,    -1,    -1,    -1,
++     123,   124,   125,    -1,    -1,   128,   129,    -1,   131,    -1,
++      -1,    -1,   135,    -1,   137,   138,   139,   140,    -1,    -1,
++      -1,   144,    -1,    -1,   147,   148,   149,    -1,    -1,    -1,
++     153,    -1,   155,   156,    -1,   158,   159,   160,    -1,   162,
++     163,    -1,   165,   166,   167,   168,   169,   170,   171,    -1,
++     173,   174,   175,   176,   177,   178,   179,    -1,   181,   182,
++     183,   184,    -1,   186,    -1,    -1,    -1,   190,    -1,   192,
++      -1,   194,    -1,   196,   197,   198,   199,   200,   201,    -1,
++     203,    -1,   205,   206,   207,   208,    -1,   210,   211,   212,
++      -1,   214,   215,    -1,    -1,    -1,   219,   220,   221,   222,
++     223,    -1,   225,   226,   227,    -1,   229,    -1,   231,    -1,
++      -1,    -1,   235,   236,   237,   238,    -1,    -1,   241,    -1,
++     243,   244,    -1,   246,   247,    -1,    -1,    -1,   251,    -1,
++      -1,   254,   255,   256,    -1,    -1,   259,    -1,   261,   262,
++     263,    -1,    -1,    -1,    -1,    -1,   269,   270,    -1,   272,
++      -1,   274,    -1,   276,   277,    -1,    -1,   280,    -1,    -1,
++      -1,   284,   285,   286,   287,   288,   289,   290,   291,   292,
++     293,   294,   295,   296,    -1,   298,   299,   300,   301,   302,
++     303,   304,   305,   306,   307,   308,    -1,    -1,    -1,    -1,
++     313,   314,   315,   316,   317,   318,    -1,    -1,   321,   322,
++     323,   324,    -1,   326,   327,   328,   329,   330,   331,   332,
++     333,   334,   335,   336,   337,    -1,   339,   340,   341,    -1,
++      -1,   344,   345,   346,   347,   348,   349,   350,   351,   352,
++      -1,   354,   355,    -1,   357,   358,   359,    -1,   361,   362,
++     363,   364,    -1,   366,   367,    -1,    -1,    -1,    -1,    -1,
++      -1,    -1,    -1,   376,   377,   378,    -1,   380,   381,    -1,
++     383,   384,   385,   386,   387,   388,   389,   390,   391,   392,
++     393,   394,   395,    -1,   397,   398,   399,    -1,   401,    -1,
++     403,   404,   405,   406,   407,    -1,   409,   410,   411,    -1,
++      -1,   414,    -1,    -1,    -1,   418,   419,   420,   421,   422,
++      -1,    -1,   425,   426,   427,   428,   429,    -1,   431,   432,
++      -1,   434,   435,   436,   437,   438,   439,    -1,   441,    -1,
++     443,   444,    -1,   446,   447,    -1,    -1,   450,   451,   452,
++     453,   454,   455,   456,   457,   458,   459,   460,    -1,   462,
++     463,    -1,    -1,    -1,   467,   468,   469,   470,    -1,    -1,
++      -1,   474,    -1,    -1,    -1,   478,    -1,   480,   481,   482,
++     483,    -1,   485,   486,   487,   488,   489,   490,    -1,    -1,
++      -1,    -1,    -1,    -1,   497,   498,    -1,   500,    -1,    -1,
++     503,    -1,    -1,   506,   507,   508,   509,   510,   511,   512,
++      -1,   514,   515,   516,   517,   518,   519,   520,   521,   522,
++     523,   524,   525,   526,   527,   528,    -1,   530,    -1,   532,
++     533,   534,   535,    -1,   537,   538,   539,    -1,   541,   542,
++     543,   544,    -1,    -1,    -1,    -1,    -1,   550,   551,   552,
++      -1,   554,   555,   556,   557,   558,   559,   560,   561,   562,
++     563,   564,   565,    -1,   567,   568,    -1,    -1,   571,    -1,
++      -1,   574,    -1,   576,    -1,   578,   579,   580,    -1,    -1,
++     583,   584,   585,   586,   587,    -1,    -1,   590,   591,    -1,
++     593,   594,   595,   596,   597,   598,   599,    -1,    -1,    -1,
++      -1,    -1,    -1,   606,   607,    -1,   609,   610,   611,    -1,
++      -1,   614,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   622,
++     623,    -1,    -1,    -1,    -1,   628,   629,    -1,    -1,   632,
++     633,    -1,    -1,   636,   637,     5,    -1,     7,     8,     9,
++      10,    11,    -1,    -1,    14,    -1,    -1,    -1,    18,    -1,
++      -1,    21,    -1,    23,    24,    25,    26,    27,    28,    29,
++      -1,    31,    -1,    -1,    34,    35,    36,    37,    38,    39,
++      40,    -1,    42,    43,    44,    -1,    46,    -1,    48,    49,
++      -1,    -1,    52,    53,    54,    55,    56,    -1,    58,    59,
++      60,    61,    62,    -1,    64,    65,    66,    67,    68,    69,
++      70,    -1,    72,    73,    74,    75,    76,    77,    78,    79,
++      -1,    81,    82,    83,    84,    85,    86,    87,    88,    -1,
++      90,    91,    -1,    93,    94,    95,    96,    97,    -1,    99,
++     100,   101,   102,    -1,    -1,   105,   106,   107,    -1,   109,
++     110,   111,    -1,   113,   114,   115,   116,   117,   118,    -1,
++      -1,    -1,    -1,   123,   124,   125,    -1,    -1,   128,   129,
++      -1,   131,    -1,    -1,    -1,   135,    -1,   137,   138,   139,
++     140,    -1,    -1,    -1,   144,    -1,    -1,   147,   148,   149,
++      -1,    -1,    -1,   153,    -1,   155,   156,    -1,   158,   159,
++     160,    -1,   162,   163,    -1,   165,   166,   167,   168,   169,
++     170,   171,    -1,   173,   174,   175,   176,   177,   178,   179,
++      -1,   181,   182,   183,   184,    -1,   186,    -1,    -1,    -1,
++     190,    -1,   192,    -1,   194,    -1,   196,   197,   198,   199,
++     200,   201,    -1,   203,    -1,   205,   206,   207,   208,    -1,
++     210,   211,   212,    -1,   214,   215,    -1,    -1,    -1,   219,
++     220,   221,   222,   223,    -1,   225,   226,   227,    -1,   229,
++      -1,   231,    -1,    -1,    -1,   235,   236,   237,   238,    -1,
++      -1,   241,    -1,   243,   244,    -1,   246,   247,    -1,    -1,
++      -1,   251,    -1,    -1,   254,   255,   256,    -1,    -1,   259,
++      -1,   261,   262,   263,    -1,    -1,    -1,    -1,    -1,   269,
++     270,    -1,   272,    -1,   274,    -1,   276,   277,    -1,    -1,
++     280,    -1,    -1,    -1,   284,   285,   286,   287,   288,   289,
++     290,   291,   292,   293,   294,   295,   296,    -1,   298,   299,
++     300,   301,   302,   303,   304,   305,   306,   307,   308,    -1,
++      -1,    -1,    -1,   313,   314,   315,   316,   317,   318,    -1,
++      -1,   321,   322,   323,   324,    -1,   326,   327,   328,   329,
++     330,   331,   332,   333,   334,   335,   336,   337,    -1,   339,
++     340,   341,    -1,    -1,   344,   345,   346,   347,   348,   349,
++     350,   351,   352,    -1,   354,   355,    -1,   357,   358,   359,
++      -1,   361,   362,   363,   364,    -1,   366,   367,    -1,    -1,
++      -1,    -1,    -1,    -1,    -1,    -1,   376,   377,   378,    -1,
++     380,   381,    -1,   383,   384,   385,   386,   387,   388,   389,
++     390,   391,   392,   393,   394,   395,    -1,   397,   398,   399,
++      -1,   401,    -1,   403,   404,   405,   406,   407,    -1,   409,
++     410,   411,    -1,    -1,   414,    -1,    -1,    -1,   418,   419,
++     420,   421,   422,    -1,    -1,   425,   426,   427,   428,   429,
++      -1,   431,   432,    -1,   434,   435,   436,   437,   438,   439,
++      -1,   441,    -1,   443,   444,    -1,   446,   447,    -1,    -1,
++     450,   451,   452,   453,   454,   455,   456,   457,   458,   459,
++     460,    -1,   462,   463,    -1,    -1,    -1,   467,   468,   469,
++     470,    -1,    -1,    -1,   474,    -1,    -1,    -1,   478,    -1,
++     480,   481,   482,   483,    -1,   485,   486,   487,   488,   489,
++     490,    -1,    -1,    -1,    -1,    -1,    -1,   497,   498,    -1,
++     500,    -1,    -1,   503,    -1,    -1,   506,   507,   508,   509,
++     510,   511,   512,    -1,   514,   515,   516,   517,   518,   519,
++     520,   521,   522,   523,   524,   525,   526,   527,   528,    -1,
++     530,    -1,   532,   533,   534,   535,    -1,   537,   538,   539,
++      -1,   541,   542,   543,   544,    -1,    -1,    -1,    -1,    -1,
++     550,   551,   552,    -1,   554,   555,   556,   557,   558,   559,
++     560,   561,   562,   563,   564,   565,    -1,   567,   568,    -1,
++      -1,   571,    -1,    -1,   574,    -1,   576,    -1,   578,   579,
++     580,    -1,    -1,   583,   584,   585,   586,   587,    -1,    -1,
++     590,   591,    -1,   593,   594,   595,   596,   597,   598,   599,
++      -1,    -1,    -1,    -1,    -1,    -1,   606,   607,    -1,   609,
++     610,   611,    -1,    -1,   614,    -1,    -1,    -1,    -1,    -1,
++      -1,    -1,   622,   623,    -1,    -1,    -1,    -1,   628,   629,
++      -1,    -1,   632,   633,    -1,    -1,   636,   637,     5,    -1,
++       7,     8,     9,    10,    11,    12,    -1,    14,    -1,    -1,
++      -1,    18,    -1,    -1,    21,    -1,    23,    24,    25,    26,
++      27,    28,    29,    -1,    31,    -1,    -1,    34,    35,    36,
++      37,    38,    39,    40,    -1,    42,    43,    44,    -1,    46,
++      -1,    48,    49,    -1,    -1,    52,    53,    54,    55,    56,
++      -1,    58,    59,    60,    61,    62,    -1,    64,    65,    66,
++      67,    68,    69,    70,    -1,    72,    73,    74,    75,    76,
++      77,    78,    79,    -1,    81,    82,    83,    84,    85,    86,
++      87,    88,    -1,    90,    91,    -1,    93,    94,    95,    96,
++      97,    -1,    99,   100,   101,   102,    -1,    -1,   105,   106,
++     107,    -1,   109,   110,   111,    -1,   113,   114,   115,   116,
++     117,   118,    -1,    -1,    -1,    -1,   123,   124,   125,    -1,
++      -1,   128,   129,    -1,   131,    -1,    -1,    -1,   135,    -1,
++     137,   138,   139,   140,    -1,    -1,    -1,   144,    -1,    -1,
++     147,   148,   149,    -1,    -1,    -1,   153,    -1,   155,   156,
++      -1,   158,   159,   160,    -1,   162,   163,    -1,   165,   166,
++     167,   168,   169,   170,   171,    -1,   173,   174,   175,   176,
++     177,   178,   179,    -1,   181,   182,   183,   184,    -1,   186,
++      -1,    -1,    -1,   190,    -1,   192,    -1,   194,    -1,   196,
++     197,   198,   199,   200,   201,    -1,   203,    -1,   205,   206,
++     207,   208,    -1,   210,   211,   212,    -1,   214,   215,    -1,
++      -1,    -1,   219,   220,   221,   222,   223,    -1,   225,   226,
++     227,    -1,   229,    -1,   231,    -1,    -1,    -1,   235,   236,
++     237,   238,    -1,    -1,   241,    -1,   243,   244,    -1,   246,
++     247,    -1,    -1,    -1,   251,    -1,    -1,   254,   255,   256,
++      -1,    -1,   259,    -1,   261,   262,   263,    -1,    -1,    -1,
++      -1,    -1,   269,   270,    -1,   272,    -1,   274,    -1,   276,
++     277,    -1,    -1,   280,    -1,    -1,    -1,   284,   285,   286,
++     287,   288,   289,   290,   291,   292,   293,   294,   295,   296,
++      -1,   298,   299,   300,   301,   302,   303,   304,   305,   306,
++     307,   308,    -1,    -1,    -1,    -1,   313,   314,   315,   316,
++     317,   318,    -1,    -1,   321,   322,   323,   324,    -1,   326,
++     327,   328,   329,   330,   331,   332,   333,   334,   335,   336,
++     337,    -1,   339,   340,   341,    -1,    -1,   344,   345,   346,
++     347,   348,    -1,   350,   351,   352,    -1,   354,   355,    -1,
++     357,   358,   359,    -1,   361,   362,   363,   364,    -1,   366,
++     367,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   376,
++     377,   378,    -1,   380,   381,    -1,   383,   384,   385,   386,
++     387,   388,   389,   390,   391,   392,   393,   394,   395,    -1,
++     397,   398,   399,    -1,   401,    -1,   403,   404,   405,   406,
++     407,    -1,   409,   410,   411,    -1,    -1,   414,    -1,    -1,
++      -1,   418,   419,   420,   421,   422,    -1,    -1,   425,   426,
++     427,   428,   429,    -1,   431,   432,    -1,   434,   435,   436,
++     437,   438,   439,    -1,   441,    -1,   443,   444,    -1,   446,
++     447,    -1,    -1,   450,   451,   452,   453,   454,   455,   456,
++     457,   458,   459,   460,    -1,   462,   463,    -1,    -1,    -1,
++     467,   468,   469,   470,    -1,    -1,    -1,   474,    -1,    -1,
++      -1,   478,    -1,   480,   481,   482,   483,    -1,   485,   486,
++     487,   488,   489,   490,    -1,    -1,    -1,    -1,    -1,    -1,
++     497,   498,    -1,   500,    -1,    -1,   503,    -1,    -1,   506,
++     507,   508,   509,   510,   511,   512,    -1,   514,   515,   516,
++     517,   518,   519,   520,   521,   522,   523,   524,   525,   526,
++     527,   528,    -1,   530,    -1,   532,   533,   534,   535,    -1,
++     537,   538,   539,    -1,   541,   542,   543,   544,    -1,    -1,
++      -1,    -1,    -1,   550,   551,   552,    -1,   554,   555,   556,
++     557,   558,   559,   560,   561,   562,   563,   564,   565,    -1,
++     567,   568,    -1,    -1,   571,    -1,    -1,   574,    -1,   576,
++      -1,   578,   579,   580,    -1,    -1,   583,   584,   585,   586,
++     587,    -1,    -1,   590,   591,    -1,   593,   594,   595,   596,
++     597,   598,   599,    -1,    -1,    -1,    -1,    -1,    -1,   606,
++     607,    -1,   609,   610,   611,    -1,    -1,   614,    -1,    -1,
++      -1,    -1,    -1,    -1,    -1,   622,   623,    -1,    -1,    -1,
++      -1,   628,   629,    -1,    -1,   632,   633,    -1,    -1,   636,
++     637,     5,    -1,     7,     8,     9,    10,    11,    -1,    -1,
++      14,    -1,    -1,    -1,    18,    -1,    -1,    21,    -1,    23,
++      24,    25,    26,    27,    28,    29,    -1,    31,    -1,    -1,
++      34,    35,    36,    37,    38,    39,    40,    -1,    42,    43,
++      44,    -1,    46,    -1,    48,    49,    -1,    -1,    52,    53,
++      54,    55,    56,    -1,    58,    59,    60,    61,    62,    -1,
++      64,    65,    66,    67,    68,    69,    70,    -1,    72,    73,
++      74,    75,    76,    77,    78,    79,    -1,    81,    82,    83,
++      84,    85,    86,    87,    88,    -1,    90,    91,    -1,    93,
++      94,    95,    96,    97,    -1,    99,   100,   101,   102,    -1,
++      -1,   105,   106,   107,    -1,   109,   110,   111,    -1,   113,
++     114,   115,   116,   117,   118,    -1,    -1,    -1,    -1,   123,
++     124,   125,    -1,    -1,   128,   129,    -1,   131,    -1,    -1,
++      -1,   135,    -1,   137,   138,   139,   140,    -1,    -1,    -1,
++     144,    -1,    -1,   147,   148,   149,    -1,    -1,    -1,   153,
++      -1,   155,   156,    -1,   158,   159,   160,    -1,   162,   163,
++      -1,   165,   166,   167,   168,   169,   170,   171,    -1,   173,
++     174,   175,   176,   177,   178,   179,    -1,   181,   182,   183,
++     184,    -1,   186,    -1,    -1,    -1,   190,    -1,   192,    -1,
++     194,    -1,   196,   197,   198,   199,   200,   201,    -1,   203,
++      -1,   205,   206,   207,   208,    -1,   210,   211,   212,    -1,
++     214,   215,    -1,    -1,    -1,   219,   220,   221,   222,   223,
++      -1,   225,   226,   227,    -1,   229,    -1,   231,    -1,    -1,
++      -1,   235,   236,   237,   238,    -1,    -1,   241,    -1,   243,
++     244,    -1,   246,   247,    -1,    -1,    -1,   251,    -1,    -1,
++     254,   255,   256,    -1,    -1,   259,    -1,   261,   262,   263,
++      -1,    -1,    -1,    -1,    -1,   269,   270,    -1,   272,    -1,
++     274,    -1,   276,   277,    -1,    -1,   280,    -1,    -1,    -1,
++     284,   285,   286,   287,   288,   289,   290,   291,   292,   293,
++     294,   295,   296,    -1,   298,   299,   300,   301,   302,   303,
++     304,   305,   306,   307,   308,    -1,    -1,    -1,    -1,   313,
++     314,   315,   316,   317,   318,    -1,    -1,   321,   322,   323,
++     324,    -1,   326,   327,   328,   329,   330,   331,   332,   333,
++     334,   335,   336,   337,    -1,   339,   340,   341,    -1,    -1,
++     344,   345,   346,   347,   348,   349,   350,   351,   352,    -1,
++     354,   355,    -1,   357,   358,   359,    -1,   361,   362,   363,
++     364,    -1,   366,   367,    -1,    -1,    -1,    -1,    -1,    -1,
++      -1,    -1,   376,   377,   378,    -1,   380,   381,    -1,   383,
++     384,   385,   386,   387,   388,   389,   390,   391,   392,   393,
++     394,   395,    -1,   397,   398,   399,    -1,   401,    -1,   403,
++     404,   405,   406,   407,    -1,   409,   410,   411,    -1,    -1,
++     414,    -1,    -1,    -1,   418,   419,   420,   421,   422,    -1,
++      -1,   425,   426,   427,   428,   429,    -1,   431,   432,    -1,
++     434,   435,   436,   437,   438,   439,    -1,   441,    -1,   443,
++     444,    -1,   446,   447,    -1,    -1,   450,   451,   452,   453,
++     454,   455,   456,   457,   458,   459,   460,    -1,   462,   463,
++      -1,    -1,    -1,   467,   468,   469,   470,    -1,    -1,    -1,
++     474,    -1,    -1,    -1,   478,    -1,   480,   481,   482,   483,
++      -1,   485,   486,   487,   488,   489,   490,    -1,    -1,    -1,
++      -1,    -1,    -1,   497,   498,    -1,   500,    -1,    -1,   503,
++      -1,    -1,   506,   507,   508,   509,   510,   511,   512,    -1,
++     514,   515,   516,   517,   518,   519,   520,   521,   522,   523,
++     524,   525,   526,   527,   528,    -1,   530,    -1,   532,   533,
++     534,   535,    -1,   537,   538,   539,    -1,   541,   542,   543,
++     544,    -1,    -1,    -1,    -1,    -1,   550,   551,   552,    -1,
++     554,   555,   556,   557,   558,   559,   560,   561,   562,   563,
++     564,   565,    -1,   567,   568,    -1,    -1,   571,    -1,    -1,
++     574,    -1,   576,    -1,   578,   579,   580,    -1,    -1,   583,
++     584,   585,   586,   587,    -1,    -1,   590,   591,    -1,   593,
++     594,   595,   596,   597,   598,   599,    -1,    -1,    -1,    -1,
++      -1,    -1,   606,   607,    -1,   609,   610,   611,    -1,    -1,
++     614,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   622,   623,
++      -1,    -1,    -1,    -1,   628,   629,    -1,    -1,   632,   633,
++      -1,    -1,   636,   637,     5,    -1,     7,     8,     9,    10,
++      11,    -1,    -1,    14,    -1,    -1,    -1,    18,    -1,    -1,
++      21,    -1,    23,    24,    25,    26,    27,    28,    29,    -1,
++      31,    -1,    -1,    34,    35,    36,    37,    38,    39,    40,
++      -1,    42,    43,    44,    -1,    46,    -1,    48,    49,    -1,
++      -1,    52,    53,    54,    55,    56,    -1,    58,    59,    60,
++      61,    62,    -1,    64,    65,    66,    67,    68,    69,    70,
++      -1,    72,    73,    74,    75,    76,    77,    78,    79,    -1,
++      81,    82,    83,    84,    85,    86,    87,    88,    -1,    90,
++      91,    -1,    93,    94,    95,    96,    97,    -1,    99,   100,
++     101,   102,    -1,    -1,   105,   106,   107,    -1,   109,   110,
++     111,    -1,   113,   114,   115,   116,   117,   118,    -1,    -1,
++      -1,    -1,   123,   124,   125,    -1,    -1,   128,   129,    -1,
++     131,    -1,    -1,    -1,   135,    -1,   137,   138,   139,   140,
++      -1,    -1,    -1,   144,    -1,    -1,   147,   148,   149,    -1,
++      -1,    -1,   153,    -1,   155,   156,    -1,   158,   159,   160,
++      -1,   162,   163,    -1,   165,   166,   167,   168,   169,   170,
++     171,    -1,   173,   174,   175,   176,   177,   178,   179,    -1,
++     181,   182,   183,   184,    -1,   186,    -1,    -1,    -1,   190,
++      -1,   192,    -1,   194,    -1,   196,   197,   198,   199,   200,
++     201,    -1,   203,    -1,   205,   206,   207,   208,    -1,   210,
++     211,   212,    -1,   214,   215,    -1,    -1,    -1,   219,   220,
++     221,   222,   223,    -1,   225,   226,   227,    -1,   229,    -1,
++     231,    -1,    -1,    -1,   235,   236,   237,   238,    -1,    -1,
++     241,    -1,   243,   244,    -1,   246,   247,    -1,    -1,    -1,
++     251,    -1,    -1,   254,   255,   256,    -1,    -1,   259,    -1,
++     261,   262,   263,    -1,    -1,    -1,    -1,    -1,   269,   270,
++      -1,   272,    -1,   274,    -1,   276,   277,    -1,    -1,   280,
++      -1,    -1,    -1,   284,   285,   286,   287,   288,   289,   290,
++     291,   292,   293,   294,   295,   296,    -1,   298,   299,   300,
++     301,   302,   303,   304,   305,   306,   307,   308,    -1,    -1,
++      -1,    -1,   313,   314,   315,   316,   317,   318,    -1,    -1,
++     321,   322,   323,   324,    -1,   326,   327,   328,   329,   330,
++     331,   332,   333,   334,   335,   336,   337,    -1,   339,   340,
++     341,    -1,    -1,   344,   345,   346,   347,   348,   349,   350,
++     351,   352,    -1,   354,   355,    -1,   357,   358,   359,    -1,
++     361,   362,   363,   364,    -1,   366,   367,    -1,    -1,    -1,
++      -1,    -1,    -1,    -1,    -1,   376,   377,   378,    -1,   380,
++     381,    -1,   383,   384,   385,   386,   387,   388,   389,   390,
++     391,   392,   393,   394,   395,    -1,   397,   398,   399,    -1,
++     401,    -1,   403,   404,   405,   406,   407,    -1,   409,   410,
++     411,    -1,    -1,   414,    -1,    -1,    -1,   418,   419,   420,
++     421,   422,    -1,    -1,   425,   426,   427,   428,   429,    -1,
++     431,   432,    -1,   434,   435,   436,   437,   438,   439,    -1,
++     441,    -1,   443,   444,    -1,   446,   447,    -1,    -1,   450,
++     451,   452,   453,   454,   455,   456,   457,   458,   459,   460,
++      -1,   462,   463,    -1,    -1,    -1,   467,   468,   469,   470,
++      -1,    -1,    -1,   474,    -1,    -1,    -1,   478,    -1,   480,
++     481,   482,   483,    -1,   485,   486,   487,   488,   489,   490,
++      -1,    -1,    -1,    -1,    -1,    -1,   497,   498,    -1,   500,
++      -1,    -1,   503,    -1,    -1,   506,   507,   508,   509,   510,
++     511,   512,    -1,   514,   515,   516,   517,   518,   519,   520,
++     521,   522,   523,   524,   525,   526,   527,   528,    -1,   530,
++      -1,   532,   533,   534,   535,    -1,   537,   538,   539,    -1,
++     541,   542,   543,   544,    -1,    -1,    -1,    -1,    -1,   550,
++     551,   552,    -1,   554,   555,   556,   557,   558,   559,   560,
++     561,   562,   563,   564,   565,    -1,   567,   568,    -1,    -1,
++     571,    -1,    -1,   574,    -1,   576,    -1,   578,   579,   580,
++      -1,    -1,   583,   584,   585,   586,   587,    -1,    -1,   590,
++     591,    -1,   593,   594,   595,   596,   597,   598,   599,    -1,
++      -1,    -1,    -1,    -1,    -1,   606,   607,    -1,   609,   610,
++     611,    -1,    -1,   614,    -1,    -1,    -1,    -1,    -1,    -1,
++      -1,   622,   623,    -1,    -1,    -1,    -1,   628,   629,    -1,
++      -1,   632,   633,    -1,    -1,   636,   637,     5,    -1,     7,
++       8,     9,    10,    11,    -1,    -1,    14,    -1,    -1,    -1,
++      18,    -1,    -1,    21,    -1,    23,    24,    25,    26,    27,
++      28,    29,    -1,    31,    -1,    -1,    34,    35,    36,    37,
++      38,    39,    40,    -1,    42,    43,    44,    -1,    46,    -1,
++      48,    49,    -1,    -1,    52,    53,    54,    55,    56,    -1,
++      58,    59,    60,    61,    62,    -1,    64,    65,    66,    67,
++      68,    69,    70,    -1,    72,    73,    74,    75,    76,    77,
++      78,    79,    -1,    81,    82,    83,    84,    85,    86,    87,
++      88,    -1,    90,    91,    -1,    93,    94,    95,    96,    97,
++      -1,    99,   100,   101,   102,    -1,    -1,   105,   106,   107,
++      -1,   109,   110,   111,    -1,   113,   114,   115,   116,   117,
++     118,    -1,    -1,    -1,    -1,   123,   124,   125,    -1,    -1,
++     128,   129,    -1,   131,    -1,    -1,    -1,   135,    -1,   137,
++     138,   139,   140,    -1,    -1,    -1,   144,    -1,    -1,   147,
++     148,   149,    -1,    -1,    -1,   153,    -1,   155,   156,    -1,
++     158,   159,   160,    -1,   162,   163,    -1,   165,   166,   167,
++     168,   169,   170,   171,    -1,   173,   174,   175,   176,   177,
++     178,   179,    -1,   181,   182,   183,   184,    -1,   186,    -1,
++      -1,    -1,   190,    -1,   192,    -1,   194,    -1,   196,   197,
++     198,   199,   200,   201,    -1,   203,    -1,   205,   206,   207,
++     208,    -1,   210,   211,   212,    -1,   214,   215,    -1,    -1,
++      -1,   219,   220,   221,   222,   223,    -1,   225,   226,   227,
++      -1,   229,    -1,   231,    -1,    -1,    -1,   235,   236,   237,
++     238,    -1,    -1,   241,    -1,   243,   244,    -1,   246,   247,
++      -1,    -1,    -1,   251,    -1,    -1,   254,   255,   256,    -1,
++      -1,   259,    -1,   261,   262,   263,    -1,    -1,    -1,    -1,
++      -1,   269,   270,    -1,   272,    -1,   274,    -1,   276,   277,
++      -1,    -1,   280,    -1,    -1,    -1,   284,   285,   286,   287,
++     288,   289,   290,   291,   292,   293,   294,   295,   296,    -1,
++     298,   299,   300,   301,   302,   303,   304,   305,   306,   307,
++     308,    -1,    -1,    -1,    -1,   313,   314,   315,   316,   317,
++     318,    -1,    -1,   321,   322,   323,   324,    -1,   326,   327,
++     328,   329,   330,   331,   332,   333,   334,   335,   336,   337,
++      -1,   339,   340,   341,    -1,    -1,   344,   345,   346,   347,
++     348,   349,   350,   351,   352,    -1,   354,   355,    -1,   357,
++     358,   359,    -1,   361,   362,   363,   364,    -1,   366,   367,
++      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   376,   377,
++     378,    -1,   380,   381,    -1,   383,   384,   385,   386,   387,
++     388,   389,   390,   391,   392,   393,   394,   395,    -1,   397,
++     398,   399,    -1,   401,    -1,   403,   404,   405,   406,   407,
++      -1,   409,   410,   411,    -1,    -1,   414,    -1,    -1,    -1,
++     418,   419,   420,   421,   422,    -1,    -1,   425,   426,   427,
++     428,   429,    -1,   431,   432,    -1,   434,   435,   436,   437,
++     438,   439,    -1,   441,    -1,   443,   444,    -1,   446,   447,
++      -1,    -1,   450,   451,   452,   453,   454,   455,   456,   457,
++     458,   459,   460,    -1,   462,   463,    -1,    -1,    -1,   467,
++     468,   469,   470,    -1,    -1,    -1,   474,    -1,    -1,    -1,
++     478,    -1,   480,   481,   482,   483,    -1,   485,   486,   487,
++     488,   489,   490,    -1,    -1,    -1,    -1,    -1,    -1,   497,
++     498,    -1,   500,    -1,    -1,   503,    -1,    -1,   506,   507,
++     508,   509,   510,   511,   512,    -1,   514,   515,   516,   517,
++     518,   519,   520,   521,   522,   523,   524,   525,   526,   527,
++     528,    -1,   530,    -1,   532,   533,   534,   535,    -1,   537,
++     538,   539,    -1,   541,   542,   543,   544,    -1,    -1,    -1,
++      -1,    -1,   550,   551,   552,    -1,   554,   555,   556,   557,
++     558,   559,   560,   561,   562,   563,   564,   565,    -1,   567,
++     568,    -1,    -1,   571,    -1,    -1,   574,    -1,   576,    -1,
++     578,   579,   580,    -1,    -1,   583,   584,   585,   586,   587,
++      -1,    -1,   590,   591,    -1,   593,   594,   595,   596,   597,
++     598,   599,    -1,    -1,    -1,    -1,    -1,    -1,   606,   607,
++      -1,   609,   610,   611,    -1,    -1,   614,    -1,    -1,    -1,
++      -1,    -1,    -1,    -1,   622,   623,    -1,    -1,    -1,    -1,
++     628,   629,    -1,    -1,   632,   633,    -1,    -1,   636,   637,
++       5,    -1,     7,     8,     9,    10,    11,    -1,    -1,    14,
++      -1,    -1,    -1,    18,    -1,    -1,    21,    -1,    23,    24,
++      25,    26,    27,    28,    29,    -1,    31,    -1,    -1,    34,
++      35,    36,    37,    38,    39,    40,    -1,    42,    43,    44,
++      -1,    46,    -1,    48,    49,    -1,    -1,    52,    53,    54,
++      55,    56,    -1,    58,    59,    60,    61,    62,    -1,    64,
++      65,    66,    67,    68,    69,    70,    -1,    72,    73,    74,
++      75,    76,    77,    78,    79,    -1,    81,    82,    83,    84,
++      85,    86,    87,    88,    -1,    90,    91,    -1,    93,    94,
++      95,    96,    97,    -1,    99,   100,   101,   102,    -1,    -1,
++     105,   106,   107,    -1,   109,   110,   111,    -1,   113,   114,
++     115,   116,   117,   118,    -1,    -1,    -1,    -1,   123,   124,
++     125,    -1,    -1,   128,   129,    -1,   131,    -1,    -1,    -1,
++     135,    -1,   137,   138,   139,   140,    -1,    -1,    -1,   144,
++      -1,    -1,   147,   148,   149,    -1,    -1,    -1,   153,    -1,
++     155,   156,    -1,   158,   159,   160,    -1,   162,   163,    -1,
++     165,   166,   167,   168,   169,   170,   171,    -1,   173,   174,
++     175,   176,   177,   178,   179,    -1,   181,   182,   183,   184,
++      -1,   186,    -1,    -1,    -1,   190,    -1,   192,    -1,   194,
++      -1,   196,   197,   198,   199,   200,   201,    -1,   203,    -1,
++     205,   206,   207,   208,    -1,   210,   211,   212,    -1,   214,
++     215,    -1,    -1,    -1,   219,   220,   221,   222,   223,    -1,
++     225,   226,   227,    -1,   229,    -1,   231,    -1,    -1,    -1,
++     235,   236,   237,   238,    -1,    -1,   241,    -1,   243,   244,
++      -1,   246,   247,    -1,    -1,    -1,   251,    -1,    -1,   254,
++     255,   256,    -1,    -1,   259,    -1,   261,   262,   263,    -1,
++      -1,    -1,    -1,    -1,   269,   270,    -1,   272,    -1,   274,
++      -1,   276,   277,    -1,    -1,   280,    -1,    -1,    -1,   284,
++     285,   286,   287,   288,   289,   290,   291,   292,   293,   294,
++     295,   296,    -1,   298,   299,   300,   301,   302,   303,   304,
++     305,   306,   307,   308,    -1,    -1,    -1,    -1,   313,   314,
++     315,   316,   317,   318,    -1,    -1,   321,   322,   323,   324,
++      -1,   326,   327,   328,   329,   330,   331,   332,   333,   334,
++     335,   336,   337,    -1,   339,   340,   341,    -1,    -1,   344,
++     345,   346,   347,   348,   349,   350,   351,   352,    -1,   354,
++     355,    -1,   357,   358,   359,    -1,   361,   362,   363,   364,
++      -1,   366,   367,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
++      -1,   376,   377,   378,    -1,   380,   381,    -1,   383,   384,
++     385,   386,   387,   388,   389,   390,   391,   392,   393,   394,
++     395,    -1,   397,   398,   399,    -1,   401,    -1,   403,   404,
++     405,   406,   407,    -1,   409,   410,   411,    -1,    -1,   414,
++      -1,    -1,    -1,   418,   419,   420,   421,   422,    -1,    -1,
++     425,   426,   427,   428,   429,    -1,   431,   432,    -1,   434,
++     435,   436,   437,   438,   439,    -1,   441,    -1,   443,   444,
++      -1,   446,   447,    -1,    -1,   450,   451,   452,   453,   454,
++     455,   456,   457,   458,   459,   460,    -1,   462,   463,    -1,
++      -1,    -1,   467,   468,   469,   470,    -1,    -1,    -1,   474,
++      -1,    -1,    -1,   478,    -1,   480,   481,   482,   483,    -1,
++     485,   486,   487,   488,   489,   490,    -1,    -1,    -1,    -1,
++      -1,    -1,   497,   498,    -1,   500,    -1,    -1,   503,    -1,
++      -1,   506,   507,   508,   509,   510,   511,   512,    -1,   514,
++     515,   516,   517,   518,   519,   520,   521,   522,   523,   524,
++     525,   526,   527,   528,    -1,   530,    -1,   532,   533,   534,
++     535,    -1,   537,   538,   539,    -1,   541,   542,   543,   544,
++      -1,    -1,    -1,    -1,    -1,   550,   551,   552,    -1,   554,
++     555,   556,   557,   558,   559,   560,   561,   562,   563,   564,
++     565,    -1,   567,   568,    -1,    -1,   571,    -1,    -1,   574,
++      -1,   576,    -1,   578,   579,   580,    -1,    -1,   583,   584,
++     585,   586,   587,    -1,    -1,   590,   591,    -1,   593,   594,
++     595,   596,   597,   598,   599,    -1,    -1,    -1,    -1,    -1,
++      -1,   606,   607,    -1,   609,   610,   611,    -1,    -1,   614,
++      -1,    -1,    -1,    -1,    -1,    -1,    -1,   622,   623,    -1,
++      -1,    -1,    -1,   628,   629,    -1,    -1,   632,   633,    -1,
++      -1,   636,   637,     5,    -1,     7,     8,     9,    10,    11,
++      -1,    -1,    14,    -1,    -1,    -1,    18,    -1,    -1,    21,
++      -1,    23,    24,    25,    26,    27,    28,    29,    -1,    31,
++      -1,    -1,    34,    35,    36,    37,    38,    39,    40,    -1,
++      42,    43,    44,    -1,    46,    -1,    48,    49,    -1,    -1,
++      52,    53,    54,    55,    56,    -1,    58,    59,    60,    61,
++      62,    -1,    64,    65,    66,    67,    68,    69,    70,    -1,
++      72,    73,    74,    75,    76,    77,    78,    79,    -1,    81,
++      82,    83,    84,    85,    86,    87,    88,    -1,    90,    91,
++      -1,    93,    94,    95,    96,    97,    -1,    99,   100,   101,
++     102,    -1,    -1,   105,   106,   107,    -1,   109,   110,   111,
++      -1,   113,   114,   115,   116,   117,   118,    -1,    -1,    -1,
++      -1,   123,   124,   125,    -1,    -1,   128,   129,    -1,   131,
++      -1,    -1,    -1,   135,    -1,   137,   138,   139,   140,    -1,
++      -1,    -1,   144,    -1,    -1,   147,   148,   149,    -1,    -1,
++      -1,   153,    -1,   155,   156,    -1,   158,   159,   160,    -1,
++     162,   163,    -1,   165,   166,   167,   168,   169,   170,   171,
++      -1,   173,   174,   175,   176,   177,   178,   179,    -1,   181,
++     182,   183,   184,    -1,   186,    -1,    -1,    -1,   190,    -1,
++     192,    -1,   194,    -1,   196,   197,   198,   199,   200,   201,
++      -1,   203,    -1,   205,   206,   207,   208,    -1,   210,   211,
++     212,    -1,   214,   215,    -1,    -1,    -1,   219,   220,   221,
++     222,   223,    -1,   225,   226,   227,    -1,   229,    -1,   231,
++      -1,    -1,    -1,   235,   236,   237,   238,    -1,    -1,   241,
++      -1,   243,   244,    -1,   246,   247,    -1,    -1,    -1,   251,
++      -1,    -1,   254,   255,   256,    -1,    -1,   259,    -1,   261,
++     262,   263,    -1,    -1,    -1,    -1,    -1,   269,   270,    -1,
++     272,    -1,   274,    -1,   276,   277,    -1,    -1,   280,    -1,
++      -1,    -1,   284,   285,   286,   287,   288,   289,   290,   291,
++     292,   293,   294,   295,   296,    -1,   298,   299,   300,   301,
++     302,   303,   304,   305,   306,   307,   308,   309,    -1,    -1,
++      -1,   313,   314,   315,   316,   317,   318,    -1,    -1,   321,
++     322,   323,   324,    -1,   326,   327,   328,   329,   330,   331,
++     332,   333,   334,   335,   336,   337,    -1,   339,   340,   341,
++      -1,    -1,   344,   345,   346,   347,   348,    -1,   350,   351,
++     352,    -1,   354,   355,    -1,   357,   358,   359,    -1,   361,
++     362,   363,   364,    -1,   366,   367,    -1,    -1,    -1,    -1,
++      -1,    -1,    -1,    -1,   376,   377,   378,    -1,   380,   381,
++      -1,   383,   384,   385,   386,   387,   388,   389,   390,   391,
++     392,   393,   394,   395,    -1,   397,   398,   399,    -1,   401,
++      -1,   403,   404,   405,   406,   407,    -1,   409,   410,   411,
++      -1,    -1,   414,    -1,    -1,    -1,   418,   419,   420,   421,
++     422,    -1,    -1,   425,   426,   427,   428,   429,    -1,   431,
++     432,    -1,   434,   435,   436,   437,   438,   439,    -1,   441,
++      -1,   443,   444,    -1,   446,   447,    -1,    -1,   450,   451,
++     452,   453,   454,   455,   456,   457,   458,   459,   460,    -1,
++     462,   463,    -1,    -1,    -1,   467,   468,   469,   470,    -1,
++      -1,    -1,   474,    -1,    -1,    -1,   478,    -1,   480,   481,
++     482,   483,    -1,   485,   486,   487,   488,   489,   490,    -1,
++      -1,    -1,    -1,    -1,    -1,   497,   498,    -1,   500,    -1,
++      -1,   503,    -1,    -1,   506,   507,   508,   509,   510,   511,
++     512,    -1,   514,   515,   516,   517,   518,   519,   520,   521,
++     522,   523,   524,   525,   526,   527,   528,    -1,   530,    -1,
++     532,   533,   534,   535,    -1,   537,   538,   539,    -1,   541,
++     542,   543,   544,    -1,    -1,    -1,    -1,    -1,   550,   551,
++     552,    -1,   554,   555,   556,   557,   558,   559,   560,   561,
++     562,   563,   564,   565,    -1,   567,   568,    -1,    -1,   571,
++      -1,    -1,   574,    -1,   576,    -1,   578,   579,   580,    -1,
++      -1,   583,   584,   585,   586,   587,    -1,    -1,   590,   591,
++      -1,   593,   594,   595,   596,   597,   598,   599,    -1,    -1,
++      -1,    -1,    -1,    -1,   606,   607,    -1,   609,   610,   611,
++      -1,    -1,   614,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
++     622,   623,    -1,    -1,    -1,    -1,   628,   629,    -1,    -1,
++     632,   633,    -1,    -1,   636,   637,     5,    -1,     7,     8,
++       9,    10,    11,    -1,    -1,    14,    -1,    -1,    -1,    18,
++      -1,    -1,    21,    -1,    23,    24,    25,    26,    27,    28,
++      29,    -1,    31,    -1,    -1,    34,    35,    36,    37,    38,
++      39,    40,    -1,    42,    43,    44,    -1,    46,    -1,    48,
++      49,    -1,    -1,    52,    53,    54,    55,    56,    -1,    58,
++      59,    60,    61,    62,    -1,    64,    65,    66,    67,    68,
++      69,    70,    -1,    72,    73,    74,    75,    76,    77,    78,
++      79,    -1,    81,    82,    83,    84,    85,    86,    87,    88,
++      -1,    90,    91,    -1,    93,    94,    95,    96,    97,    -1,
++      99,   100,   101,   102,    -1,    -1,   105,   106,   107,    -1,
++     109,   110,   111,    -1,   113,   114,   115,   116,   117,   118,
++      -1,    -1,    -1,    -1,   123,   124,   125,    -1,    -1,   128,
++     129,    -1,   131,    -1,    -1,    -1,   135,    -1,   137,   138,
++     139,   140,    -1,    -1,    -1,   144,    -1,    -1,   147,   148,
++     149,    -1,    -1,    -1,   153,    -1,   155,   156,    -1,   158,
++     159,   160,    -1,   162,   163,    -1,   165,   166,   167,   168,
++     169,   170,   171,    -1,   173,   174,   175,   176,   177,   178,
++     179,    -1,   181,   182,   183,   184,    -1,   186,    -1,    -1,
++      -1,   190,    -1,   192,    -1,   194,    -1,   196,   197,   198,
++     199,   200,   201,    -1,   203,    -1,   205,   206,   207,   208,
++      -1,   210,   211,   212,    -1,   214,   215,    -1,    -1,    -1,
++     219,   220,   221,   222,   223,    -1,   225,   226,   227,    -1,
++     229,    -1,   231,    -1,    -1,    -1,   235,   236,   237,   238,
++      -1,    -1,   241,    -1,   243,   244,    -1,   246,   247,    -1,
++      -1,    -1,   251,    -1,    -1,   254,   255,   256,    -1,    -1,
++     259,    -1,   261,   262,   263,    -1,    -1,    -1,    -1,    -1,
++     269,   270,    -1,   272,    -1,   274,    -1,   276,   277,    -1,
++      -1,   280,    -1,    -1,    -1,   284,   285,   286,   287,   288,
++     289,   290,   291,   292,   293,   294,   295,   296,    -1,   298,
++     299,   300,   301,   302,   303,   304,   305,   306,   307,   308,
++      -1,    -1,    -1,    -1,   313,   314,   315,   316,   317,   318,
++      -1,    -1,   321,   322,   323,   324,    -1,   326,   327,   328,
++     329,   330,   331,   332,   333,   334,   335,   336,   337,    -1,
++     339,   340,   341,    -1,    -1,   344,   345,   346,   347,   348,
++      -1,   350,   351,   352,    -1,   354,   355,    -1,   357,   358,
++     359,    -1,   361,   362,   363,   364,    -1,   366,   367,    -1,
++      -1,    -1,    -1,    -1,    -1,    -1,    -1,   376,   377,   378,
++      -1,   380,   381,    -1,   383,   384,   385,   386,   387,   388,
++     389,   390,   391,   392,   393,   394,   395,    -1,   397,   398,
++     399,    -1,   401,    -1,   403,   404,   405,   406,   407,    -1,
++     409,   410,   411,    -1,    -1,   414,    -1,    -1,    -1,   418,
++     419,   420,   421,   422,    -1,    -1,   425,   426,   427,   428,
++     429,    -1,   431,   432,    -1,   434,   435,   436,   437,   438,
++     439,    -1,   441,    -1,   443,   444,    -1,   446,   447,    -1,
++      -1,   450,   451,   452,   453,   454,   455,   456,   457,   458,
++     459,   460,    -1,   462,   463,    -1,    -1,    -1,   467,   468,
++     469,   470,    -1,    -1,    -1,   474,    -1,    -1,    -1,   478,
++      -1,   480,   481,   482,   483,    -1,   485,   486,   487,   488,
++     489,   490,    -1,    -1,    -1,    -1,    -1,    -1,   497,   498,
++      -1,   500,    -1,    -1,   503,    -1,    -1,   506,   507,   508,
++     509,   510,   511,   512,    -1,   514,   515,   516,   517,   518,
++     519,   520,   521,   522,   523,   524,   525,   526,   527,   528,
++      -1,   530,    -1,   532,   533,   534,   535,    -1,   537,   538,
++     539,    -1,   541,   542,   543,   544,    -1,    -1,    -1,    -1,
++      -1,   550,   551,   552,    -1,   554,   555,   556,   557,   558,
++     559,   560,   561,   562,   563,   564,   565,    -1,   567,   568,
++      -1,    -1,   571,    -1,    -1,   574,    -1,   576,    -1,   578,
++     579,   580,    -1,    -1,   583,   584,   585,   586,   587,    -1,
++      -1,   590,   591,    -1,   593,   594,   595,   596,   597,   598,
++     599,    -1,    -1,    -1,    -1,    -1,    -1,   606,   607,    -1,
++     609,   610,   611,    -1,    -1,   614,    -1,    -1,    -1,    -1,
++      -1,    -1,    -1,   622,   623,    -1,    -1,    -1,    -1,   628,
++     629,    -1,    -1,   632,   633,    -1,    -1,   636,   637,     5,
++      -1,     7,     8,     9,    10,    11,    -1,    -1,    14,    -1,
++      -1,    -1,    18,    -1,    -1,    21,    -1,    23,    24,    25,
++      26,    27,    28,    29,    -1,    31,    -1,    -1,    34,    35,
++      36,    37,    38,    39,    40,    -1,    42,    43,    44,    -1,
++      46,    -1,    48,    49,    -1,    -1,    52,    53,    54,    55,
++      56,    -1,    58,    59,    60,    61,    62,    -1,    64,    65,
++      66,    67,    68,    69,    70,    -1,    72,    73,    74,    75,
++      76,    77,    78,    79,    -1,    81,    82,    83,    84,    85,
++      86,    87,    88,    -1,    90,    91,    -1,    93,    94,    95,
++      96,    97,    -1,    99,   100,   101,   102,    -1,    -1,   105,
++     106,   107,    -1,   109,   110,   111,    -1,   113,   114,   115,
++     116,   117,   118,    -1,    -1,    -1,    -1,   123,   124,   125,
++      -1,    -1,   128,   129,    -1,   131,    -1,    -1,    -1,   135,
++      -1,   137,   138,   139,   140,    -1,    -1,    -1,   144,    -1,
++      -1,   147,   148,   149,    -1,    -1,    -1,   153,    -1,   155,
++     156,    -1,   158,   159,   160,    -1,   162,   163,    -1,   165,
++     166,   167,   168,   169,   170,   171,    -1,   173,   174,   175,
++     176,   177,   178,   179,    -1,   181,   182,   183,   184,    -1,
++     186,    -1,    -1,    -1,   190,    -1,   192,    -1,   194,    -1,
++     196,   197,   198,   199,   200,   201,    -1,   203,    -1,   205,
++     206,   207,   208,    -1,   210,   211,   212,    -1,   214,   215,
++      -1,    -1,    -1,   219,   220,   221,   222,   223,    -1,   225,
++     226,   227,    -1,   229,    -1,   231,    -1,    -1,    -1,   235,
++     236,   237,   238,    -1,    -1,   241,    -1,   243,   244,    -1,
++     246,   247,    -1,    -1,    -1,   251,    -1,    -1,   254,   255,
++     256,    -1,    -1,   259,    -1,   261,   262,   263,    -1,    -1,
++      -1,    -1,    -1,   269,   270,    -1,   272,    -1,   274,    -1,
++     276,   277,    -1,    -1,   280,    -1,    -1,    -1,   284,   285,
++     286,   287,   288,   289,   290,   291,   292,   293,   294,   295,
++     296,    -1,   298,   299,   300,   301,   302,   303,   304,   305,
++     306,   307,   308,    -1,    -1,    -1,    -1,   313,   314,   315,
++     316,   317,   318,    -1,    -1,   321,   322,   323,   324,    -1,
++     326,   327,   328,   329,   330,   331,   332,   333,   334,   335,
++     336,   337,    -1,   339,   340,   341,    -1,    -1,   344,   345,
++     346,   347,   348,    -1,   350,   351,   352,    -1,   354,   355,
++      -1,   357,   358,   359,    -1,   361,   362,   363,   364,    -1,
++     366,   367,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
++     376,   377,   378,    -1,   380,   381,    -1,   383,   384,   385,
++     386,   387,   388,   389,   390,   391,   392,   393,   394,   395,
++      -1,   397,   398,   399,    -1,   401,    -1,   403,   404,   405,
++     406,   407,    -1,   409,   410,   411,    -1,    -1,   414,    -1,
++      -1,    -1,   418,   419,   420,   421,   422,    -1,    -1,   425,
++     426,   427,   428,   429,    -1,   431,   432,    -1,   434,   435,
++     436,   437,   438,   439,    -1,   441,    -1,   443,   444,    -1,
++     446,   447,    -1,    -1,   450,   451,   452,   453,   454,   455,
++     456,   457,   458,   459,   460,    -1,   462,   463,    -1,    -1,
++      -1,   467,   468,   469,   470,    -1,    -1,    -1,   474,    -1,
++      -1,    -1,   478,    -1,   480,   481,   482,   483,    -1,   485,
++     486,   487,   488,   489,   490,    -1,    -1,    -1,    -1,    -1,
++      -1,   497,   498,    -1,   500,    -1,    -1,   503,    -1,    -1,
++     506,   507,   508,   509,   510,   511,   512,    -1,   514,   515,
++     516,   517,   518,   519,   520,   521,   522,   523,   524,   525,
++     526,   527,   528,    -1,   530,    -1,   532,   533,   534,   535,
++      -1,   537,   538,   539,    -1,   541,   542,   543,   544,    -1,
++      -1,    -1,    -1,    -1,   550,   551,   552,    -1,   554,   555,
++     556,   557,   558,   559,   560,   561,   562,   563,   564,   565,
++      -1,   567,   568,    -1,    -1,   571,    -1,    -1,   574,    -1,
++     576,    -1,   578,   579,   580,    -1,    -1,   583,   584,   585,
++     586,   587,    -1,    -1,   590,   591,    -1,   593,   594,   595,
++     596,   597,   598,   599,    -1,    -1,    -1,    -1,    -1,    -1,
++     606,   607,    -1,   609,   610,   611,    -1,    -1,   614,    -1,
++      -1,    -1,    -1,    -1,    -1,    -1,   622,   623,    -1,    -1,
++      -1,    -1,   628,   629,    -1,    -1,   632,   633,    -1,    -1,
++     636,   637,     5,    -1,     7,     8,     9,    10,    11,    -1,
++      -1,    14,    -1,    -1,    -1,    18,    -1,    -1,    21,    -1,
++      23,    24,    25,    26,    27,    28,    29,    -1,    31,    -1,
++      -1,    34,    35,    36,    37,    38,    39,    40,    -1,    42,
++      43,    44,    -1,    46,    -1,    48,    49,    -1,    -1,    52,
++      53,    54,    55,    56,    -1,    58,    59,    60,    61,    62,
++      -1,    64,    65,    66,    67,    68,    69,    70,    -1,    72,
++      73,    74,    75,    76,    77,    78,    79,    -1,    81,    82,
++      83,    84,    85,    86,    87,    88,    -1,    90,    91,    -1,
++      93,    94,    95,    96,    97,    -1,    99,   100,   101,   102,
++      -1,    -1,   105,   106,   107,    -1,   109,   110,   111,    -1,
++     113,   114,   115,   116,   117,   118,    -1,    -1,    -1,    -1,
++     123,   124,   125,    -1,    -1,   128,   129,    -1,   131,    -1,
++      -1,    -1,   135,    -1,   137,   138,   139,   140,    -1,    -1,
++      -1,   144,    -1,    -1,   147,   148,   149,    -1,    -1,    -1,
++     153,    -1,   155,   156,    -1,   158,   159,   160,    -1,   162,
++     163,    -1,   165,   166,   167,   168,   169,   170,   171,    -1,
++     173,   174,   175,   176,   177,   178,   179,    -1,   181,   182,
++     183,   184,    -1,   186,    -1,    -1,    -1,   190,    -1,   192,
++      -1,   194,    -1,   196,   197,   198,   199,   200,   201,    -1,
++     203,    -1,   205,   206,   207,   208,    -1,   210,   211,   212,
++      -1,   214,   215,    -1,    -1,    -1,   219,   220,   221,   222,
++     223,    -1,   225,   226,   227,    -1,   229,    -1,   231,    -1,
++      -1,    -1,   235,   236,   237,   238,    -1,    -1,   241,    -1,
++     243,   244,    -1,   246,   247,    -1,    -1,    -1,   251,    -1,
++      -1,   254,   255,   256,    -1,    -1,   259,    -1,   261,   262,
++     263,    -1,    -1,    -1,    -1,    -1,   269,   270,    -1,   272,
++      -1,   274,    -1,   276,   277,    -1,    -1,   280,    -1,    -1,
++      -1,   284,   285,   286,   287,   288,   289,   290,   291,   292,
++     293,   294,   295,   296,    -1,   298,   299,   300,   301,   302,
++     303,   304,   305,   306,   307,   308,    -1,    -1,    -1,    -1,
++     313,   314,   315,   316,   317,   318,    -1,    -1,   321,   322,
++     323,   324,    -1,   326,   327,   328,   329,   330,   331,   332,
++     333,   334,   335,   336,   337,    -1,   339,   340,   341,    -1,
++      -1,   344,   345,   346,   347,   348,    -1,   350,   351,   352,
++      -1,   354,   355,    -1,   357,   358,   359,    -1,   361,   362,
++     363,   364,    -1,   366,   367,    -1,    -1,    -1,    -1,    -1,
++      -1,    -1,    -1,   376,   377,   378,    -1,   380,   381,    -1,
++     383,   384,   385,   386,   387,   388,   389,   390,   391,   392,
++     393,   394,   395,    -1,   397,   398,   399,    -1,   401,    -1,
++     403,   404,   405,   406,   407,    -1,   409,   410,   411,    -1,
++      -1,   414,    -1,    -1,    -1,   418,   419,   420,   421,   422,
++      -1,    -1,   425,   426,   427,   428,   429,    -1,   431,   432,
++      -1,   434,   435,   436,   437,   438,   439,    -1,   441,    -1,
++     443,   444,    -1,   446,   447,    -1,    -1,   450,   451,   452,
++     453,   454,   455,   456,   457,   458,   459,   460,    -1,   462,
++     463,    -1,    -1,    -1,   467,   468,   469,   470,    -1,    -1,
++      -1,   474,    -1,    -1,    -1,   478,    -1,   480,   481,   482,
++     483,    -1,   485,   486,   487,   488,   489,   490,    -1,    -1,
++      -1,    -1,    -1,    -1,   497,   498,    -1,   500,    -1,    -1,
++     503,    -1,    -1,   506,   507,   508,   509,   510,   511,   512,
++      -1,   514,   515,   516,   517,   518,   519,   520,   521,   522,
++     523,   524,   525,   526,   527,   528,    -1,   530,    -1,   532,
++     533,   534,   535,    -1,   537,   538,   539,    -1,   541,   542,
++     543,   544,    -1,    -1,    -1,    -1,    -1,   550,   551,   552,
++      -1,   554,   555,   556,   557,   558,   559,   560,   561,   562,
++     563,   564,   565,    -1,   567,   568,    -1,    -1,   571,    -1,
++      -1,   574,    -1,   576,    -1,   578,   579,   580,    -1,    -1,
++     583,   584,   585,   586,   587,    -1,    -1,   590,   591,    -1,
++     593,   594,   595,   596,   597,   598,   599,    -1,    -1,    -1,
++      -1,    -1,    -1,   606,   607,    -1,   609,   610,   611,    -1,
++      -1,   614,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   622,
++     623,    -1,    -1,    -1,    -1,   628,   629,    -1,    -1,   632,
++     633,    -1,    -1,   636,   637,     5,    -1,     7,     8,     9,
++      10,    11,    -1,    -1,    14,    -1,    -1,    -1,    18,    -1,
++      -1,    21,    -1,    23,    24,    25,    26,    27,    28,    29,
++      -1,    31,    -1,    -1,    -1,    35,    36,    -1,    -1,    39,
++      -1,    -1,    42,    43,    44,    -1,    46,    -1,    48,    49,
++      -1,    -1,    52,    -1,    -1,    55,    56,    -1,    58,    59,
++      -1,    61,    62,    -1,    64,    65,    66,    67,    68,    69,
++      70,    -1,    72,    73,    74,    75,    76,    77,    78,    79,
++      -1,    81,    82,    83,    84,    85,    86,    87,    88,    -1,
++      90,    91,    -1,    93,    94,    95,    96,    97,    -1,    99,
++      -1,    -1,   102,    -1,    -1,   105,    -1,    -1,    -1,   109,
++      -1,    -1,    -1,   113,   114,   115,    -1,    -1,   118,    -1,
++      -1,    -1,    -1,   123,   124,   125,    -1,    -1,    -1,   129,
++      -1,   131,    -1,    -1,    -1,   135,    -1,   137,   138,   139,
++     140,    -1,    -1,    -1,   144,    -1,    -1,   147,   148,   149,
++      -1,    -1,    -1,   153,    -1,   155,   156,    -1,   158,   159,
++     160,    -1,   162,   163,    -1,   165,   166,   167,   168,   169,
++     170,    -1,    -1,   173,   174,   175,    -1,   177,   178,   179,
++      -1,   181,   182,   183,   184,    -1,   186,    -1,    -1,    -1,
++     190,    -1,   192,    -1,   194,    -1,   196,   197,   198,   199,
++     200,   201,    -1,   203,    -1,    -1,   206,   207,   208,    -1,
++     210,   211,   212,    -1,   214,   215,    -1,    -1,    -1,   219,
++     220,   221,   222,    -1,    -1,   225,   226,   227,    -1,   229,
++      -1,   231,    -1,    -1,    -1,    -1,   236,   237,    -1,    -1,
++      -1,   241,    -1,   243,   244,    -1,   246,   247,    -1,    -1,
++      -1,   251,    -1,    -1,   254,   255,   256,    -1,    -1,   259,
++      -1,    -1,   262,   263,    -1,    -1,    -1,    -1,    -1,   269,
++     270,    -1,   272,    -1,   274,    -1,   276,   277,    -1,    -1,
++     280,    -1,    -1,    -1,   284,   285,   286,   287,   288,   289,
++     290,   291,   292,   293,   294,   295,   296,    -1,   298,   299,
++     300,    -1,   302,   303,   304,   305,    -1,   307,   308,    -1,
++      -1,    -1,    -1,   313,   314,   315,   316,   317,   318,    -1,
++      -1,   321,   322,    -1,   324,    -1,   326,    -1,   328,   329,
++     330,   331,   332,   333,   334,   335,   336,   337,    -1,   339,
++     340,   341,    -1,    -1,   344,   345,   346,   347,    -1,    -1,
++      -1,   351,   352,    -1,   354,   355,    -1,   357,   358,   359,
++      -1,   361,   362,   363,   364,    -1,   366,   367,    -1,    -1,
++      -1,    -1,    -1,    -1,    -1,    -1,   376,   377,   378,    -1,
++      -1,   381,    -1,   383,   384,   385,   386,   387,   388,   389,
++     390,   391,   392,   393,   394,    -1,    -1,   397,   398,   399,
++      -1,   401,    -1,   403,   404,   405,   406,   407,    -1,   409,
++     410,   411,    -1,    -1,   414,    -1,    -1,    -1,   418,   419,
++     420,   421,   422,    -1,    -1,   425,   426,   427,   428,   429,
++      -1,   431,   432,    -1,   434,   435,   436,    -1,    -1,   439,
++      -1,   441,    -1,   443,   444,    -1,   446,   447,    -1,    -1,
++      -1,   451,   452,   453,   454,   455,   456,   457,   458,   459,
++     460,    -1,   462,   463,    -1,    -1,    -1,   467,   468,   469,
++     470,    -1,    -1,    -1,   474,    -1,    -1,    -1,   478,    -1,
++     480,   481,   482,   483,    -1,   485,   486,   487,   488,   489,
++     490,    -1,    -1,    -1,    -1,    -1,    -1,   497,   498,    -1,
++     500,    -1,    -1,   503,    -1,    -1,   506,   507,   508,    -1,
++      -1,   511,   512,    -1,   514,   515,   516,   517,   518,   519,
++      -1,    -1,   522,   523,   524,   525,    -1,   527,   528,    -1,
++     530,    -1,   532,   533,   534,   535,    -1,   537,   538,   539,
++      -1,   541,   542,   543,   544,    -1,    -1,    -1,    -1,    -1,
++     550,   551,   552,    -1,    -1,   555,   556,   557,   558,   559,
++     560,   561,   562,   563,   564,   565,    -1,   567,   568,    -1,
++      -1,   571,    -1,    -1,   574,    -1,   576,    -1,   578,   579,
++     580,    -1,    -1,    -1,    -1,    -1,    -1,   587,    -1,    -1,
++     590,    -1,    -1,    -1,   594,   595,   596,   597,   598,   599,
++      -1,    -1,    -1,    -1,    -1,    -1,   606,   607,    -1,   609,
++     610,   611,    -1,    -1,   614,    -1,    -1,    -1,    -1,    -1,
++      -1,    -1,     5,    -1,     7,     8,     9,    10,    11,    -1,
++      -1,    14,    -1,    -1,    -1,    18,   636,   637,    21,    -1,
++      23,    24,    25,    26,    27,    28,    29,    -1,    31,    -1,
++      -1,    -1,    35,    -1,    -1,    -1,    39,    -1,    -1,    42,
++      43,    44,    -1,    46,    -1,    48,    49,    -1,    -1,    52,
++      -1,    -1,    55,    56,    -1,    58,    59,    -1,    61,    62,
++      -1,    64,    65,    66,    67,    68,    69,    70,    -1,    72,
++      73,    74,    75,    76,    77,    78,    79,    -1,    81,    82,
++      83,    84,    85,    86,    87,    88,    -1,    90,    91,    92,
++      93,    94,    95,    96,    97,    -1,    99,    -1,    -1,   102,
++      -1,    -1,   105,    -1,    -1,    -1,   109,    -1,    -1,    -1,
++     113,   114,   115,    -1,    -1,   118,    -1,    -1,    -1,    -1,
++     123,   124,    -1,    -1,    -1,    -1,   129,    -1,   131,    -1,
++      -1,    -1,   135,    -1,   137,   138,   139,   140,    -1,    -1,
++      -1,   144,    -1,    -1,   147,   148,   149,    -1,    -1,    -1,
++     153,    -1,   155,   156,    -1,   158,   159,   160,    -1,   162,
++     163,    -1,   165,   166,   167,   168,   169,   170,    -1,    -1,
++     173,   174,   175,    -1,    -1,   178,   179,    -1,   181,   182,
++     183,    -1,    -1,   186,    -1,    -1,    -1,   190,    -1,   192,
++     193,   194,    -1,   196,   197,   198,   199,   200,   201,    -1,
++     203,    -1,    -1,   206,   207,   208,    -1,   210,    -1,    -1,
++      -1,   214,   215,    -1,    -1,    -1,   219,   220,   221,   222,
++      -1,    -1,   225,   226,   227,   228,   229,    -1,   231,    -1,
++      -1,    -1,    -1,   236,   237,    -1,    -1,    -1,   241,    -1,
++     243,   244,    -1,   246,   247,    -1,    -1,    -1,   251,   252,
++      -1,   254,   255,   256,    -1,    -1,   259,    -1,    -1,   262,
++     263,    -1,   265,    -1,    -1,    -1,   269,   270,    -1,   272,
++      -1,   274,    -1,   276,   277,    -1,    -1,    -1,    -1,    -1,
++      -1,   284,   285,   286,   287,   288,   289,   290,   291,   292,
++     293,   294,   295,   296,    -1,   298,   299,   300,    -1,   302,
++     303,   304,   305,    -1,   307,   308,    -1,    -1,    -1,    -1,
++     313,   314,   315,   316,   317,   318,    -1,    -1,   321,   322,
++      -1,   324,    -1,   326,    -1,   328,   329,   330,   331,   332,
++     333,   334,   335,   336,   337,    -1,    -1,   340,   341,    -1,
++      -1,   344,   345,   346,   347,    -1,    -1,    -1,   351,   352,
++      -1,    -1,    -1,    -1,   357,   358,   359,    -1,   361,   362,
++     363,   364,    -1,   366,   367,    -1,    -1,    -1,    -1,    -1,
++      -1,    -1,    -1,   376,   377,   378,    -1,    -1,   381,    -1,
++     383,   384,   385,   386,   387,   388,   389,   390,   391,   392,
++     393,   394,    -1,    -1,   397,   398,   399,    -1,   401,    -1,
++     403,   404,   405,   406,   407,    -1,   409,   410,   411,    -1,
++      -1,   414,    -1,    -1,    -1,   418,   419,   420,   421,   422,
++      -1,    -1,   425,   426,   427,   428,   429,    -1,   431,   432,
++      -1,   434,   435,   436,    -1,    -1,   439,    -1,   441,    -1,
++     443,   444,    -1,   446,   447,    -1,    -1,    -1,   451,   452,
++     453,   454,   455,   456,   457,   458,   459,   460,    -1,   462,
++     463,   464,    -1,    -1,   467,   468,   469,   470,    -1,    -1,
++      -1,   474,    -1,    -1,    -1,   478,    -1,   480,   481,   482,
++     483,    -1,   485,   486,   487,   488,   489,   490,   491,    -1,
++      -1,    -1,    -1,    -1,   497,   498,    -1,   500,    -1,    -1,
++     503,    -1,    -1,   506,   507,   508,    -1,    -1,   511,   512,
++      -1,   514,   515,   516,   517,   518,   519,    -1,    -1,   522,
++     523,   524,   525,    -1,   527,   528,    -1,   530,    -1,   532,
++     533,   534,   535,    -1,    -1,   538,   539,    -1,   541,   542,
++     543,   544,    -1,    -1,    -1,    -1,    -1,   550,   551,   552,
++      -1,    -1,    -1,   556,   557,   558,   559,    -1,   561,   562,
++      -1,   564,   565,    -1,   567,   568,    -1,    -1,   571,    -1,
++      -1,   574,    -1,   576,    -1,   578,   579,   580,    -1,    -1,
++      -1,    -1,    -1,    -1,   587,    -1,    -1,   590,    -1,    -1,
++      -1,   594,   595,   596,   597,   598,   599,    -1,    -1,    -1,
++      -1,    -1,    -1,   606,   607,    -1,   609,   610,   611,    -1,
++      -1,   614,    -1,    -1,    -1,    -1,    -1,     5,    -1,     7,
++       8,     9,    10,    11,    -1,    -1,    14,    -1,    -1,    -1,
++      18,    -1,    -1,    21,   637,    23,    24,    25,    26,    27,
++      28,    29,    -1,    31,    -1,    -1,    -1,    35,    -1,    -1,
++      -1,    39,    -1,    -1,    42,    43,    44,    -1,    46,    -1,
++      48,    49,    -1,    -1,    52,    -1,    -1,    55,    56,    -1,
++      58,    59,    -1,    61,    62,    -1,    64,    65,    66,    67,
++      68,    69,    70,    -1,    72,    73,    74,    75,    76,    77,
++      78,    79,    -1,    81,    82,    83,    84,    85,    86,    87,
++      88,    -1,    90,    91,    92,    93,    94,    95,    96,    97,
++      -1,    99,    -1,    -1,   102,    -1,    -1,   105,    -1,    -1,
++      -1,   109,    -1,    -1,    -1,   113,   114,   115,    -1,    -1,
++     118,    -1,    -1,    -1,    -1,   123,   124,    -1,    -1,    -1,
++      -1,   129,    -1,   131,    -1,    -1,    -1,   135,    -1,   137,
++     138,   139,   140,    -1,    -1,    -1,   144,    -1,    -1,   147,
++     148,   149,    -1,    -1,    -1,   153,    -1,   155,   156,    -1,
++     158,   159,   160,    -1,   162,   163,    -1,   165,   166,   167,
++     168,   169,   170,    -1,    -1,   173,   174,   175,    -1,    -1,
++     178,   179,    -1,   181,   182,   183,    -1,    -1,   186,    -1,
++      -1,    -1,   190,    -1,   192,   193,   194,    -1,   196,   197,
++     198,   199,   200,   201,    -1,   203,    -1,    -1,   206,   207,
++     208,    -1,   210,    -1,    -1,    -1,   214,   215,    -1,    -1,
++      -1,   219,   220,   221,   222,    -1,    -1,   225,   226,   227,
++     228,   229,    -1,   231,    -1,    -1,    -1,    -1,   236,   237,
++      -1,    -1,    -1,   241,    -1,   243,   244,    -1,   246,   247,
++      -1,    -1,    -1,   251,   252,    -1,   254,   255,   256,    -1,
++      -1,   259,    -1,    -1,   262,   263,    -1,    -1,    -1,    -1,
++      -1,   269,   270,    -1,   272,    -1,   274,    -1,   276,   277,
++      -1,    -1,    -1,    -1,    -1,    -1,   284,   285,   286,   287,
++     288,   289,   290,   291,   292,   293,   294,   295,   296,    -1,
++     298,   299,   300,    -1,   302,   303,   304,   305,    -1,   307,
++     308,    -1,    -1,    -1,    -1,   313,   314,   315,   316,   317,
++     318,    -1,    -1,   321,   322,    -1,   324,    -1,   326,    -1,
++     328,   329,   330,   331,   332,   333,   334,   335,   336,   337,
++      -1,    -1,   340,   341,    -1,    -1,   344,   345,   346,   347,
++      -1,    -1,    -1,   351,   352,    -1,    -1,    -1,    -1,   357,
++     358,   359,    -1,   361,   362,   363,   364,    -1,   366,   367,
++      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   376,   377,
++     378,    -1,    -1,   381,    -1,   383,   384,   385,   386,   387,
++     388,   389,   390,   391,   392,   393,   394,    -1,    -1,   397,
++     398,   399,    -1,   401,    -1,   403,   404,   405,   406,   407,
++      -1,   409,   410,   411,    -1,    -1,   414,    -1,    -1,    -1,
++     418,   419,   420,   421,   422,    -1,    -1,   425,   426,   427,
++     428,   429,    -1,   431,   432,    -1,   434,   435,   436,    -1,
++      -1,   439,    -1,   441,    -1,   443,   444,    -1,   446,   447,
++      -1,    -1,    -1,   451,   452,   453,   454,   455,   456,   457,
++     458,   459,   460,    -1,   462,   463,    -1,    -1,    -1,   467,
++     468,   469,   470,    -1,    -1,    -1,   474,    -1,    -1,    -1,
++     478,    -1,   480,   481,   482,   483,    -1,   485,   486,   487,
++     488,   489,   490,   491,    -1,    -1,    -1,    -1,    -1,   497,
++     498,    -1,   500,    -1,    -1,   503,    -1,    -1,   506,   507,
++     508,    -1,    -1,   511,   512,    -1,   514,   515,   516,   517,
++     518,   519,    -1,    -1,   522,   523,   524,   525,    -1,   527,
++     528,    -1,   530,    -1,   532,   533,   534,   535,    -1,    -1,
++     538,   539,    -1,   541,   542,   543,   544,    -1,    -1,    -1,
++      -1,    -1,   550,   551,   552,    -1,    -1,    -1,   556,   557,
++     558,   559,    -1,   561,   562,    -1,   564,   565,    -1,   567,
++     568,    -1,    -1,   571,    -1,    -1,   574,    -1,   576,    -1,
++     578,   579,   580,    -1,    -1,    -1,    -1,    -1,    -1,   587,
++      -1,    -1,   590,    -1,    -1,    -1,   594,   595,   596,   597,
++     598,   599,    -1,    -1,    -1,    -1,    -1,    -1,   606,   607,
++      -1,   609,   610,   611,    -1,    -1,   614,    -1,    -1,    -1,
++      -1,    -1,     5,    -1,     7,     8,     9,    10,    11,    -1,
++      -1,    14,    -1,    -1,    -1,    18,    -1,    -1,    21,   637,
++      23,    24,    25,    26,    27,    28,    29,    -1,    31,    -1,
++      -1,    -1,    35,    -1,    -1,    -1,    39,    -1,    -1,    42,
++      43,    44,    -1,    46,    -1,    48,    49,    -1,    -1,    52,
++      -1,    -1,    55,    56,    -1,    58,    59,    -1,    61,    62,
++      -1,    64,    65,    66,    67,    68,    69,    70,    -1,    72,
++      73,    74,    75,    76,    77,    78,    79,    -1,    81,    82,
++      83,    84,    85,    86,    87,    88,    -1,    90,    91,    -1,
++      93,    94,    95,    96,    97,    -1,    99,    -1,    -1,   102,
++      -1,    -1,   105,    -1,    -1,    -1,   109,    -1,    -1,    -1,
++     113,   114,   115,    -1,    -1,   118,    -1,    -1,    -1,    -1,
++     123,   124,    -1,    -1,    -1,    -1,   129,    -1,   131,    -1,
++      -1,    -1,   135,    -1,   137,   138,   139,   140,    -1,    -1,
++      -1,   144,    -1,    -1,   147,   148,   149,    -1,    -1,    -1,
++     153,    -1,   155,   156,    -1,   158,   159,   160,    -1,   162,
++     163,    -1,   165,   166,   167,   168,   169,   170,    -1,    -1,
++     173,   174,   175,    -1,    -1,   178,   179,    -1,   181,   182,
++     183,    -1,    -1,   186,    -1,    -1,    -1,   190,    -1,   192,
++      -1,   194,    -1,   196,   197,   198,   199,   200,   201,    -1,
++     203,    -1,    -1,   206,   207,   208,    -1,   210,    -1,    -1,
++      -1,   214,   215,    -1,    -1,    -1,   219,   220,   221,   222,
++      -1,    -1,   225,   226,   227,    -1,   229,    -1,   231,    -1,
++      -1,    -1,    -1,   236,   237,    -1,    -1,    -1,   241,    -1,
++     243,   244,    -1,   246,   247,    -1,    -1,    -1,   251,    -1,
++      -1,   254,   255,   256,    -1,    -1,   259,    -1,    -1,   262,
++     263,    -1,    -1,    -1,    -1,    -1,   269,   270,    -1,   272,
++      -1,   274,    -1,   276,   277,    -1,    -1,    -1,    -1,    -1,
++      -1,   284,   285,   286,   287,   288,   289,   290,   291,   292,
++     293,   294,   295,   296,    -1,   298,   299,   300,    -1,   302,
++     303,   304,   305,    -1,   307,   308,    -1,    -1,    -1,    -1,
++     313,   314,   315,   316,   317,   318,    -1,    -1,   321,   322,
++      -1,   324,    -1,   326,    -1,   328,   329,   330,   331,   332,
++     333,   334,   335,   336,   337,    -1,    -1,   340,   341,    -1,
++      -1,   344,   345,   346,   347,    -1,    -1,    -1,   351,   352,
++      -1,    -1,    -1,    -1,   357,   358,   359,    -1,   361,   362,
++     363,   364,    -1,   366,   367,    -1,    -1,    -1,    -1,    -1,
++      -1,    -1,    -1,   376,   377,   378,    -1,    -1,   381,    -1,
++     383,   384,   385,   386,   387,   388,   389,   390,   391,   392,
++     393,   394,    -1,    -1,   397,   398,   399,    -1,   401,    -1,
++     403,   404,   405,   406,   407,    -1,   409,   410,   411,    -1,
++      -1,   414,    -1,    -1,    -1,   418,   419,   420,   421,   422,
++      -1,    -1,   425,   426,   427,   428,   429,    -1,   431,   432,
++      -1,   434,   435,   436,    -1,    -1,   439,    -1,   441,    -1,
++     443,   444,    -1,   446,   447,    -1,    -1,    -1,   451,   452,
++     453,   454,   455,   456,   457,   458,   459,   460,    -1,   462,
++     463,   464,    -1,    -1,   467,   468,   469,   470,    -1,    -1,
++      -1,   474,    -1,    -1,    -1,   478,    -1,   480,   481,   482,
++     483,    -1,   485,   486,   487,   488,   489,   490,    -1,    -1,
++      -1,    -1,    -1,    -1,   497,   498,    -1,   500,    -1,    -1,
++     503,    -1,    -1,   506,   507,   508,    -1,    -1,   511,   512,
++      -1,   514,   515,   516,   517,   518,   519,    -1,    -1,   522,
++     523,   524,   525,    -1,   527,   528,    -1,   530,    -1,   532,
++     533,   534,   535,    -1,    -1,   538,   539,    -1,   541,   542,
++     543,   544,    -1,    -1,    -1,    -1,    -1,   550,   551,   552,
++      -1,    -1,    -1,   556,   557,   558,   559,    -1,   561,   562,
++      -1,   564,   565,    -1,   567,   568,    -1,    -1,   571,    -1,
++      -1,   574,    -1,   576,    -1,   578,   579,   580,    -1,    -1,
++      -1,    -1,    -1,    -1,   587,    -1,    -1,   590,    -1,    -1,
++      -1,   594,   595,   596,   597,   598,   599,    -1,    -1,    -1,
++      -1,    -1,    -1,   606,   607,    -1,   609,   610,   611,    -1,
++      -1,   614,    -1,    -1,    -1,    -1,    -1,     5,    -1,     7,
++       8,     9,    10,    11,    -1,    -1,    14,   630,    -1,    -1,
++      18,    -1,    -1,    21,   637,    23,    24,    25,    26,    27,
++      28,    29,    -1,    31,    -1,    -1,    -1,    35,    -1,    -1,
++      -1,    39,    -1,    -1,    42,    43,    44,    -1,    46,    -1,
++      48,    49,    -1,    -1,    52,    -1,    -1,    55,    56,    -1,
++      58,    59,    -1,    61,    62,    -1,    64,    65,    66,    67,
++      68,    69,    70,    -1,    72,    73,    74,    75,    76,    77,
++      78,    79,    -1,    81,    82,    83,    84,    85,    86,    87,
++      88,    -1,    90,    91,    -1,    93,    94,    95,    96,    97,
++      -1,    99,    -1,    -1,   102,    -1,    -1,   105,    -1,    -1,
++      -1,   109,    -1,    -1,    -1,   113,   114,   115,    -1,    -1,
++     118,    -1,    -1,    -1,    -1,   123,   124,    -1,    -1,    -1,
++      -1,   129,    -1,   131,    -1,    -1,    -1,   135,    -1,   137,
++     138,   139,   140,    -1,    -1,    -1,   144,    -1,    -1,   147,
++     148,   149,    -1,    -1,    -1,   153,    -1,   155,   156,    -1,
++     158,   159,   160,    -1,   162,   163,    -1,   165,   166,   167,
++     168,   169,   170,    -1,    -1,   173,   174,   175,    -1,    -1,
++     178,   179,    -1,   181,   182,   183,    -1,    -1,   186,    -1,
++      -1,    -1,   190,    -1,   192,    -1,   194,    -1,   196,   197,
++     198,   199,   200,   201,    -1,   203,    -1,    -1,   206,   207,
++     208,    -1,   210,    -1,    -1,    -1,   214,   215,    -1,    -1,
++      -1,   219,   220,   221,   222,    -1,    -1,   225,   226,   227,
++      -1,   229,    -1,   231,    -1,    -1,    -1,    -1,   236,   237,
++      -1,    -1,    -1,   241,    -1,   243,   244,    -1,   246,   247,
++      -1,    -1,    -1,   251,    -1,    -1,   254,   255,   256,    -1,
++      -1,   259,    -1,    -1,   262,   263,    -1,    -1,    -1,    -1,
++      -1,   269,   270,    -1,   272,    -1,   274,    -1,   276,   277,
++      -1,    -1,    -1,    -1,    -1,    -1,   284,   285,   286,   287,
++     288,   289,   290,   291,   292,   293,   294,   295,   296,    -1,
++     298,   299,   300,    -1,   302,   303,   304,   305,    -1,   307,
++     308,    -1,    -1,    -1,    -1,   313,   314,   315,   316,   317,
++     318,    -1,    -1,   321,   322,    -1,   324,    -1,   326,    -1,
++     328,   329,   330,   331,   332,   333,   334,   335,   336,   337,
++      -1,    -1,   340,   341,    -1,    -1,   344,   345,   346,   347,
++      -1,    -1,    -1,   351,   352,    -1,    -1,    -1,    -1,   357,
++     358,   359,    -1,   361,   362,   363,   364,    -1,   366,   367,
++      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   376,   377,
++     378,    -1,    -1,   381,    -1,   383,   384,   385,   386,   387,
++     388,   389,   390,   391,   392,   393,   394,    -1,    -1,   397,
++     398,   399,    -1,   401,    -1,   403,   404,   405,   406,   407,
++      -1,   409,   410,   411,    -1,    -1,   414,    -1,    -1,    -1,
++     418,   419,   420,   421,   422,    -1,    -1,   425,   426,   427,
++     428,   429,    -1,   431,   432,    -1,   434,   435,   436,    -1,
++      -1,   439,    -1,   441,    -1,   443,   444,    -1,   446,   447,
++      -1,    -1,    -1,   451,   452,   453,   454,   455,   456,   457,
++     458,   459,   460,    -1,   462,   463,    -1,    -1,    -1,   467,
++     468,   469,   470,    -1,    -1,    -1,   474,    -1,    -1,    -1,
++     478,    -1,   480,   481,   482,   483,    -1,   485,   486,   487,
++     488,   489,   490,    -1,    -1,    -1,    -1,    -1,    -1,   497,
++     498,    -1,   500,    -1,    -1,   503,    -1,    -1,   506,   507,
++     508,    -1,    -1,   511,   512,    -1,   514,   515,   516,   517,
++     518,   519,    -1,    -1,   522,   523,   524,   525,    -1,   527,
++     528,    -1,   530,    -1,   532,   533,   534,   535,    -1,    -1,
++     538,   539,    -1,   541,   542,   543,   544,    -1,    -1,    -1,
++      -1,    -1,   550,   551,   552,    -1,    -1,    -1,   556,   557,
++     558,   559,    -1,   561,   562,    -1,   564,   565,    -1,   567,
++     568,    -1,    -1,   571,    -1,    -1,   574,    -1,   576,    -1,
++     578,   579,   580,    -1,    -1,    -1,    -1,    -1,    -1,   587,
++      -1,    -1,   590,    -1,    -1,    -1,   594,   595,   596,   597,
++     598,   599,    -1,    -1,    -1,    -1,    -1,    -1,   606,   607,
++      -1,   609,   610,   611,    -1,    -1,   614,    -1,    -1,    -1,
++      -1,    -1,    -1,    -1,     5,    -1,     7,     8,     9,    10,
++      11,    -1,   630,    14,    -1,    -1,    -1,    18,   636,   637,
++      21,    -1,    23,    24,    25,    26,    27,    28,    29,    -1,
++      31,    -1,    -1,    -1,    35,    -1,    -1,    -1,    39,    -1,
++      -1,    42,    43,    44,    -1,    46,    -1,    48,    49,    -1,
++      -1,    52,    -1,    -1,    55,    56,    -1,    58,    59,    -1,
++      61,    62,    -1,    64,    65,    66,    67,    68,    69,    70,
++      -1,    72,    73,    74,    75,    76,    77,    78,    79,    -1,
++      81,    82,    83,    84,    85,    86,    87,    88,    -1,    90,
++      91,    -1,    93,    94,    95,    96,    97,    -1,    99,    -1,
++      -1,   102,    -1,    -1,   105,    -1,    -1,    -1,   109,    -1,
++      -1,    -1,   113,   114,   115,    -1,    -1,   118,    -1,    -1,
++      -1,    -1,   123,   124,    -1,    -1,    -1,    -1,   129,    -1,
++     131,    -1,    -1,    -1,   135,    -1,   137,   138,   139,   140,
++      -1,    -1,    -1,   144,    -1,    -1,   147,   148,   149,    -1,
++      -1,    -1,   153,    -1,   155,   156,    -1,   158,   159,   160,
++      -1,   162,   163,    -1,   165,   166,   167,   168,   169,   170,
++      -1,    -1,   173,   174,   175,    -1,    -1,   178,   179,    -1,
++     181,   182,   183,    -1,    -1,   186,    -1,    -1,    -1,   190,
++      -1,   192,    -1,   194,    -1,   196,   197,   198,   199,   200,
++     201,    -1,   203,    -1,    -1,   206,   207,   208,    -1,   210,
++      -1,    -1,    -1,   214,   215,    -1,    -1,    -1,   219,   220,
++     221,   222,    -1,    -1,   225,   226,   227,    -1,   229,    -1,
++     231,    -1,    -1,    -1,    -1,   236,   237,    -1,    -1,    -1,
++     241,    -1,   243,   244,    -1,   246,   247,    -1,    -1,    -1,
++     251,    -1,    -1,   254,   255,   256,    -1,    -1,   259,    -1,
++      -1,   262,   263,    -1,    -1,    -1,    -1,    -1,   269,   270,
++      -1,   272,    -1,   274,    -1,   276,   277,    -1,    -1,    -1,
++      -1,    -1,    -1,   284,   285,   286,   287,   288,   289,   290,
++     291,   292,   293,   294,   295,   296,    -1,   298,   299,   300,
++      -1,   302,   303,   304,   305,    -1,   307,   308,    -1,    -1,
++      -1,    -1,   313,   314,   315,   316,   317,   318,    -1,    -1,
++     321,   322,    -1,   324,    -1,   326,    -1,   328,   329,   330,
++     331,   332,   333,   334,   335,   336,   337,    -1,    -1,   340,
++     341,    -1,    -1,   344,   345,   346,   347,    -1,    -1,    -1,
++     351,   352,    -1,    -1,    -1,    -1,   357,   358,   359,    -1,
++     361,   362,   363,   364,    -1,   366,   367,    -1,    -1,    -1,
++      -1,    -1,    -1,    -1,    -1,   376,   377,   378,    -1,    -1,
++     381,    -1,   383,   384,   385,   386,   387,   388,   389,   390,
++     391,   392,   393,   394,    -1,    -1,   397,   398,   399,    -1,
++     401,    -1,   403,   404,   405,   406,   407,    -1,   409,   410,
++     411,    -1,    -1,   414,    -1,    -1,    -1,   418,   419,   420,
++     421,   422,    -1,    -1,   425,   426,   427,   428,   429,    -1,
++     431,   432,    -1,   434,   435,   436,    -1,    -1,   439,    -1,
++     441,    -1,   443,   444,    -1,   446,   447,    -1,    -1,    -1,
++     451,   452,   453,   454,   455,   456,   457,   458,   459,   460,
++      -1,   462,   463,    -1,    -1,    -1,   467,   468,   469,   470,
++      -1,    -1,    -1,   474,    -1,    -1,    -1,   478,    -1,   480,
++     481,   482,   483,    -1,   485,   486,   487,   488,   489,   490,
++      -1,    -1,    -1,    -1,    -1,    -1,   497,   498,    -1,   500,
++      -1,    -1,   503,    -1,    -1,   506,   507,   508,    -1,    -1,
++     511,   512,    -1,   514,   515,   516,   517,   518,   519,    -1,
++      -1,   522,   523,   524,   525,    -1,   527,   528,    -1,   530,
++      -1,   532,   533,   534,   535,    -1,    -1,   538,   539,    -1,
++     541,   542,   543,   544,    -1,    -1,    -1,    -1,    -1,   550,
++     551,   552,    -1,    -1,    -1,   556,   557,   558,   559,    -1,
++     561,   562,    -1,   564,   565,    -1,   567,   568,    -1,    -1,
++     571,    -1,    -1,   574,    -1,   576,    -1,   578,   579,   580,
++      -1,    -1,    -1,    -1,    -1,    -1,   587,    -1,    -1,   590,
++      -1,    -1,    -1,   594,   595,   596,   597,   598,   599,    -1,
++      -1,    -1,    -1,    -1,    -1,   606,   607,    -1,   609,   610,
++     611,    -1,    -1,   614,    -1,    -1,    -1,    -1,    -1,    -1,
++      -1,     5,    -1,     7,     8,     9,    10,    11,   629,    -1,
++      14,    -1,    -1,    -1,    18,    -1,   637,    21,    -1,    23,
++      24,    25,    26,    27,    28,    29,    -1,    31,    -1,    -1,
++      -1,    35,    -1,    -1,    -1,    39,    -1,    -1,    42,    43,
++      44,    -1,    46,    -1,    48,    49,    -1,    -1,    52,    -1,
++      -1,    55,    56,    -1,    58,    59,    -1,    61,    62,    -1,
++      64,    65,    66,    67,    68,    69,    70,    -1,    72,    73,
++      74,    75,    76,    77,    78,    79,    -1,    81,    82,    83,
++      84,    85,    86,    87,    88,    -1,    90,    91,    -1,    93,
++      94,    95,    96,    97,    -1,    99,    -1,    -1,   102,    -1,
++      -1,   105,    -1,    -1,    -1,   109,    -1,    -1,    -1,   113,
++     114,   115,    -1,    -1,   118,    -1,    -1,    -1,    -1,   123,
++     124,    -1,    -1,    -1,    -1,   129,    -1,   131,    -1,    -1,
++      -1,   135,    -1,   137,   138,   139,   140,    -1,    -1,    -1,
++     144,    -1,    -1,   147,   148,   149,    -1,    -1,    -1,   153,
++      -1,   155,   156,    -1,   158,   159,   160,    -1,   162,   163,
++      -1,   165,   166,   167,   168,   169,   170,    -1,    -1,   173,
++     174,   175,    -1,    -1,   178,   179,    -1,   181,   182,   183,
++      -1,    -1,   186,    -1,    -1,    -1,   190,    -1,   192,    -1,
++     194,    -1,   196,   197,   198,   199,   200,   201,    -1,   203,
++      -1,    -1,   206,   207,   208,    -1,   210,    -1,    -1,    -1,
++     214,   215,    -1,    -1,    -1,   219,   220,   221,   222,    -1,
++      -1,   225,   226,   227,    -1,   229,    -1,   231,    -1,    -1,
++      -1,    -1,   236,   237,    -1,   239,    -1,   241,    -1,   243,
++     244,    -1,   246,   247,    -1,    -1,    -1,   251,    -1,    -1,
++     254,   255,   256,    -1,    -1,   259,    -1,    -1,   262,   263,
++      -1,    -1,    -1,    -1,    -1,   269,   270,    -1,   272,    -1,
++     274,    -1,   276,   277,    -1,    -1,    -1,    -1,    -1,    -1,
++     284,   285,   286,   287,   288,   289,   290,   291,   292,   293,
++     294,   295,   296,    -1,   298,   299,   300,    -1,   302,   303,
++     304,   305,    -1,   307,   308,    -1,    -1,    -1,    -1,   313,
++     314,   315,   316,   317,   318,    -1,    -1,   321,   322,    -1,
++     324,    -1,   326,    -1,   328,   329,   330,   331,   332,   333,
++     334,   335,   336,   337,    -1,    -1,   340,   341,    -1,    -1,
++     344,   345,   346,   347,    -1,    -1,    -1,   351,   352,    -1,
++      -1,    -1,    -1,   357,   358,   359,    -1,   361,   362,   363,
++     364,    -1,   366,   367,    -1,    -1,    -1,    -1,    -1,    -1,
++      -1,    -1,   376,   377,   378,    -1,    -1,   381,    -1,   383,
++     384,   385,   386,   387,   388,   389,   390,   391,   392,   393,
++     394,    -1,    -1,   397,   398,   399,    -1,   401,    -1,   403,
++     404,   405,   406,   407,    -1,   409,   410,   411,    -1,    -1,
++     414,    -1,    -1,    -1,   418,   419,   420,   421,   422,    -1,
++      -1,   425,   426,   427,   428,   429,    -1,   431,   432,    -1,
++     434,   435,   436,    -1,    -1,   439,    -1,   441,    -1,   443,
++     444,    -1,   446,   447,    -1,    -1,    -1,   451,   452,   453,
++     454,   455,   456,   457,   458,   459,   460,    -1,   462,   463,
++      -1,    -1,    -1,   467,   468,   469,   470,    -1,    -1,    -1,
++     474,    -1,    -1,    -1,   478,    -1,   480,   481,   482,   483,
++      -1,   485,   486,   487,   488,   489,   490,    -1,    -1,    -1,
++      -1,    -1,    -1,   497,   498,    -1,   500,    -1,    -1,   503,
++      -1,    -1,   506,   507,   508,    -1,    -1,   511,   512,    -1,
++     514,   515,   516,   517,   518,   519,    -1,    -1,   522,   523,
++     524,   525,    -1,   527,   528,    -1,   530,    -1,   532,   533,
++     534,   535,    -1,    -1,   538,   539,    -1,   541,   542,   543,
++     544,    -1,    -1,    -1,    -1,    -1,   550,   551,   552,    -1,
++      -1,    -1,   556,   557,   558,   559,    -1,   561,   562,    -1,
++     564,   565,    -1,   567,   568,    -1,    -1,   571,    -1,    -1,
++     574,    -1,   576,    -1,   578,   579,   580,    -1,    -1,    -1,
++      -1,    -1,    -1,   587,    -1,    -1,   590,    -1,    -1,    -1,
++     594,   595,   596,   597,   598,   599,    -1,    -1,    -1,    -1,
++      -1,    -1,   606,   607,    -1,   609,   610,   611,    -1,    -1,
++     614,    -1,    -1,    -1,    -1,    -1,     5,    -1,     7,     8,
++       9,    10,    11,    -1,    -1,    14,    -1,    -1,    -1,    18,
++      -1,    -1,    21,   637,    23,    24,    25,    26,    27,    28,
++      29,    -1,    31,    -1,    -1,    -1,    35,    -1,    -1,    -1,
++      39,    -1,    -1,    42,    43,    44,    -1,    46,    -1,    48,
++      49,    -1,    -1,    52,    -1,    -1,    55,    56,    -1,    58,
++      59,    -1,    61,    62,    -1,    64,    65,    66,    67,    68,
++      69,    70,    -1,    72,    73,    74,    75,    76,    77,    78,
++      79,    -1,    81,    82,    83,    84,    85,    86,    87,    88,
++      -1,    90,    91,    -1,    93,    94,    95,    96,    97,    -1,
++      99,    -1,    -1,   102,    -1,    -1,   105,    -1,    -1,    -1,
++     109,    -1,    -1,    -1,   113,   114,   115,    -1,    -1,   118,
++      -1,    -1,    -1,    -1,   123,   124,    -1,    -1,    -1,    -1,
++     129,    -1,   131,    -1,    -1,    -1,   135,    -1,   137,   138,
++     139,   140,    -1,    -1,    -1,   144,    -1,    -1,   147,   148,
++     149,    -1,    -1,    -1,   153,    -1,   155,   156,    -1,   158,
++     159,   160,    -1,   162,   163,    -1,   165,   166,   167,   168,
++     169,   170,    -1,    -1,   173,   174,   175,    -1,    -1,   178,
++     179,    -1,   181,   182,   183,    -1,    -1,   186,    -1,    -1,
++      -1,   190,    -1,   192,    -1,   194,    -1,   196,   197,   198,
++     199,   200,   201,    -1,   203,    -1,    -1,   206,   207,   208,
++      -1,   210,    -1,    -1,    -1,   214,   215,    -1,    -1,    -1,
++     219,   220,   221,   222,    -1,    -1,   225,   226,   227,    -1,
++     229,    -1,   231,    -1,    -1,    -1,    -1,   236,   237,    -1,
++      -1,    -1,   241,    -1,   243,   244,    -1,   246,   247,    -1,
++      -1,    -1,   251,    -1,    -1,   254,   255,   256,    -1,    -1,
++     259,    -1,    -1,   262,   263,    -1,    -1,    -1,    -1,    -1,
++     269,   270,    -1,   272,    -1,   274,    -1,   276,   277,    -1,
++      -1,    -1,    -1,    -1,    -1,   284,   285,   286,   287,   288,
++     289,   290,   291,   292,   293,   294,   295,   296,    -1,   298,
++     299,   300,    -1,   302,   303,   304,   305,    -1,   307,   308,
++      -1,    -1,    -1,    -1,   313,   314,   315,   316,   317,   318,
++      -1,    -1,   321,   322,    -1,   324,    -1,   326,    -1,   328,
++     329,   330,   331,   332,   333,   334,   335,   336,   337,    -1,
++      -1,   340,   341,    -1,    -1,   344,   345,   346,   347,    -1,
++      -1,    -1,   351,   352,    -1,    -1,    -1,    -1,   357,   358,
++     359,    -1,   361,   362,   363,   364,    -1,   366,   367,    -1,
++      -1,    -1,    -1,    -1,    -1,    -1,    -1,   376,   377,   378,
++      -1,    -1,   381,    -1,   383,   384,   385,   386,   387,   388,
++     389,   390,   391,   392,   393,   394,    -1,    -1,   397,   398,
++     399,    -1,   401,    -1,   403,   404,   405,   406,   407,    -1,
++     409,   410,   411,    -1,    -1,   414,    -1,    -1,    -1,   418,
++     419,   420,   421,   422,    -1,    -1,   425,   426,   427,   428,
++     429,    -1,   431,   432,    -1,   434,   435,   436,    -1,    -1,
++     439,    -1,   441,    -1,   443,   444,    -1,   446,   447,    -1,
++      -1,    -1,   451,   452,   453,   454,   455,   456,   457,   458,
++     459,   460,    -1,   462,   463,    -1,    -1,    -1,   467,   468,
++     469,   470,    -1,    -1,    -1,   474,    -1,    -1,    -1,   478,
++      -1,   480,   481,   482,   483,    -1,   485,   486,   487,   488,
++     489,   490,    -1,    -1,    -1,    -1,    -1,    -1,   497,   498,
++      -1,   500,    -1,    -1,   503,    -1,    -1,   506,   507,   508,
++      -1,    -1,   511,   512,    -1,   514,   515,   516,   517,   518,
++     519,    -1,    -1,   522,   523,   524,   525,    -1,   527,   528,
++      -1,   530,    -1,   532,   533,   534,   535,    -1,    -1,   538,
++     539,    -1,   541,   542,   543,   544,    -1,    -1,    -1,    -1,
++      -1,   550,   551,   552,    -1,    -1,    -1,   556,   557,   558,
++     559,    -1,   561,   562,    -1,   564,   565,    -1,   567,   568,
++      -1,    -1,   571,    -1,    -1,   574,    -1,   576,    -1,   578,
++     579,   580,    -1,    -1,    -1,    -1,    -1,    -1,   587,    -1,
++      -1,   590,    -1,    -1,    -1,   594,   595,   596,   597,   598,
++     599,    -1,    -1,    -1,    -1,    -1,    -1,   606,   607,    -1,
++     609,   610,   611,    -1,    -1,   614,    -1,    -1,    -1,    -1,
++      -1,    -1,    -1,    -1,     5,   624,     7,     8,     9,    10,
++      11,    -1,    -1,    14,    -1,    -1,    -1,    18,   637,    -1,
++      21,    -1,    23,    24,    25,    26,    27,    28,    29,    -1,
++      31,    -1,    -1,    -1,    35,    -1,    -1,    -1,    39,    -1,
++      -1,    42,    43,    44,    -1,    46,    -1,    48,    49,    -1,
++      -1,    52,    -1,    -1,    55,    56,    -1,    58,    59,    -1,
++      61,    62,    -1,    64,    65,    66,    67,    68,    69,    70,
++      -1,    72,    73,    74,    75,    76,    77,    78,    79,    -1,
++      81,    82,    83,    84,    85,    86,    87,    88,    -1,    90,
++      91,    -1,    93,    94,    95,    96,    97,    -1,    99,    -1,
++      -1,   102,    -1,    -1,   105,    -1,    -1,    -1,   109,    -1,
++      -1,    -1,   113,   114,   115,    -1,    -1,   118,    -1,    -1,
++      -1,    -1,   123,   124,    -1,    -1,    -1,    -1,   129,    -1,
++     131,    -1,    -1,    -1,   135,    -1,   137,   138,   139,   140,
++      -1,    -1,    -1,   144,    -1,    -1,   147,   148,   149,    -1,
++      -1,    -1,   153,    -1,   155,   156,    -1,   158,   159,   160,
++      -1,   162,   163,    -1,   165,   166,   167,   168,   169,   170,
++      -1,    -1,   173,   174,   175,    -1,    -1,   178,   179,    -1,
++     181,   182,   183,    -1,    -1,   186,    -1,    -1,    -1,   190,
++      -1,   192,    -1,   194,    -1,   196,   197,   198,   199,   200,
++     201,    -1,   203,    -1,    -1,   206,   207,   208,    -1,   210,
++      -1,    -1,    -1,   214,   215,    -1,    -1,    -1,   219,   220,
++     221,   222,    -1,    -1,   225,   226,   227,    -1,   229,    -1,
++     231,    -1,    -1,    -1,    -1,   236,   237,    -1,    -1,    -1,
++     241,    -1,   243,   244,    -1,   246,   247,    -1,    -1,    -1,
++     251,    -1,    -1,   254,   255,   256,    -1,    -1,   259,    -1,
++      -1,   262,   263,    -1,    -1,    -1,    -1,    -1,   269,   270,
++      -1,   272,    -1,   274,    -1,   276,   277,    -1,    -1,    -1,
++      -1,    -1,    -1,   284,   285,   286,   287,   288,   289,   290,
++     291,   292,   293,   294,   295,   296,    -1,   298,   299,   300,
++      -1,   302,   303,   304,   305,    -1,   307,   308,    -1,    -1,
++      -1,    -1,   313,   314,   315,   316,   317,   318,    -1,    -1,
++     321,   322,    -1,   324,    -1,   326,    -1,   328,   329,   330,
++     331,   332,   333,   334,   335,   336,   337,    -1,    -1,   340,
++     341,    -1,    -1,   344,   345,   346,   347,    -1,    -1,    -1,
++     351,   352,    -1,    -1,    -1,    -1,   357,   358,   359,    -1,
++     361,   362,   363,   364,    -1,   366,   367,    -1,    -1,    -1,
++      -1,    -1,    -1,    -1,    -1,   376,   377,   378,    -1,    -1,
++     381,    -1,   383,   384,   385,   386,   387,   388,   389,   390,
++     391,   392,   393,   394,    -1,    -1,   397,   398,   399,    -1,
++     401,    -1,   403,   404,   405,   406,   407,    -1,   409,   410,
++     411,    -1,    -1,   414,    -1,    -1,    -1,   418,   419,   420,
++     421,   422,    -1,    -1,   425,   426,   427,   428,   429,    -1,
++     431,   432,    -1,   434,   435,   436,    -1,    -1,   439,    -1,
++     441,    -1,   443,   444,    -1,   446,   447,    -1,    -1,    -1,
++     451,   452,   453,   454,   455,   456,   457,   458,   459,   460,
++      -1,   462,   463,    -1,    -1,    -1,   467,   468,   469,   470,
++      -1,    -1,    -1,   474,    -1,    -1,    -1,   478,    -1,   480,
++     481,   482,   483,    -1,   485,   486,   487,   488,   489,   490,
++      -1,    -1,    -1,    -1,    -1,    -1,   497,   498,    -1,   500,
++      -1,    -1,   503,    -1,    -1,   506,   507,   508,    -1,    -1,
++     511,   512,    -1,   514,   515,   516,   517,   518,   519,    -1,
++      -1,   522,   523,   524,   525,    -1,   527,   528,    -1,   530,
++      -1,   532,   533,   534,   535,    -1,    -1,   538,   539,    -1,
++     541,   542,   543,   544,    -1,    -1,    -1,    -1,    -1,   550,
++     551,   552,    -1,    -1,    -1,   556,   557,   558,   559,    -1,
++     561,   562,    -1,   564,   565,    -1,   567,   568,    -1,    -1,
++     571,    -1,    -1,   574,    -1,   576,    -1,   578,   579,   580,
++      -1,    -1,    -1,    -1,    -1,    -1,   587,    -1,    -1,   590,
++      -1,    -1,    -1,   594,   595,   596,   597,   598,   599,    -1,
++      -1,    -1,    -1,    -1,    -1,   606,   607,    -1,   609,   610,
++     611,    -1,    -1,   614,    -1,    -1,    -1,    -1,    -1,    -1,
++      -1,     5,    -1,     7,     8,     9,    10,    11,   629,    -1,
++      14,    -1,    -1,    -1,    18,    -1,   637,    21,    -1,    23,
++      24,    25,    26,    27,    28,    29,    -1,    31,    -1,    -1,
++      -1,    35,    -1,    -1,    -1,    39,    -1,    -1,    42,    43,
++      44,    -1,    46,    -1,    48,    49,    -1,    -1,    52,    -1,
++      -1,    55,    56,    -1,    58,    59,    -1,    61,    62,    -1,
++      64,    65,    66,    67,    68,    69,    70,    -1,    72,    73,
++      74,    75,    76,    77,    78,    79,    -1,    81,    82,    83,
++      84,    85,    86,    87,    88,    -1,    90,    91,    -1,    93,
++      94,    95,    96,    97,    -1,    99,    -1,    -1,   102,    -1,
++      -1,   105,    -1,    -1,    -1,   109,    -1,    -1,    -1,   113,
++     114,   115,    -1,    -1,   118,    -1,    -1,    -1,    -1,   123,
++     124,    -1,    -1,    -1,    -1,   129,    -1,   131,    -1,    -1,
++      -1,   135,    -1,   137,   138,   139,   140,    -1,    -1,    -1,
++     144,    -1,    -1,   147,   148,   149,    -1,    -1,    -1,   153,
++      -1,   155,   156,    -1,   158,   159,   160,    -1,   162,   163,
++      -1,   165,   166,   167,   168,   169,   170,    -1,    -1,   173,
++     174,   175,    -1,    -1,   178,   179,    -1,   181,   182,   183,
++      -1,    -1,   186,    -1,    -1,    -1,   190,    -1,   192,    -1,
++     194,    -1,   196,   197,   198,   199,   200,   201,    -1,   203,
++      -1,    -1,   206,   207,   208,    -1,   210,    -1,    -1,    -1,
++     214,   215,    -1,    -1,    -1,   219,   220,   221,   222,    -1,
++      -1,   225,   226,   227,    -1,   229,    -1,   231,    -1,    -1,
++      -1,    -1,   236,   237,    -1,    -1,    -1,   241,    -1,   243,
++     244,    -1,   246,   247,    -1,    -1,    -1,   251,    -1,    -1,
++     254,   255,   256,    -1,    -1,   259,    -1,    -1,   262,   263,
++      -1,    -1,    -1,    -1,    -1,   269,   270,    -1,   272,    -1,
++     274,    -1,   276,   277,    -1,    -1,    -1,    -1,    -1,    -1,
++     284,   285,   286,   287,   288,   289,   290,   291,   292,   293,
++     294,   295,   296,    -1,   298,   299,   300,    -1,   302,   303,
++     304,   305,    -1,   307,   308,    -1,    -1,    -1,    -1,   313,
++     314,   315,   316,   317,   318,    -1,    -1,   321,   322,    -1,
++     324,    -1,   326,    -1,   328,   329,   330,   331,   332,   333,
++     334,   335,   336,   337,    -1,    -1,   340,   341,    -1,    -1,
++     344,   345,   346,   347,    -1,    -1,    -1,   351,   352,    -1,
++      -1,    -1,    -1,   357,   358,   359,    -1,   361,   362,   363,
++     364,    -1,   366,   367,    -1,    -1,    -1,    -1,    -1,    -1,
++      -1,    -1,   376,   377,   378,    -1,    -1,   381,    -1,   383,
++     384,   385,   386,   387,   388,   389,   390,   391,   392,   393,
++     394,    -1,    -1,   397,   398,   399,    -1,   401,    -1,   403,
++     404,   405,   406,   407,    -1,   409,   410,   411,    -1,    -1,
++     414,    -1,    -1,    -1,   418,   419,   420,   421,   422,    -1,
++      -1,   425,   426,   427,   428,   429,    -1,   431,   432,    -1,
++     434,   435,   436,    -1,    -1,   439,    -1,   441,    -1,   443,
++     444,    -1,   446,   447,    -1,    -1,    -1,   451,   452,   453,
++     454,   455,   456,   457,   458,   459,   460,    -1,   462,   463,
++      -1,    -1,    -1,   467,   468,   469,   470,    -1,    -1,    -1,
++     474,    -1,    -1,    -1,   478,    -1,   480,   481,   482,   483,
++      -1,   485,   486,   487,   488,   489,   490,    -1,    -1,    -1,
++      -1,    -1,    -1,   497,   498,    -1,   500,    -1,    -1,   503,
++      -1,    -1,   506,   507,   508,    -1,    -1,   511,   512,    -1,
++     514,   515,   516,   517,   518,   519,    -1,    -1,   522,   523,
++     524,   525,    -1,   527,   528,    -1,   530,    -1,   532,   533,
++     534,   535,    -1,    -1,   538,   539,    -1,   541,   542,   543,
++     544,    -1,    -1,    -1,    -1,    -1,   550,   551,   552,    -1,
++      -1,    -1,   556,   557,   558,   559,    -1,   561,   562,    -1,
++     564,   565,    -1,   567,   568,    -1,    -1,   571,    -1,    -1,
++     574,    -1,   576,    -1,   578,   579,   580,    -1,    -1,    -1,
++      -1,    -1,    -1,   587,    -1,    -1,   590,    -1,    -1,    -1,
++     594,   595,   596,   597,   598,   599,    -1,    -1,    -1,    -1,
++      -1,    -1,   606,   607,    -1,   609,   610,   611,    -1,    -1,
++     614,    -1,    -1,    -1,    -1,    -1,    -1,    -1,     5,    -1,
++       7,     8,     9,    10,    11,    -1,    -1,    14,    -1,    -1,
++      -1,    18,   636,   637,    21,    -1,    23,    24,    25,    26,
++      27,    28,    29,    -1,    31,    -1,    -1,    -1,    35,    -1,
++      -1,    -1,    39,    -1,    -1,    42,    43,    44,    -1,    46,
++      -1,    48,    49,    -1,    -1,    52,    -1,    -1,    55,    56,
++      -1,    58,    59,    -1,    61,    62,    -1,    64,    65,    66,
++      67,    68,    69,    70,    -1,    72,    73,    74,    75,    76,
++      77,    78,    79,    -1,    81,    82,    83,    84,    85,    86,
++      87,    88,    -1,    90,    91,    -1,    93,    94,    95,    96,
++      97,    -1,    99,    -1,    -1,   102,    -1,    -1,   105,    -1,
++      -1,    -1,   109,    -1,    -1,    -1,   113,   114,   115,    -1,
++      -1,   118,    -1,    -1,    -1,    -1,   123,   124,    -1,    -1,
++      -1,    -1,   129,    -1,   131,    -1,    -1,    -1,   135,    -1,
++     137,   138,   139,   140,    -1,    -1,    -1,   144,    -1,    -1,
++     147,   148,   149,    -1,    -1,    -1,   153,    -1,   155,   156,
++      -1,   158,   159,   160,    -1,   162,   163,    -1,   165,   166,
++     167,   168,   169,   170,    -1,    -1,   173,   174,   175,    -1,
++      -1,   178,   179,    -1,   181,   182,   183,    -1,    -1,   186,
++      -1,    -1,    -1,   190,    -1,   192,    -1,   194,    -1,   196,
++     197,   198,   199,   200,   201,    -1,   203,    -1,    -1,   206,
++     207,   208,    -1,   210,    -1,    -1,    -1,   214,   215,    -1,
++      -1,    -1,   219,   220,   221,   222,    -1,    -1,   225,   226,
++     227,    -1,   229,    -1,   231,    -1,    -1,    -1,    -1,   236,
++     237,    -1,    -1,    -1,   241,    -1,   243,   244,    -1,   246,
++     247,    -1,    -1,    -1,   251,    -1,    -1,   254,   255,   256,
++      -1,    -1,   259,    -1,    -1,   262,   263,    -1,    -1,    -1,
++      -1,    -1,   269,   270,    -1,   272,    -1,   274,    -1,   276,
++     277,    -1,    -1,    -1,    -1,    -1,    -1,   284,   285,   286,
++     287,   288,   289,   290,   291,   292,   293,   294,   295,   296,
++      -1,   298,   299,   300,    -1,   302,   303,   304,   305,    -1,
++     307,   308,    -1,    -1,    -1,    -1,   313,   314,   315,   316,
++     317,   318,    -1,    -1,   321,   322,    -1,   324,    -1,   326,
++      -1,   328,   329,   330,   331,   332,   333,   334,   335,   336,
++     337,    -1,    -1,   340,   341,    -1,    -1,   344,   345,   346,
++     347,    -1,    -1,    -1,   351,   352,    -1,    -1,    -1,    -1,
++     357,   358,   359,    -1,   361,   362,   363,   364,    -1,   366,
++     367,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   376,
++     377,   378,    -1,    -1,   381,    -1,   383,   384,   385,   386,
++     387,   388,   389,   390,   391,   392,   393,   394,    -1,    -1,
++     397,   398,   399,    -1,   401,    -1,   403,   404,   405,   406,
++     407,    -1,   409,   410,   411,    -1,    -1,   414,    -1,    -1,
++      -1,   418,   419,   420,   421,   422,    -1,    -1,   425,   426,
++     427,   428,   429,    -1,   431,   432,    -1,   434,   435,   436,
++      -1,    -1,   439,    -1,   441,    -1,   443,   444,    -1,   446,
++     447,    -1,    -1,    -1,   451,   452,   453,   454,   455,   456,
++     457,   458,   459,   460,    -1,   462,   463,    -1,    -1,    -1,
++     467,   468,   469,   470,    -1,    -1,    -1,   474,    -1,    -1,
++      -1,   478,    -1,   480,   481,   482,   483,    -1,   485,   486,
++     487,   488,   489,   490,    -1,    -1,    -1,    -1,    -1,    -1,
++     497,   498,    -1,   500,    -1,    -1,   503,    -1,    -1,   506,
++     507,   508,    -1,    -1,   511,   512,    -1,   514,   515,   516,
++     517,   518,   519,    -1,    -1,   522,   523,   524,   525,    -1,
++     527,   528,    -1,   530,    -1,   532,   533,   534,   535,    -1,
++      -1,   538,   539,    -1,   541,   542,   543,   544,    -1,    -1,
++      -1,    -1,    -1,   550,   551,   552,    -1,    -1,    -1,   556,
++     557,   558,   559,    -1,   561,   562,    -1,   564,   565,    -1,
++     567,   568,    -1,    -1,   571,    -1,    -1,   574,    -1,   576,
++      -1,   578,   579,   580,    -1,    -1,    -1,    -1,    -1,    -1,
++     587,    -1,    -1,   590,    -1,    -1,    -1,   594,   595,   596,
++     597,   598,   599,    -1,    -1,    -1,    -1,    -1,    -1,   606,
++     607,    -1,   609,   610,   611,    -1,    -1,   614,    -1,    -1,
++      -1,    -1,    -1,     5,    -1,     7,     8,     9,    10,    11,
++      -1,    -1,    14,    -1,    -1,    -1,    18,    -1,    -1,    21,
++     637,    23,    24,    25,    26,    27,    28,    29,    -1,    31,
++      -1,    -1,    -1,    35,    -1,    -1,    -1,    39,    -1,    -1,
++      42,    43,    44,    -1,    46,    -1,    48,    49,    -1,    -1,
++      52,    -1,    -1,    55,    56,    -1,    58,    59,    -1,    61,
++      62,    -1,    64,    65,    66,    67,    68,    69,    70,    -1,
++      72,    73,    74,    75,    76,    77,    78,    79,    -1,    81,
++      82,    83,    84,    85,    86,    87,    88,    -1,    90,    91,
++      -1,    93,    94,    95,    96,    97,    -1,    99,    -1,    -1,
++     102,    -1,    -1,   105,    -1,    -1,    -1,   109,    -1,    -1,
++      -1,   113,   114,   115,    -1,    -1,   118,    -1,    -1,    -1,
++      -1,   123,   124,    -1,    -1,    -1,    -1,   129,    -1,   131,
++      -1,    -1,    -1,   135,    -1,   137,   138,   139,   140,    -1,
++      -1,    -1,   144,    -1,    -1,   147,   148,   149,    -1,    -1,
++      -1,   153,    -1,   155,   156,    -1,   158,   159,   160,    -1,
++     162,   163,    -1,   165,   166,   167,   168,   169,   170,    -1,
++      -1,   173,   174,   175,    -1,    -1,   178,   179,    -1,   181,
++     182,   183,    -1,    -1,   186,    -1,    -1,    -1,   190,    -1,
++     192,    -1,   194,    -1,   196,   197,   198,   199,   200,   201,
++      -1,   203,    -1,    -1,   206,   207,   208,    -1,   210,    -1,
++      -1,    -1,   214,   215,    -1,    -1,    -1,   219,   220,   221,
++     222,    -1,    -1,   225,   226,   227,    -1,   229,    -1,   231,
++      -1,    -1,    -1,    -1,   236,   237,    -1,    -1,    -1,   241,
++      -1,   243,   244,    -1,   246,   247,    -1,    -1,    -1,   251,
++      -1,    -1,   254,   255,   256,    -1,    -1,   259,    -1,    -1,
++     262,   263,    -1,    -1,    -1,    -1,    -1,   269,   270,    -1,
++     272,    -1,   274,    -1,   276,   277,    -1,    -1,    -1,    -1,
++      -1,    -1,   284,   285,   286,   287,   288,   289,   290,   291,
++     292,   293,   294,   295,   296,    -1,   298,   299,   300,    -1,
++     302,   303,   304,   305,    -1,   307,   308,    -1,    -1,    -1,
++      -1,   313,   314,   315,   316,   317,   318,    -1,    -1,   321,
++     322,    -1,   324,    -1,   326,    -1,   328,   329,   330,   331,
++     332,   333,   334,   335,   336,   337,    -1,    -1,   340,   341,
++      -1,    -1,   344,   345,   346,   347,    -1,    -1,    -1,   351,
++     352,    -1,    -1,    -1,    -1,   357,   358,   359,    -1,   361,
++     362,   363,   364,    -1,   366,   367,    -1,    -1,    -1,    -1,
++      -1,    -1,    -1,    -1,   376,   377,   378,    -1,    -1,   381,
++      -1,   383,   384,   385,   386,   387,   388,   389,   390,   391,
++     392,   393,   394,    -1,    -1,   397,   398,   399,    -1,   401,
++      -1,   403,   404,   405,   406,   407,    -1,   409,   410,   411,
++      -1,    -1,   414,    -1,    -1,    -1,   418,   419,   420,   421,
++     422,    -1,    -1,   425,   426,   427,   428,   429,    -1,   431,
++     432,    -1,   434,   435,   436,    -1,    -1,   439,    -1,   441,
++      -1,   443,   444,    -1,   446,   447,    -1,    -1,    -1,   451,
++     452,   453,   454,   455,   456,   457,   458,   459,   460,    -1,
++     462,   463,    -1,    -1,    -1,   467,   468,   469,   470,    -1,
++      -1,    -1,   474,    -1,    -1,    -1,   478,    -1,   480,   481,
++     482,   483,    -1,   485,   486,   487,   488,   489,   490,    -1,
++      -1,    -1,    -1,    -1,    -1,   497,   498,    -1,   500,    -1,
++      -1,   503,    -1,    -1,   506,   507,   508,    -1,    -1,   511,
++     512,    -1,   514,   515,   516,   517,   518,   519,    -1,    -1,
++     522,   523,   524,   525,    -1,   527,   528,    -1,   530,    -1,
++     532,   533,   534,   535,    -1,    -1,   538,   539,    -1,   541,
++     542,   543,   544,    -1,    -1,    -1,    -1,    -1,   550,   551,
++     552,    -1,    -1,    -1,   556,   557,   558,   559,    -1,   561,
++     562,    -1,   564,   565,    -1,   567,   568,    -1,    -1,   571,
++      -1,    -1,   574,    -1,   576,    -1,   578,   579,   580,    -1,
++      -1,    -1,    -1,    -1,    -1,   587,    -1,    -1,   590,    -1,
++      -1,    -1,   594,   595,   596,   597,   598,   599,    -1,    -1,
++      -1,    -1,    -1,    -1,   606,   607,    -1,   609,   610,   611,
++      -1,    -1,   614,    -1,    -1,    -1,    -1,    -1,     5,    -1,
++       7,     8,     9,    10,    11,    -1,    -1,    14,    -1,    -1,
++      -1,    18,    -1,    -1,    21,   637,    23,    24,    25,    26,
++      27,    28,    29,    -1,    31,    -1,    -1,    -1,    35,    -1,
++      -1,    -1,    39,    -1,    -1,    42,    43,    44,    -1,    46,
++      -1,    48,    49,    -1,    -1,    52,    -1,    -1,    55,    56,
++      -1,    58,    59,    -1,    61,    62,    -1,    64,    65,    66,
++      67,    68,    69,    70,    -1,    72,    73,    74,    75,    76,
++      77,    78,    79,    -1,    81,    82,    83,    84,    85,    86,
++      87,    88,    -1,    90,    91,    -1,    93,    94,    95,    96,
++      97,    -1,    99,    -1,    -1,   102,    -1,    -1,   105,    -1,
++      -1,    -1,   109,    -1,    -1,    -1,   113,   114,   115,    -1,
++      -1,   118,    -1,    -1,    -1,    -1,   123,   124,    -1,    -1,
++      -1,    -1,   129,    -1,   131,    -1,    -1,    -1,   135,    -1,
++     137,   138,   139,   140,    -1,    -1,    -1,   144,    -1,    -1,
++     147,   148,   149,    -1,    -1,    -1,   153,    -1,   155,   156,
++      -1,   158,   159,   160,    -1,   162,   163,    -1,   165,   166,
++     167,   168,   169,   170,    -1,    -1,   173,   174,   175,    -1,
++      -1,   178,   179,    -1,   181,   182,   183,    -1,    -1,   186,
++      -1,    -1,    -1,   190,    -1,   192,    -1,   194,    -1,   196,
++     197,   198,   199,   200,   201,    -1,   203,    -1,    -1,   206,
++     207,   208,    -1,   210,    -1,    -1,    -1,   214,   215,    -1,
++      -1,    -1,   219,   220,   221,   222,    -1,    -1,   225,   226,
++     227,    -1,   229,    -1,   231,    -1,    -1,    -1,    -1,   236,
++     237,    -1,    -1,    -1,   241,    -1,   243,   244,    -1,   246,
++     247,    -1,    -1,    -1,   251,    -1,    -1,   254,   255,   256,
++      -1,    -1,   259,    -1,    -1,   262,   263,    -1,    -1,    -1,
++      -1,    -1,   269,   270,    -1,   272,    -1,   274,    -1,   276,
++     277,    -1,    -1,    -1,    -1,    -1,    -1,   284,   285,   286,
++     287,   288,   289,   290,   291,   292,   293,   294,   295,   296,
++      -1,   298,   299,   300,    -1,   302,   303,   304,   305,    -1,
++     307,   308,    -1,    -1,    -1,    -1,   313,   314,   315,   316,
++     317,   318,    -1,    -1,   321,   322,    -1,   324,    -1,   326,
++      -1,   328,   329,   330,   331,   332,   333,   334,   335,   336,
++     337,    -1,    -1,   340,   341,    -1,    -1,   344,   345,   346,
++     347,    -1,    -1,    -1,   351,   352,    -1,    -1,    -1,    -1,
++     357,   358,   359,    -1,   361,   362,   363,   364,    -1,   366,
++     367,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   376,
++     377,   378,    -1,    -1,   381,    -1,   383,   384,   385,   386,
++     387,   388,   389,   390,   391,   392,   393,   394,    -1,    -1,
++     397,   398,   399,    -1,   401,    -1,   403,   404,   405,   406,
++     407,    -1,   409,   410,   411,    -1,    -1,   414,    -1,    -1,
++      -1,   418,   419,   420,   421,   422,    -1,    -1,   425,   426,
++     427,   428,   429,    -1,   431,   432,    -1,   434,   435,   436,
++      -1,    -1,   439,    -1,   441,    -1,   443,   444,    -1,   446,
++     447,    -1,    -1,    -1,   451,   452,   453,   454,   455,   456,
++     457,   458,   459,   460,    -1,   462,   463,    -1,    -1,    -1,
++     467,   468,   469,   470,    -1,    -1,    -1,   474,    -1,    -1,
++      -1,   478,    -1,   480,   481,   482,   483,    -1,   485,   486,
++     487,   488,   489,   490,    -1,    -1,    -1,    -1,    -1,    -1,
++     497,   498,    -1,   500,    -1,    -1,   503,    -1,    -1,   506,
++     507,   508,    -1,    -1,   511,   512,    -1,   514,   515,   516,
++     517,   518,   519,    -1,    -1,   522,   523,   524,   525,    -1,
++     527,   528,    -1,   530,    -1,   532,   533,   534,   535,    -1,
++      -1,   538,   539,    -1,   541,   542,   543,   544,    -1,    -1,
++      -1,    -1,    -1,   550,   551,   552,    -1,    -1,    -1,   556,
++     557,   558,   559,    -1,   561,   562,    -1,   564,   565,    -1,
++     567,   568,    -1,    -1,   571,    -1,    -1,   574,    -1,   576,
++      -1,   578,   579,   580,    -1,    -1,    -1,    -1,    -1,    -1,
++     587,    -1,    -1,   590,    -1,    -1,    -1,   594,   595,   596,
++     597,   598,   599,    -1,    -1,    -1,    -1,    -1,    -1,   606,
++     607,    -1,   609,   610,   611,    -1,    -1,   614,    -1,    -1,
++      -1,    -1,    -1,     5,    -1,     7,     8,     9,    10,    11,
++      -1,    -1,    14,    -1,    -1,    -1,    18,    -1,    -1,    21,
++     637,    23,    24,    25,    26,    27,    28,    29,    -1,    31,
++      -1,    -1,    -1,    35,    -1,    -1,    -1,    39,    -1,    -1,
++      42,    43,    44,    -1,    46,    -1,    48,    49,    -1,    -1,
++      52,    -1,    -1,    55,    56,    -1,    58,    59,    -1,    61,
++      62,    -1,    64,    65,    66,    67,    68,    69,    70,    -1,
++      72,    73,    74,    75,    76,    77,    78,    79,    -1,    81,
++      82,    83,    84,    85,    86,    87,    88,    -1,    90,    91,
++      -1,    93,    94,    95,    96,    97,    -1,    99,    -1,    -1,
++     102,    -1,    -1,   105,    -1,    -1,    -1,   109,    -1,    -1,
++      -1,   113,   114,   115,    -1,    -1,   118,    -1,    -1,    -1,
++      -1,   123,   124,    -1,    -1,    -1,    -1,   129,    -1,   131,
++      -1,    -1,    -1,   135,    -1,   137,   138,   139,   140,    -1,
++      -1,    -1,   144,    -1,    -1,   147,   148,   149,    -1,    -1,
++      -1,   153,    -1,   155,   156,    -1,   158,   159,   160,    -1,
++     162,   163,    -1,   165,   166,   167,   168,   169,   170,    -1,
++      -1,   173,   174,   175,    -1,    -1,   178,   179,    -1,   181,
++     182,   183,    -1,    -1,   186,    -1,    -1,    -1,   190,    -1,
++     192,    -1,   194,    -1,   196,   197,   198,   199,   200,   201,
++      -1,   203,    -1,    -1,   206,   207,   208,    -1,   210,    -1,
++      -1,    -1,   214,   215,    -1,    -1,    -1,   219,   220,   221,
++     222,    -1,    -1,   225,   226,   227,    -1,   229,    -1,   231,
++      -1,    -1,    -1,    -1,   236,   237,    -1,    -1,    -1,   241,
++      -1,   243,   244,    -1,   246,   247,    -1,    -1,    -1,   251,
++      -1,    -1,   254,   255,   256,    -1,    -1,   259,    -1,    -1,
++     262,   263,    -1,    -1,    -1,    -1,    -1,   269,   270,    -1,
++     272,    -1,   274,    -1,   276,   277,    -1,    -1,    -1,    -1,
++      -1,    -1,   284,   285,   286,   287,   288,   289,   290,   291,
++     292,   293,   294,   295,   296,    -1,   298,   299,   300,    -1,
++     302,   303,   304,   305,    -1,   307,   308,    -1,    -1,    -1,
++      -1,   313,   314,   315,   316,   317,   318,    -1,    -1,   321,
++     322,    -1,   324,    -1,   326,    -1,   328,   329,   330,   331,
++     332,   333,   334,   335,   336,   337,    -1,    -1,   340,   341,
++      -1,    -1,   344,   345,   346,   347,    -1,    -1,    -1,   351,
++     352,    -1,    -1,    -1,    -1,   357,   358,   359,    -1,   361,
++     362,   363,   364,    -1,   366,   367,    -1,    -1,    -1,    -1,
++      -1,    -1,    -1,    -1,   376,   377,   378,    -1,    -1,   381,
++      -1,   383,   384,   385,   386,   387,   388,   389,   390,   391,
++     392,   393,   394,    -1,    -1,   397,   398,   399,    -1,   401,
++      -1,   403,   404,   405,   406,   407,    -1,   409,   410,   411,
++      -1,    -1,   414,    -1,    -1,    -1,   418,   419,   420,   421,
++     422,    -1,    -1,   425,   426,   427,   428,   429,    -1,   431,
++     432,    -1,   434,   435,   436,    -1,    -1,   439,    -1,   441,
++      -1,   443,   444,    -1,   446,   447,    -1,    -1,    -1,   451,
++     452,   453,   454,   455,   456,   457,   458,   459,   460,    -1,
++     462,   463,    -1,    -1,    -1,   467,   468,   469,   470,    -1,
++      -1,    -1,   474,    -1,    -1,    -1,   478,    -1,   480,   481,
++     482,   483,    -1,   485,   486,   487,   488,   489,   490,    -1,
++      -1,    -1,    -1,    -1,    -1,   497,   498,    -1,   500,    -1,
++      -1,   503,    -1,    -1,   506,   507,   508,    -1,    -1,   511,
++     512,    -1,   514,   515,   516,   517,   518,   519,    -1,    -1,
++     522,   523,   524,   525,    -1,   527,   528,    -1,   530,    -1,
++     532,   533,   534,   535,    -1,    -1,   538,   539,    -1,   541,
++     542,   543,   544,    -1,    -1,    -1,    -1,    -1,   550,   551,
++     552,    -1,    -1,    -1,   556,   557,   558,   559,    -1,   561,
++     562,    -1,   564,   565,    -1,   567,   568,    -1,    -1,   571,
++      -1,    -1,   574,    -1,   576,    -1,   578,   579,   580,    -1,
++      -1,    -1,    -1,    -1,    -1,   587,    -1,    -1,   590,    -1,
++      -1,    -1,   594,   595,   596,   597,   598,   599,    -1,    -1,
++      -1,    -1,    -1,    -1,   606,   607,    -1,   609,   610,   611,
++      -1,    -1,   614,    -1,    -1,    -1,    -1,    -1,     5,    -1,
++       7,     8,     9,    10,    11,    -1,    -1,    14,    -1,    -1,
++      -1,    18,    -1,    -1,    21,   637,    23,    24,    25,    26,
++      27,    28,    29,    -1,    31,    -1,    -1,    -1,    35,    -1,
++      -1,    -1,    39,    -1,    -1,    42,    43,    44,    -1,    46,
++      -1,    48,    49,    -1,    -1,    52,    -1,    -1,    55,    56,
++      -1,    58,    59,    -1,    61,    62,    -1,    64,    65,    66,
++      67,    68,    69,    70,    -1,    72,    73,    74,    75,    76,
++      77,    78,    79,    -1,    81,    82,    83,    84,    85,    86,
++      87,    88,    -1,    90,    91,    -1,    93,    94,    95,    96,
++      97,    -1,    99,    -1,    -1,   102,    -1,    -1,   105,    -1,
++      -1,    -1,   109,    -1,    -1,    -1,   113,   114,   115,    -1,
++      -1,   118,    -1,    -1,    -1,    -1,   123,   124,    -1,    -1,
++      -1,    -1,   129,    -1,   131,    -1,    -1,    -1,   135,    -1,
++     137,   138,   139,   140,    -1,    -1,    -1,   144,    -1,    -1,
++     147,   148,   149,    -1,    -1,    -1,   153,    -1,   155,   156,
++      -1,   158,   159,   160,    -1,   162,   163,    -1,   165,   166,
++     167,   168,   169,   170,    -1,    -1,   173,   174,   175,    -1,
++      -1,   178,   179,    -1,   181,   182,   183,    -1,    -1,   186,
++      -1,    -1,    -1,   190,    -1,   192,    -1,   194,    -1,   196,
++     197,   198,   199,   200,   201,    -1,   203,    -1,    -1,   206,
++     207,   208,    -1,   210,    -1,    -1,    -1,   214,   215,    -1,
++      -1,    -1,   219,   220,   221,   222,    -1,    -1,   225,   226,
++     227,    -1,   229,    -1,   231,    -1,    -1,    -1,    -1,   236,
++     237,    -1,    -1,    -1,   241,    -1,   243,   244,    -1,   246,
++     247,    -1,    -1,    -1,   251,    -1,    -1,   254,   255,   256,
++      -1,    -1,   259,    -1,    -1,   262,   263,   264,    -1,    -1,
++      -1,    -1,   269,   270,    -1,   272,    -1,   274,    -1,   276,
++     277,    -1,    -1,    -1,    -1,    -1,    -1,   284,   285,   286,
++     287,   288,   289,   290,   291,   292,   293,   294,   295,   296,
++      -1,   298,   299,   300,    -1,   302,   303,   304,   305,    -1,
++     307,   308,    -1,    -1,    -1,    -1,   313,   314,   315,   316,
++     317,   318,    -1,    -1,   321,   322,    -1,   324,    -1,   326,
++      -1,   328,   329,   330,   331,   332,   333,   334,   335,   336,
++     337,    -1,    -1,   340,   341,    -1,    -1,   344,   345,   346,
++     347,    -1,    -1,    -1,   351,   352,    -1,    -1,    -1,    -1,
++     357,   358,   359,    -1,   361,   362,   363,   364,    -1,   366,
++     367,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   376,
++     377,   378,    -1,    -1,   381,    -1,   383,   384,   385,   386,
++     387,   388,   389,   390,   391,   392,   393,   394,    -1,    -1,
++     397,   398,   399,    -1,   401,    -1,   403,   404,   405,   406,
++     407,    -1,   409,   410,   411,    -1,    -1,   414,    -1,    -1,
++      -1,   418,   419,   420,   421,   422,    -1,    -1,   425,   426,
++     427,   428,   429,    -1,   431,   432,    -1,   434,   435,   436,
++      -1,    -1,   439,    -1,   441,    -1,   443,   444,    -1,   446,
++     447,    -1,    -1,    -1,   451,   452,   453,   454,   455,   456,
++     457,   458,   459,   460,    -1,   462,   463,    -1,    -1,    -1,
++     467,   468,   469,   470,    -1,    -1,    -1,   474,    -1,    -1,
++      -1,   478,    -1,   480,   481,   482,   483,    -1,   485,   486,
++     487,   488,   489,   490,    -1,    -1,    -1,    -1,    -1,    -1,
++     497,   498,    -1,   500,    -1,    -1,   503,    -1,    -1,   506,
++     507,   508,    -1,    -1,   511,   512,    -1,   514,   515,   516,
++     517,   518,   519,    -1,    -1,   522,   523,   524,   525,    -1,
++     527,   528,    -1,   530,    -1,   532,   533,   534,   535,    -1,
++     537,   538,   539,    -1,   541,   542,   543,   544,    -1,    -1,
++      -1,    -1,    -1,   550,   551,   552,    -1,    -1,    -1,   556,
++     557,   558,   559,    -1,   561,   562,    -1,   564,   565,    -1,
++     567,   568,    -1,    -1,   571,    -1,    -1,   574,    -1,   576,
++      -1,   578,   579,   580,    -1,    -1,    -1,    -1,    -1,    -1,
++     587,    -1,    -1,   590,    -1,    -1,    -1,   594,   595,   596,
++     597,   598,   599,    -1,    -1,    -1,    -1,    -1,    -1,   606,
++     607,    -1,   609,   610,   611,    -1,    -1,   614,    -1,    -1,
++      -1,    -1,     5,    -1,     7,     8,     9,    10,    11,    -1,
++      -1,    14,    -1,    -1,    -1,    18,    -1,    -1,    21,   636,
++      23,    24,    25,    26,    27,    28,    29,    -1,    31,    -1,
++      -1,    -1,    35,    -1,    -1,    -1,    39,    -1,    -1,    42,
++      43,    44,    -1,    46,    -1,    48,    49,    -1,    -1,    52,
++      -1,    -1,    55,    56,    -1,    58,    59,    -1,    61,    62,
++      -1,    64,    65,    66,    67,    68,    69,    70,    -1,    72,
++      73,    74,    75,    76,    77,    78,    79,    -1,    81,    82,
++      83,    84,    85,    86,    87,    88,    -1,    90,    91,    -1,
++      93,    94,    95,    96,    97,    -1,    99,    -1,    -1,   102,
++      -1,    -1,   105,    -1,    -1,    -1,   109,    -1,    -1,    -1,
++     113,   114,   115,    -1,    -1,   118,    -1,    -1,    -1,    -1,
++     123,   124,    -1,    -1,    -1,    -1,   129,    -1,   131,    -1,
++      -1,    -1,   135,    -1,   137,   138,   139,   140,    -1,    -1,
++      -1,   144,    -1,    -1,   147,   148,   149,    -1,    -1,    -1,
++     153,    -1,   155,   156,    -1,   158,   159,   160,    -1,   162,
++     163,    -1,   165,   166,   167,   168,   169,   170,    -1,    -1,
++     173,   174,   175,    -1,    -1,   178,   179,    -1,   181,   182,
++     183,    -1,    -1,   186,    -1,    -1,    -1,   190,    -1,   192,
++      -1,   194,    -1,   196,   197,   198,   199,   200,   201,    -1,
++     203,    -1,    -1,   206,   207,   208,    -1,   210,    -1,    -1,
++      -1,   214,   215,    -1,    -1,    -1,   219,   220,   221,   222,
++      -1,    -1,   225,   226,   227,    -1,   229,    -1,   231,    -1,
++      -1,    -1,    -1,   236,   237,    -1,    -1,    -1,   241,    -1,
++     243,   244,    -1,   246,   247,    -1,    -1,    -1,   251,    -1,
++      -1,   254,   255,   256,    -1,    -1,   259,    -1,    -1,   262,
++     263,   264,    -1,    -1,    -1,    -1,   269,   270,    -1,   272,
++      -1,   274,    -1,   276,   277,    -1,    -1,    -1,    -1,    -1,
++      -1,   284,   285,   286,   287,   288,   289,   290,   291,   292,
++     293,   294,   295,   296,    -1,   298,   299,   300,    -1,   302,
++     303,   304,   305,    -1,   307,   308,    -1,    -1,    -1,    -1,
++     313,   314,   315,   316,   317,   318,    -1,    -1,   321,   322,
++      -1,   324,    -1,   326,    -1,   328,   329,   330,   331,   332,
++     333,   334,   335,   336,   337,    -1,    -1,   340,   341,    -1,
++      -1,   344,   345,   346,   347,    -1,    -1,    -1,   351,   352,
++      -1,    -1,    -1,    -1,   357,   358,   359,    -1,   361,   362,
++     363,   364,    -1,   366,   367,    -1,    -1,    -1,    -1,    -1,
++      -1,    -1,    -1,   376,   377,   378,    -1,    -1,   381,    -1,
++     383,   384,   385,   386,   387,   388,   389,   390,   391,   392,
++     393,   394,    -1,    -1,   397,   398,   399,    -1,   401,    -1,
++     403,   404,   405,   406,   407,    -1,   409,   410,   411,    -1,
++      -1,   414,    -1,    -1,    -1,   418,   419,   420,   421,   422,
++      -1,    -1,   425,   426,   427,   428,   429,    -1,   431,   432,
++      -1,   434,   435,   436,    -1,    -1,   439,    -1,   441,    -1,
++     443,   444,    -1,   446,   447,    -1,    -1,    -1,   451,   452,
++     453,   454,   455,   456,   457,   458,   459,   460,    -1,   462,
++     463,    -1,    -1,    -1,   467,   468,   469,   470,    -1,    -1,
++      -1,   474,    -1,    -1,    -1,   478,    -1,   480,   481,   482,
++     483,    -1,   485,   486,   487,   488,   489,   490,    -1,    -1,
++      -1,    -1,    -1,    -1,   497,   498,    -1,   500,    -1,    -1,
++     503,    -1,    -1,   506,   507,   508,    -1,    -1,   511,   512,
++      -1,   514,   515,   516,   517,   518,   519,    -1,    -1,   522,
++     523,   524,   525,    -1,   527,   528,    -1,   530,    -1,   532,
++     533,   534,   535,    -1,   537,   538,   539,    -1,   541,   542,
++     543,   544,    -1,    -1,    -1,    -1,    -1,   550,   551,   552,
++      -1,    -1,    -1,   556,   557,   558,   559,    -1,   561,   562,
++      -1,   564,   565,    -1,   567,   568,    -1,    -1,   571,    -1,
++      -1,   574,    -1,   576,    -1,   578,   579,   580,    -1,    -1,
++      -1,    -1,    -1,    -1,   587,    -1,    -1,   590,    -1,    -1,
++      -1,   594,   595,   596,   597,   598,   599,    -1,    -1,    -1,
++      -1,    -1,    -1,   606,   607,    -1,   609,   610,   611,    -1,
++      -1,   614,    -1,    -1,    -1,    -1,     5,    -1,     7,     8,
++       9,    10,    11,    -1,    -1,    14,    -1,    -1,    -1,    18,
++      -1,    -1,    21,   636,    23,    24,    25,    26,    27,    28,
++      29,    -1,    31,    -1,    -1,    -1,    35,    -1,    -1,    -1,
++      39,    -1,    -1,    42,    43,    44,    -1,    46,    -1,    48,
++      49,    -1,    -1,    52,    -1,    -1,    55,    56,    -1,    58,
++      59,    -1,    61,    62,    -1,    64,    65,    66,    67,    68,
++      69,    70,    -1,    72,    73,    74,    75,    76,    77,    78,
++      79,    -1,    81,    82,    83,    84,    85,    86,    87,    88,
++      -1,    90,    91,    -1,    93,    94,    95,    96,    97,    -1,
++      99,    -1,    -1,   102,    -1,    -1,   105,    -1,    -1,    -1,
++     109,    -1,    -1,    -1,   113,   114,   115,    -1,    -1,   118,
++      -1,    -1,    -1,    -1,   123,   124,    -1,    -1,    -1,    -1,
++     129,    -1,   131,    -1,    -1,    -1,   135,    -1,   137,   138,
++     139,   140,    -1,    -1,    -1,   144,    -1,    -1,   147,   148,
++     149,    -1,    -1,    -1,   153,    -1,   155,   156,    -1,   158,
++     159,   160,    -1,   162,   163,    -1,   165,   166,   167,   168,
++     169,   170,    -1,    -1,   173,   174,   175,    -1,    -1,   178,
++     179,    -1,   181,   182,   183,    -1,    -1,   186,    -1,    -1,
++      -1,   190,    -1,   192,    -1,   194,    -1,   196,   197,   198,
++     199,   200,   201,    -1,   203,    -1,    -1,   206,   207,   208,
++      -1,   210,    -1,    -1,    -1,   214,   215,    -1,    -1,    -1,
++     219,   220,   221,   222,    -1,    -1,   225,   226,   227,    -1,
++     229,    -1,   231,    -1,    -1,    -1,    -1,   236,   237,    -1,
++      -1,    -1,   241,    -1,   243,   244,    -1,   246,   247,    -1,
++      -1,    -1,   251,    -1,    -1,   254,   255,   256,    -1,    -1,
++     259,    -1,    -1,   262,   263,   264,    -1,    -1,    -1,    -1,
++     269,   270,    -1,   272,    -1,   274,    -1,   276,   277,    -1,
++      -1,    -1,    -1,    -1,    -1,   284,   285,   286,   287,   288,
++     289,   290,   291,   292,   293,   294,   295,   296,    -1,   298,
++     299,   300,    -1,   302,   303,   304,   305,    -1,   307,   308,
++      -1,    -1,    -1,    -1,   313,   314,   315,   316,   317,   318,
++      -1,    -1,   321,   322,    -1,   324,    -1,   326,    -1,   328,
++     329,   330,   331,   332,   333,   334,   335,   336,   337,    -1,
++      -1,   340,   341,    -1,    -1,   344,   345,   346,   347,    -1,
++      -1,    -1,   351,   352,    -1,    -1,    -1,    -1,   357,   358,
++     359,    -1,   361,   362,   363,   364,    -1,   366,   367,    -1,
++      -1,    -1,    -1,    -1,    -1,    -1,    -1,   376,   377,   378,
++      -1,    -1,   381,    -1,   383,   384,   385,   386,   387,   388,
++     389,   390,   391,   392,   393,   394,    -1,    -1,   397,   398,
++     399,    -1,   401,    -1,   403,   404,   405,   406,   407,    -1,
++     409,   410,   411,    -1,    -1,   414,    -1,    -1,    -1,   418,
++     419,   420,   421,   422,    -1,    -1,   425,   426,   427,   428,
++     429,    -1,   431,   432,    -1,   434,   435,   436,    -1,    -1,
++     439,    -1,   441,    -1,   443,   444,    -1,   446,   447,    -1,
++      -1,    -1,   451,   452,   453,   454,   455,   456,   457,   458,
++     459,   460,    -1,   462,   463,    -1,    -1,    -1,   467,   468,
++     469,   470,    -1,    -1,    -1,   474,    -1,    -1,    -1,   478,
++      -1,   480,   481,   482,   483,    -1,   485,   486,   487,   488,
++     489,   490,    -1,    -1,    -1,    -1,    -1,    -1,   497,   498,
++      -1,   500,    -1,    -1,   503,    -1,    -1,   506,   507,   508,
++      -1,    -1,   511,   512,    -1,   514,   515,   516,   517,   518,
++     519,    -1,    -1,   522,   523,   524,   525,    -1,   527,   528,
++      -1,   530,    -1,   532,   533,   534,   535,    -1,   537,   538,
++     539,    -1,   541,   542,   543,   544,    -1,    -1,    -1,    -1,
++      -1,   550,   551,   552,    -1,    -1,    -1,   556,   557,   558,
++     559,    -1,   561,   562,    -1,   564,   565,    -1,   567,   568,
++      -1,    -1,   571,    -1,    -1,   574,    -1,   576,    -1,   578,
++     579,   580,    -1,    -1,    -1,    -1,    -1,    -1,   587,    -1,
++      -1,   590,    -1,    -1,    -1,   594,   595,   596,   597,   598,
++     599,    -1,    -1,    -1,    -1,    -1,    -1,   606,   607,    -1,
++     609,   610,   611,    -1,    -1,   614,    -1,    -1,    -1,    -1,
++       5,    -1,     7,     8,     9,    10,    11,    -1,    -1,    14,
++      -1,    -1,    -1,    18,    -1,    -1,    -1,   636,    23,    24,
++      25,    26,    27,    28,    -1,    -1,    31,    -1,    -1,    -1,
++      35,    -1,    -1,    -1,    39,    -1,    -1,    42,    43,    44,
++      -1,    46,    -1,    -1,    -1,    -1,    -1,    52,    53,    -1,
++      55,    56,    -1,    58,    -1,    -1,    -1,    -1,    -1,    64,
++      65,    66,    67,    68,    69,    70,    -1,    72,    73,    -1,
++      -1,    -1,    -1,    -1,    -1,    -1,    81,    -1,    83,    -1,
++      85,    86,    87,    88,    -1,    90,    91,    -1,    93,    94,
++      95,    -1,    97,    -1,    99,    -1,    -1,   102,    -1,    -1,
++     105,    -1,    -1,    -1,   109,    -1,    -1,    -1,   113,   114,
++     115,    -1,    -1,   118,    -1,    -1,    -1,    -1,   123,    -1,
++      -1,    -1,    -1,    -1,   129,    -1,   131,    -1,    -1,    -1,
++     135,    -1,   137,   138,   139,   140,    -1,    -1,    -1,    -1,
++      -1,    -1,   147,   148,   149,    -1,    -1,    -1,   153,    -1,
++      -1,   156,    -1,   158,   159,   160,    -1,   162,   163,    -1,
++     165,   166,   167,   168,    -1,    -1,    -1,    -1,   173,   174,
++     175,    -1,    -1,   178,   179,   180,   181,   182,   183,    -1,
++      -1,    -1,    -1,    -1,    -1,   190,    -1,   192,    -1,   194,
++      -1,   196,   197,   198,   199,   200,   201,    -1,   203,    -1,
++      -1,    -1,   207,   208,    -1,    -1,    -1,    -1,    -1,    -1,
++     215,    -1,    -1,    -1,   219,   220,   221,   222,   223,    -1,
++     225,   226,   227,    -1,   229,    -1,   231,    -1,    -1,    -1,
++      -1,   236,    -1,    -1,    -1,    -1,   241,    -1,   243,   244,
++      -1,   246,   247,   248,    -1,    -1,   251,    -1,    -1,    -1,
++     255,   256,    -1,    -1,   259,   260,    -1,   262,   263,    -1,
++      -1,    -1,    -1,    -1,   269,   270,    -1,   272,    -1,   274,
++      -1,   276,   277,    -1,    -1,    -1,    -1,   282,    -1,   284,
++     285,   286,   287,   288,   289,   290,   291,   292,   293,   294,
++     295,   296,    -1,   298,   299,   300,    -1,   302,   303,   304,
++     305,    -1,   307,   308,    -1,    -1,    -1,    -1,   313,   314,
++     315,   316,   317,   318,    -1,    -1,   321,   322,    -1,   324,
++      -1,   326,    -1,   328,   329,   330,   331,   332,   333,   334,
++     335,   336,   337,    -1,    -1,   340,   341,    -1,    -1,   344,
++     345,   346,   347,    -1,    -1,    -1,    -1,   352,    -1,    -1,
++      -1,    -1,   357,   358,   359,    -1,   361,   362,   363,   364,
++      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
++      -1,    -1,   377,   378,    -1,    -1,    -1,    -1,   383,   384,
++     385,    -1,   387,   388,   389,   390,   391,   392,   393,    -1,
++      -1,    -1,    -1,   398,   399,    -1,   401,    -1,   403,   404,
++     405,   406,   407,    -1,   409,   410,   411,    -1,    -1,   414,
++      -1,    -1,    -1,   418,   419,   420,   421,   422,    -1,    -1,
++     425,   426,   427,   428,   429,    -1,   431,    -1,    -1,   434,
++      -1,   436,   437,    -1,   439,    -1,    -1,    -1,   443,    -1,
++      -1,   446,   447,   448,    -1,    -1,    -1,   452,   453,   454,
++     455,   456,   457,    -1,   459,   460,    -1,   462,    -1,    -1,
++      -1,    -1,   467,   468,   469,    -1,    -1,    -1,    -1,   474,
++      -1,    -1,    -1,   478,    -1,    -1,   481,    -1,   483,    -1,
++     485,    -1,   487,    -1,   489,   490,    -1,    -1,    -1,    -1,
++      -1,    -1,   497,   498,    -1,   500,    -1,    -1,   503,    -1,
++      -1,   506,    -1,   508,    -1,    -1,    -1,   512,    -1,   514,
++     515,   516,   517,   518,   519,    -1,    -1,   522,   523,   524,
++     525,    -1,   527,   528,    -1,   530,    -1,   532,   533,   534,
++     535,    -1,    -1,   538,   539,    -1,   541,   542,   543,   544,
++      -1,    -1,    -1,    -1,    -1,   550,   551,   552,    -1,    -1,
++      -1,    -1,   557,   558,   559,    -1,   561,   562,    -1,   564,
++     565,    -1,    -1,    -1,    -1,    -1,   571,    -1,    -1,   574,
++      -1,    -1,    -1,   578,   579,   580,    -1,    -1,    -1,    -1,
++      -1,    -1,   587,    -1,    -1,   590,    -1,    -1,    -1,   594,
++     595,   596,   597,   598,   599,    -1,    -1,   602,    -1,    -1,
++      -1,   606,    -1,    -1,   609,    -1,   611,    -1,    -1,   614,
++      -1,     5,    -1,     7,     8,     9,    10,    11,    -1,    -1,
++      14,    -1,    -1,    -1,    18,    -1,   631,    21,    -1,    23,
++      24,    25,    26,    27,    28,    29,    -1,    31,    -1,    -1,
++      -1,    35,    -1,    -1,    -1,    39,    -1,    -1,    42,    43,
++      44,    -1,    46,    -1,    48,    49,    -1,    -1,    52,    -1,
++      -1,    55,    56,    -1,    58,    59,    -1,    61,    62,    -1,
++      64,    65,    66,    67,    68,    69,    70,    -1,    72,    73,
++      74,    75,    76,    77,    78,    79,    -1,    81,    82,    83,
++      84,    85,    86,    87,    88,    -1,    90,    91,    -1,    93,
++      94,    95,    96,    97,    -1,    99,    -1,    -1,   102,    -1,
++      -1,   105,    -1,   107,    -1,   109,    -1,    -1,    -1,   113,
++     114,   115,    -1,    -1,   118,    -1,    -1,    -1,    -1,   123,
++     124,    -1,    -1,    -1,    -1,   129,    -1,   131,    -1,    -1,
++      -1,   135,    -1,   137,   138,   139,   140,    -1,    -1,    -1,
++     144,    -1,    -1,   147,   148,   149,    -1,    -1,    -1,   153,
++      -1,   155,   156,    -1,   158,   159,   160,    -1,   162,   163,
++      -1,   165,   166,   167,   168,   169,   170,    -1,    -1,   173,
++     174,   175,    -1,    -1,   178,   179,    -1,   181,   182,   183,
++      -1,    -1,   186,    -1,    -1,    -1,   190,    -1,   192,    -1,
++     194,    -1,   196,   197,   198,   199,   200,   201,    -1,   203,
++      -1,    -1,   206,   207,   208,    -1,   210,    -1,    -1,    -1,
++     214,   215,    -1,    -1,    -1,   219,   220,   221,   222,    -1,
++      -1,   225,   226,   227,    -1,   229,    -1,   231,    -1,    -1,
++      -1,    -1,   236,   237,    -1,    -1,    -1,   241,    -1,   243,
++     244,    -1,   246,   247,    -1,    -1,    -1,   251,    -1,    -1,
++     254,   255,   256,    -1,    -1,   259,    -1,    -1,   262,   263,
++     264,    -1,    -1,    -1,    -1,   269,   270,    -1,   272,    -1,
++     274,    -1,   276,   277,    -1,    -1,    -1,    -1,    -1,    -1,
++     284,   285,   286,   287,   288,   289,   290,   291,   292,   293,
++     294,   295,   296,    -1,   298,   299,   300,    -1,   302,   303,
++     304,   305,    -1,   307,   308,    -1,    -1,    -1,    -1,   313,
++     314,   315,   316,   317,   318,    -1,    -1,   321,   322,    -1,
++     324,    -1,   326,    -1,   328,   329,   330,   331,   332,   333,
++     334,   335,   336,   337,    -1,    -1,   340,   341,    -1,    -1,
++     344,   345,   346,   347,    -1,    -1,    -1,   351,   352,    -1,
++      -1,    -1,    -1,   357,   358,   359,    -1,   361,   362,   363,
++     364,    -1,   366,   367,    -1,    -1,    -1,    -1,    -1,    -1,
++      -1,    -1,   376,   377,   378,    -1,    -1,   381,    -1,   383,
++     384,   385,   386,   387,   388,   389,   390,   391,   392,   393,
++     394,    -1,    -1,   397,   398,   399,    -1,   401,    -1,   403,
++     404,   405,   406,   407,    -1,   409,   410,   411,    -1,    -1,
++     414,    -1,    -1,    -1,   418,   419,   420,   421,   422,    -1,
++      -1,   425,   426,   427,   428,   429,    -1,   431,   432,    -1,
++     434,   435,   436,    -1,    -1,   439,    -1,   441,    -1,   443,
++     444,    -1,   446,   447,    -1,    -1,    -1,   451,   452,   453,
++     454,   455,   456,   457,   458,   459,   460,    -1,   462,   463,
++      -1,    -1,    -1,   467,   468,   469,   470,    -1,    -1,    -1,
++     474,    -1,    -1,    -1,   478,    -1,   480,   481,   482,   483,
++      -1,   485,   486,   487,   488,   489,   490,    -1,    -1,    -1,
++      -1,    -1,    -1,   497,   498,    -1,   500,    -1,    -1,   503,
++      -1,    -1,   506,   507,   508,    -1,    -1,   511,   512,    -1,
++     514,   515,   516,   517,   518,   519,    -1,    -1,   522,   523,
++     524,   525,    -1,   527,   528,    -1,   530,    -1,   532,   533,
++     534,   535,    -1,   537,   538,   539,    -1,   541,   542,   543,
++     544,    -1,    -1,    -1,    -1,    -1,   550,   551,   552,    -1,
++      -1,    -1,   556,   557,   558,   559,    -1,   561,   562,    -1,
++     564,   565,    -1,   567,   568,    -1,    -1,   571,    -1,    -1,
++     574,    -1,   576,    -1,   578,   579,   580,    -1,    -1,    -1,
++      -1,    -1,    -1,   587,    -1,    -1,   590,    -1,    -1,    -1,
++     594,   595,   596,   597,   598,   599,    -1,    -1,    -1,    -1,
++      -1,    -1,   606,   607,    -1,   609,   610,   611,    -1,    -1,
++     614,     5,    -1,     7,     8,     9,    10,    11,    -1,    -1,
++      14,    -1,    -1,    -1,    18,   629,    -1,    21,    -1,    23,
++      24,    25,    26,    27,    28,    29,    -1,    31,    -1,    -1,
++      -1,    35,    -1,    -1,    -1,    39,    -1,    -1,    42,    43,
++      44,    -1,    46,    -1,    48,    49,    -1,    -1,    52,    -1,
++      -1,    55,    56,    -1,    58,    59,    -1,    61,    62,    -1,
++      64,    65,    66,    67,    68,    69,    70,    -1,    72,    73,
++      74,    75,    76,    77,    78,    79,    -1,    81,    82,    83,
++      84,    85,    86,    87,    88,    -1,    90,    91,    -1,    93,
++      94,    95,    96,    97,    -1,    99,    -1,    -1,   102,    -1,
++      -1,   105,    -1,    -1,    -1,   109,    -1,    -1,    -1,   113,
++     114,   115,    -1,    -1,   118,    -1,    -1,    -1,    -1,   123,
++     124,    -1,    -1,    -1,    -1,   129,    -1,   131,    -1,    -1,
++      -1,   135,    -1,   137,   138,   139,   140,    -1,    -1,    -1,
++     144,    -1,    -1,   147,   148,   149,    -1,    -1,    -1,   153,
++      -1,   155,   156,    -1,   158,   159,   160,    -1,   162,   163,
++      -1,   165,   166,   167,   168,   169,   170,    -1,    -1,   173,
++     174,   175,    -1,    -1,   178,   179,    -1,   181,   182,   183,
++      -1,    -1,   186,    -1,    -1,    -1,   190,    -1,   192,    -1,
++     194,    -1,   196,   197,   198,   199,   200,   201,    -1,   203,
++      -1,    -1,   206,   207,   208,    -1,   210,    -1,    -1,    -1,
++     214,   215,    -1,    -1,    -1,   219,   220,   221,   222,    -1,
++      -1,   225,   226,   227,    -1,   229,    -1,   231,    -1,    -1,
++      -1,    -1,   236,   237,    -1,    -1,    -1,   241,    -1,   243,
++     244,    -1,   246,   247,    -1,    -1,    -1,   251,    -1,    -1,
++     254,   255,   256,    -1,    -1,   259,    -1,    -1,   262,   263,
++      -1,    -1,    -1,    -1,    -1,   269,   270,    -1,   272,    -1,
++     274,    -1,   276,   277,    -1,    -1,    -1,    -1,    -1,    -1,
++     284,   285,   286,   287,   288,   289,   290,   291,   292,   293,
++     294,   295,   296,    -1,   298,   299,   300,    -1,   302,   303,
++     304,   305,    -1,   307,   308,    -1,    -1,    -1,    -1,   313,
++     314,   315,   316,   317,   318,    -1,    -1,   321,   322,    -1,
++     324,    -1,   326,    -1,   328,   329,   330,   331,   332,   333,
++     334,   335,   336,   337,    -1,    -1,   340,   341,    -1,    -1,
++     344,   345,   346,   347,    -1,    -1,    -1,   351,   352,    -1,
++      -1,    -1,    -1,   357,   358,   359,    -1,   361,   362,   363,
++     364,    -1,   366,   367,    -1,    -1,    -1,    -1,    -1,    -1,
++      -1,    -1,   376,   377,   378,    -1,    -1,   381,    -1,   383,
++     384,   385,   386,   387,   388,   389,   390,   391,   392,   393,
++     394,    -1,    -1,   397,   398,   399,    -1,   401,    -1,   403,
++     404,   405,   406,   407,    -1,   409,   410,   411,    -1,    -1,
++     414,    -1,    -1,    -1,   418,   419,   420,   421,   422,    -1,
++      -1,   425,   426,   427,   428,   429,    -1,   431,   432,    -1,
++     434,   435,   436,    -1,    -1,   439,    -1,   441,    -1,   443,
++     444,    -1,   446,   447,    -1,    -1,    -1,   451,   452,   453,
++     454,   455,   456,   457,   458,   459,   460,    -1,   462,   463,
++      -1,    -1,    -1,   467,   468,   469,   470,    -1,    -1,    -1,
++     474,    -1,    -1,    -1,   478,    -1,   480,   481,   482,   483,
++      -1,   485,   486,   487,   488,   489,   490,    -1,    -1,    -1,
++      -1,    -1,    -1,   497,   498,    -1,   500,    -1,    -1,   503,
++      -1,    -1,   506,   507,   508,    -1,    -1,   511,   512,    -1,
++     514,   515,   516,   517,   518,   519,    -1,    -1,   522,   523,
++     524,   525,    -1,   527,   528,    -1,   530,    -1,   532,   533,
++     534,   535,    -1,    -1,   538,   539,    -1,   541,   542,   543,
++     544,    -1,    -1,    -1,    -1,    -1,   550,   551,   552,    -1,
++      -1,    -1,   556,   557,   558,   559,    -1,   561,   562,    -1,
++     564,   565,    -1,   567,   568,    -1,    -1,   571,    -1,    -1,
++     574,    -1,   576,    -1,   578,   579,   580,    -1,    -1,    -1,
++      -1,    -1,    -1,   587,    -1,    -1,   590,    -1,    -1,    -1,
++     594,   595,   596,   597,   598,   599,    -1,    -1,    -1,    -1,
++      -1,    -1,   606,   607,    -1,   609,   610,   611,    -1,     5,
++     614,     7,     8,     9,    10,    11,    -1,    -1,    14,    -1,
++     624,    -1,    18,    -1,    -1,    21,    -1,    23,    24,    25,
++      26,    27,    28,    29,    -1,    31,    -1,    -1,    -1,    35,
++      -1,    -1,    -1,    39,    -1,    -1,    42,    43,    44,    -1,
++      46,    -1,    48,    49,    -1,    -1,    52,    -1,    -1,    55,
++      56,    -1,    58,    59,    -1,    61,    62,    -1,    64,    65,
++      66,    67,    68,    69,    70,    -1,    72,    73,    74,    75,
++      76,    77,    78,    79,    -1,    81,    82,    83,    84,    85,
++      86,    87,    88,    -1,    90,    91,    -1,    93,    94,    95,
++      96,    97,    -1,    99,    -1,    -1,   102,    -1,    -1,   105,
++      -1,    -1,    -1,   109,    -1,    -1,    -1,   113,   114,   115,
++      -1,    -1,   118,    -1,    -1,    -1,    -1,   123,   124,    -1,
++      -1,    -1,    -1,   129,    -1,   131,    -1,    -1,    -1,   135,
++      -1,   137,   138,   139,   140,    -1,    -1,    -1,   144,    -1,
++      -1,   147,   148,   149,    -1,    -1,    -1,   153,    -1,   155,
++     156,    -1,   158,   159,   160,    -1,   162,   163,    -1,   165,
++     166,   167,   168,   169,   170,    -1,    -1,   173,   174,   175,
++      -1,    -1,   178,   179,    -1,   181,   182,   183,    -1,    -1,
++     186,    -1,    -1,    -1,   190,    -1,   192,    -1,   194,    -1,
++     196,   197,   198,   199,   200,   201,    -1,   203,    -1,    -1,
++     206,   207,   208,    -1,   210,    -1,    -1,    -1,   214,   215,
++      -1,    -1,    -1,   219,   220,   221,   222,    -1,    -1,   225,
++     226,   227,    -1,   229,    -1,   231,    -1,    -1,    -1,    -1,
++     236,   237,    -1,    -1,    -1,   241,    -1,   243,   244,    -1,
++     246,   247,    -1,    -1,    -1,   251,    -1,    -1,   254,   255,
++     256,    -1,    -1,   259,    -1,    -1,   262,   263,    -1,    -1,
++      -1,    -1,    -1,   269,   270,    -1,   272,    -1,   274,    -1,
++     276,   277,    -1,    -1,    -1,    -1,    -1,    -1,   284,   285,
++     286,   287,   288,   289,   290,   291,   292,   293,   294,   295,
++     296,    -1,   298,   299,   300,    -1,   302,   303,   304,   305,
++      -1,   307,   308,    -1,    -1,    -1,    -1,   313,   314,   315,
++     316,   317,   318,    -1,    -1,   321,   322,    -1,   324,    -1,
++     326,    -1,   328,   329,   330,   331,   332,   333,   334,   335,
++     336,   337,    -1,    -1,   340,   341,    -1,    -1,   344,   345,
++     346,   347,    -1,    -1,    -1,   351,   352,    -1,    -1,    -1,
++      -1,   357,   358,   359,    -1,   361,   362,   363,   364,    -1,
++     366,   367,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
++     376,   377,   378,    -1,    -1,   381,    -1,   383,   384,   385,
++     386,   387,   388,   389,   390,   391,   392,   393,   394,    -1,
++      -1,   397,   398,   399,    -1,   401,    -1,   403,   404,   405,
++     406,   407,    -1,   409,   410,   411,    -1,    -1,   414,    -1,
++      -1,    -1,   418,   419,   420,   421,   422,    -1,    -1,   425,
++     426,   427,   428,   429,    -1,   431,   432,    -1,   434,   435,
++     436,    -1,    -1,   439,    -1,   441,    -1,   443,   444,    -1,
++     446,   447,    -1,    -1,    -1,   451,   452,   453,   454,   455,
++     456,   457,   458,   459,   460,    -1,   462,   463,    -1,    -1,
++      -1,   467,   468,   469,   470,    -1,    -1,    -1,   474,    -1,
++      -1,    -1,   478,    -1,   480,   481,   482,   483,    -1,   485,
++     486,   487,   488,   489,   490,    -1,    -1,    -1,    -1,    -1,
++      -1,   497,   498,    -1,   500,    -1,    -1,   503,    -1,    -1,
++     506,   507,   508,    -1,    -1,   511,   512,    -1,   514,   515,
++     516,   517,   518,   519,    -1,    -1,   522,   523,   524,   525,
++      -1,   527,   528,    -1,   530,    -1,   532,   533,   534,   535,
++      -1,    -1,   538,   539,    -1,   541,   542,   543,   544,    -1,
++      -1,    -1,    -1,    -1,   550,   551,   552,    -1,    -1,    -1,
++     556,   557,   558,   559,    -1,   561,   562,    -1,   564,   565,
++      -1,   567,   568,    -1,    -1,   571,    -1,    -1,   574,    -1,
++     576,    -1,   578,   579,   580,    -1,    -1,    -1,    -1,    -1,
++      -1,   587,    -1,    -1,   590,    -1,    -1,    -1,   594,   595,
++     596,   597,   598,   599,    -1,    -1,    -1,    -1,    -1,    -1,
++     606,   607,    -1,   609,   610,   611,    -1,     5,   614,     7,
++       8,     9,    10,    11,    -1,    -1,    14,    -1,   624,    -1,
++      18,    -1,    -1,    21,    -1,    23,    24,    25,    26,    27,
++      28,    29,    -1,    31,    -1,    -1,    -1,    35,    -1,    -1,
++      -1,    39,    -1,    -1,    42,    43,    44,    -1,    46,    -1,
++      48,    49,    -1,    -1,    52,    -1,    -1,    55,    56,    -1,
++      58,    59,    -1,    61,    62,    -1,    64,    65,    66,    67,
++      68,    69,    70,    -1,    72,    73,    74,    75,    76,    77,
++      78,    79,    -1,    81,    82,    83,    84,    85,    86,    87,
++      88,    -1,    90,    91,    -1,    93,    94,    95,    96,    97,
++      -1,    99,    -1,    -1,   102,    -1,    -1,   105,    -1,    -1,
++      -1,   109,    -1,    -1,    -1,   113,   114,   115,    -1,    -1,
++     118,    -1,    -1,    -1,    -1,   123,   124,    -1,    -1,    -1,
++      -1,   129,    -1,   131,    -1,    -1,    -1,   135,    -1,   137,
++     138,   139,   140,    -1,    -1,    -1,   144,    -1,    -1,   147,
++     148,   149,    -1,    -1,    -1,   153,    -1,   155,   156,    -1,
++     158,   159,   160,    -1,   162,   163,    -1,   165,   166,   167,
++     168,   169,   170,    -1,    -1,   173,   174,   175,    -1,    -1,
++     178,   179,    -1,   181,   182,   183,    -1,    -1,   186,    -1,
++      -1,    -1,   190,    -1,   192,    -1,   194,    -1,   196,   197,
++     198,   199,   200,   201,    -1,   203,    -1,    -1,   206,   207,
++     208,    -1,   210,    -1,    -1,    -1,   214,   215,    -1,    -1,
++      -1,   219,   220,   221,   222,    -1,    -1,   225,   226,   227,
++      -1,   229,    -1,   231,    -1,    -1,    -1,    -1,   236,   237,
++      -1,    -1,    -1,   241,    -1,   243,   244,    -1,   246,   247,
++      -1,    -1,    -1,   251,    -1,    -1,   254,   255,   256,    -1,
++      -1,   259,    -1,    -1,   262,   263,    -1,    -1,    -1,    -1,
++      -1,   269,   270,    -1,   272,    -1,   274,    -1,   276,   277,
++      -1,    -1,    -1,    -1,    -1,    -1,   284,   285,   286,   287,
++     288,   289,   290,   291,   292,   293,   294,   295,   296,    -1,
++     298,   299,   300,    -1,   302,   303,   304,   305,    -1,   307,
++     308,    -1,    -1,    -1,    -1,   313,   314,   315,   316,   317,
++     318,    -1,    -1,   321,   322,    -1,   324,    -1,   326,    -1,
++     328,   329,   330,   331,   332,   333,   334,   335,   336,   337,
++      -1,    -1,   340,   341,    -1,    -1,   344,   345,   346,   347,
++      -1,    -1,    -1,   351,   352,    -1,    -1,    -1,    -1,   357,
++     358,   359,    -1,   361,   362,   363,   364,    -1,   366,   367,
++      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   376,   377,
++     378,    -1,    -1,   381,    -1,   383,   384,   385,   386,   387,
++     388,   389,   390,   391,   392,   393,   394,    -1,    -1,   397,
++     398,   399,    -1,   401,    -1,   403,   404,   405,   406,   407,
++      -1,   409,   410,   411,    -1,    -1,   414,    -1,    -1,    -1,
++     418,   419,   420,   421,   422,    -1,    -1,   425,   426,   427,
++     428,   429,    -1,   431,   432,    -1,   434,   435,   436,    -1,
++      -1,   439,    -1,   441,    -1,   443,   444,    -1,   446,   447,
++      -1,    -1,    -1,   451,   452,   453,   454,   455,   456,   457,
++     458,   459,   460,    -1,   462,   463,    -1,    -1,    -1,   467,
++     468,   469,   470,    -1,    -1,    -1,   474,    -1,    -1,    -1,
++     478,    -1,   480,   481,   482,   483,    -1,   485,   486,   487,
++     488,   489,   490,    -1,    -1,    -1,    -1,    -1,    -1,   497,
++     498,    -1,   500,    -1,    -1,   503,    -1,    -1,   506,   507,
++     508,    -1,    -1,   511,   512,    -1,   514,   515,   516,   517,
++     518,   519,    -1,    -1,   522,   523,   524,   525,    -1,   527,
++     528,    -1,   530,    -1,   532,   533,   534,   535,    -1,    -1,
++     538,   539,    -1,   541,   542,   543,   544,    -1,    -1,    -1,
++      -1,    -1,   550,   551,   552,    -1,    -1,    -1,   556,   557,
++     558,   559,    -1,   561,   562,    -1,   564,   565,    -1,   567,
++     568,    -1,    -1,   571,    -1,    -1,   574,    -1,   576,    -1,
++     578,   579,   580,    -1,    -1,    -1,    -1,    -1,    -1,   587,
++      -1,    -1,   590,    -1,    -1,    -1,   594,   595,   596,   597,
++     598,   599,    -1,    -1,    -1,    -1,    -1,    -1,   606,   607,
++      -1,   609,   610,   611,    -1,     5,   614,     7,     8,     9,
++      10,    11,    -1,    -1,    14,    -1,   624,    -1,    18,    -1,
++      -1,    21,    -1,    23,    24,    25,    26,    27,    28,    29,
++      -1,    31,    -1,    -1,    -1,    35,    -1,    -1,    -1,    39,
++      -1,    -1,    42,    43,    44,    -1,    46,    -1,    48,    49,
++      -1,    -1,    52,    -1,    -1,    55,    56,    -1,    58,    59,
++      -1,    61,    62,    -1,    64,    65,    66,    67,    68,    69,
++      70,    -1,    72,    73,    74,    75,    76,    77,    78,    79,
++      -1,    81,    82,    83,    84,    85,    86,    87,    88,    -1,
++      90,    91,    -1,    93,    94,    95,    96,    97,    -1,    99,
++      -1,    -1,   102,    -1,    -1,   105,    -1,    -1,    -1,   109,
++      -1,    -1,    -1,   113,   114,   115,    -1,    -1,   118,    -1,
++      -1,    -1,    -1,   123,   124,    -1,    -1,    -1,    -1,   129,
++      -1,   131,    -1,    -1,    -1,   135,    -1,   137,   138,   139,
++     140,    -1,    -1,    -1,   144,    -1,    -1,   147,   148,   149,
++      -1,    -1,    -1,   153,    -1,   155,   156,    -1,   158,   159,
++     160,    -1,   162,   163,    -1,   165,   166,   167,   168,   169,
++     170,    -1,    -1,   173,   174,   175,    -1,    -1,   178,   179,
++      -1,   181,   182,   183,    -1,    -1,   186,    -1,    -1,    -1,
++     190,    -1,   192,    -1,   194,    -1,   196,   197,   198,   199,
++     200,   201,    -1,   203,    -1,    -1,   206,   207,   208,    -1,
++     210,    -1,    -1,    -1,   214,   215,    -1,    -1,    -1,   219,
++     220,   221,   222,    -1,    -1,   225,   226,   227,    -1,   229,
++      -1,   231,    -1,    -1,    -1,    -1,   236,   237,    -1,    -1,
++      -1,   241,    -1,   243,   244,    -1,   246,   247,    -1,    -1,
++      -1,   251,    -1,    -1,   254,   255,   256,    -1,    -1,   259,
++      -1,    -1,   262,   263,    -1,    -1,    -1,    -1,    -1,   269,
++     270,    -1,   272,    -1,   274,    -1,   276,   277,    -1,    -1,
++      -1,    -1,    -1,    -1,   284,   285,   286,   287,   288,   289,
++     290,   291,   292,   293,   294,   295,   296,    -1,   298,   299,
++     300,    -1,   302,   303,   304,   305,    -1,   307,   308,    -1,
++      -1,    -1,    -1,   313,   314,   315,   316,   317,   318,    -1,
++      -1,   321,   322,    -1,   324,    -1,   326,    -1,   328,   329,
++     330,   331,   332,   333,   334,   335,   336,   337,    -1,    -1,
++     340,   341,    -1,    -1,   344,   345,   346,   347,    -1,    -1,
++      -1,   351,   352,    -1,    -1,    -1,    -1,   357,   358,   359,
++      -1,   361,   362,   363,   364,    -1,   366,   367,    -1,    -1,
++      -1,    -1,    -1,    -1,    -1,    -1,   376,   377,   378,    -1,
++      -1,   381,    -1,   383,   384,   385,   386,   387,   388,   389,
++     390,   391,   392,   393,   394,    -1,    -1,   397,   398,   399,
++      -1,   401,    -1,   403,   404,   405,   406,   407,    -1,   409,
++     410,   411,    -1,    -1,   414,    -1,    -1,    -1,   418,   419,
++     420,   421,   422,    -1,    -1,   425,   426,   427,   428,   429,
++      -1,   431,   432,    -1,   434,   435,   436,    -1,    -1,   439,
++      -1,   441,    -1,   443,   444,    -1,   446,   447,    -1,    -1,
++      -1,   451,   452,   453,   454,   455,   456,   457,   458,   459,
++     460,    -1,   462,   463,    -1,    -1,    -1,   467,   468,   469,
++     470,    -1,    -1,    -1,   474,    -1,    -1,    -1,   478,    -1,
++     480,   481,   482,   483,    -1,   485,   486,   487,   488,   489,
++     490,    -1,    -1,    -1,    -1,    -1,    -1,   497,   498,    -1,
++     500,    -1,    -1,   503,    -1,    -1,   506,   507,   508,    -1,
++      -1,   511,   512,    -1,   514,   515,   516,   517,   518,   519,
++      -1,    -1,   522,   523,   524,   525,    -1,   527,   528,    -1,
++     530,    -1,   532,   533,   534,   535,    -1,    -1,   538,   539,
++      -1,   541,   542,   543,   544,    -1,    -1,    -1,    -1,    -1,
++     550,   551,   552,    -1,    -1,    -1,   556,   557,   558,   559,
++      -1,   561,   562,    -1,   564,   565,    -1,   567,   568,    -1,
++      -1,   571,    -1,    -1,   574,    -1,   576,    -1,   578,   579,
++     580,    -1,    -1,    -1,    -1,    -1,    -1,   587,    -1,    -1,
++     590,    -1,    -1,    -1,   594,   595,   596,   597,   598,   599,
++      -1,    -1,    -1,    -1,    -1,    -1,   606,   607,    -1,   609,
++     610,   611,    -1,     5,   614,     7,     8,     9,    10,    11,
++      -1,    -1,    14,    -1,   624,    -1,    18,    -1,    -1,    21,
++      -1,    23,    24,    25,    26,    27,    28,    29,    -1,    31,
++      -1,    -1,    34,    35,    -1,    -1,    -1,    39,    -1,    -1,
++      42,    43,    44,    -1,    46,    -1,    48,    49,    -1,    -1,
++      52,    -1,    -1,    55,    56,    -1,    58,    59,    -1,    61,
++      62,    -1,    64,    65,    66,    67,    68,    69,    70,    -1,
++      72,    73,    74,    75,    76,    77,    78,    79,    -1,    81,
++      82,    83,    84,    85,    86,    87,    88,    -1,    90,    91,
++      -1,    93,    94,    95,    96,    97,    -1,    99,    -1,    -1,
++     102,    -1,    -1,   105,    -1,    -1,    -1,   109,    -1,    -1,
++      -1,   113,   114,   115,    -1,    -1,   118,    -1,    -1,    -1,
++      -1,   123,   124,    -1,    -1,    -1,   128,   129,    -1,   131,
++      -1,    -1,    -1,   135,    -1,   137,   138,   139,   140,    -1,
++      -1,    -1,   144,    -1,    -1,   147,   148,   149,    -1,    -1,
++      -1,   153,    -1,   155,   156,    -1,   158,   159,   160,    -1,
++     162,   163,    -1,   165,   166,   167,   168,   169,   170,    -1,
++      -1,   173,   174,   175,    -1,    -1,   178,   179,    -1,   181,
++     182,   183,    -1,    -1,   186,    -1,    -1,    -1,   190,    -1,
++     192,    -1,   194,    -1,   196,   197,   198,   199,   200,   201,
++      -1,   203,    -1,    -1,   206,   207,   208,    -1,   210,    -1,
++      -1,    -1,   214,   215,    -1,    -1,    -1,   219,   220,   221,
++     222,    -1,    -1,   225,   226,   227,    -1,   229,    -1,   231,
++      -1,    -1,    -1,    -1,   236,   237,    -1,    -1,    -1,   241,
++      -1,   243,   244,    -1,   246,   247,    -1,    -1,    -1,   251,
++      -1,    -1,   254,   255,   256,    -1,    -1,   259,    -1,    -1,
++     262,   263,   264,    -1,    -1,    -1,    -1,   269,   270,    -1,
++     272,    -1,   274,    -1,   276,   277,    -1,    -1,    -1,    -1,
++      -1,    -1,   284,   285,   286,   287,   288,   289,   290,   291,
++     292,   293,   294,   295,   296,    -1,   298,   299,   300,    -1,
++     302,   303,   304,   305,    -1,   307,   308,    -1,    -1,    -1,
++      -1,   313,   314,   315,   316,   317,   318,    -1,    -1,   321,
++     322,    -1,   324,    -1,   326,    -1,   328,   329,   330,   331,
++     332,   333,   334,   335,   336,   337,    -1,    -1,   340,   341,
++      -1,    -1,   344,   345,   346,   347,    -1,    -1,    -1,   351,
++     352,    -1,    -1,    -1,    -1,   357,   358,   359,    -1,   361,
++     362,   363,   364,    -1,   366,   367,    -1,    -1,    -1,    -1,
++      -1,    -1,    -1,    -1,   376,   377,   378,    -1,    -1,   381,
++      -1,   383,   384,   385,   386,   387,   388,   389,   390,   391,
++     392,   393,   394,    -1,    -1,   397,   398,   399,    -1,   401,
++      -1,   403,   404,   405,   406,   407,    -1,   409,   410,   411,
++      -1,    -1,   414,    -1,    -1,    -1,   418,   419,   420,   421,
++     422,    -1,    -1,   425,   426,   427,   428,   429,    -1,   431,
++     432,    -1,   434,   435,   436,    -1,    -1,   439,    -1,   441,
++      -1,   443,   444,    -1,   446,   447,    -1,    -1,    -1,   451,
++     452,   453,   454,   455,   456,   457,   458,   459,   460,    -1,
++     462,   463,    -1,    -1,    -1,   467,   468,   469,   470,    -1,
++      -1,   473,   474,    -1,    -1,    -1,   478,    -1,   480,   481,
++     482,   483,    -1,   485,   486,   487,   488,   489,   490,    -1,
++      -1,    -1,    -1,    -1,    -1,   497,   498,    -1,   500,    -1,
++      -1,   503,    -1,    -1,   506,   507,   508,    -1,    -1,   511,
++     512,    -1,   514,   515,   516,   517,   518,   519,    -1,    -1,
++     522,   523,   524,   525,    -1,   527,   528,    -1,   530,    -1,
++     532,   533,   534,   535,    -1,   537,   538,   539,    -1,   541,
++     542,   543,   544,    -1,    -1,    -1,    -1,    -1,   550,   551,
++     552,    -1,    -1,    -1,   556,   557,   558,   559,    -1,   561,
++     562,    -1,   564,   565,    -1,   567,   568,    -1,    -1,   571,
++      -1,    -1,   574,    -1,   576,    -1,   578,   579,   580,    -1,
++      -1,    -1,    -1,    -1,    -1,   587,    -1,    -1,   590,    -1,
++      -1,    -1,   594,   595,   596,   597,   598,   599,    -1,    -1,
++      -1,    -1,    -1,    -1,   606,   607,    -1,   609,   610,   611,
++      -1,    -1,   614,    -1,     5,   617,     7,     8,     9,    10,
++      11,    -1,    -1,    14,    -1,    -1,    -1,    18,    -1,    -1,
++      21,    -1,    23,    24,    25,    26,    27,    28,    29,    -1,
++      31,    -1,    -1,    -1,    35,    -1,    -1,    -1,    39,    -1,
++      -1,    42,    43,    44,    -1,    46,    -1,    48,    49,    -1,
++      -1,    52,    -1,    -1,    55,    56,    -1,    58,    59,    -1,
++      61,    62,    -1,    64,    65,    66,    67,    68,    69,    70,
++      -1,    72,    73,    74,    75,    76,    77,    78,    79,    -1,
++      81,    82,    83,    84,    85,    86,    87,    88,    -1,    90,
++      91,    -1,    93,    94,    95,    96,    97,    -1,    99,    -1,
++      -1,   102,    -1,    -1,   105,    -1,    -1,    -1,   109,    -1,
++      -1,    -1,   113,   114,   115,    -1,    -1,   118,    -1,    -1,
++      -1,    -1,   123,   124,   125,    -1,    -1,    -1,   129,    -1,
++     131,    -1,    -1,    -1,   135,    -1,   137,   138,   139,   140,
++      -1,    -1,    -1,   144,    -1,    -1,   147,   148,   149,    -1,
++      -1,    -1,   153,    -1,   155,   156,    -1,   158,   159,   160,
++      -1,   162,   163,    -1,   165,   166,   167,   168,   169,   170,
++      -1,    -1,   173,   174,   175,    -1,    -1,   178,   179,    -1,
++     181,   182,   183,   184,    -1,   186,    -1,    -1,    -1,   190,
++      -1,   192,    -1,   194,    -1,   196,   197,   198,   199,   200,
++     201,    -1,   203,    -1,    -1,   206,   207,   208,    -1,   210,
++     211,    -1,    -1,   214,   215,    -1,    -1,    -1,   219,   220,
++     221,   222,    -1,    -1,   225,   226,   227,    -1,   229,    -1,
++     231,    -1,    -1,    -1,    -1,   236,   237,    -1,    -1,    -1,
++     241,    -1,   243,   244,    -1,   246,   247,    -1,    -1,    -1,
++     251,    -1,    -1,   254,   255,   256,    -1,    -1,   259,    -1,
++      -1,   262,   263,    -1,    -1,    -1,    -1,    -1,   269,   270,
++      -1,   272,    -1,   274,    -1,   276,   277,    -1,    -1,   280,
++      -1,    -1,    -1,   284,   285,   286,   287,   288,   289,   290,
++     291,   292,   293,   294,   295,   296,    -1,   298,   299,   300,
++      -1,   302,   303,   304,   305,    -1,   307,   308,    -1,    -1,
++      -1,    -1,   313,   314,   315,   316,   317,   318,    -1,    -1,
++     321,   322,    -1,   324,    -1,   326,    -1,   328,   329,   330,
++     331,   332,   333,   334,   335,   336,   337,    -1,    -1,   340,
++     341,    -1,    -1,   344,   345,   346,   347,   348,   349,    -1,
++     351,   352,    -1,    -1,   355,    -1,   357,   358,   359,    -1,
++     361,   362,   363,   364,    -1,   366,   367,    -1,    -1,    -1,
++      -1,    -1,    -1,    -1,    -1,   376,   377,   378,    -1,    -1,
++     381,    -1,   383,   384,   385,   386,   387,   388,   389,   390,
++     391,   392,   393,   394,    -1,    -1,   397,   398,   399,    -1,
++     401,    -1,   403,   404,   405,   406,   407,    -1,   409,   410,
++     411,    -1,    -1,   414,    -1,    -1,    -1,   418,   419,   420,
++     421,   422,    -1,    -1,   425,   426,   427,   428,   429,    -1,
++     431,   432,    -1,   434,   435,   436,    -1,    -1,   439,    -1,
++     441,    -1,   443,   444,    -1,   446,   447,    -1,    -1,    -1,
++     451,   452,   453,   454,   455,   456,   457,   458,   459,   460,
++      -1,   462,   463,    -1,    -1,    -1,   467,   468,   469,   470,
++      -1,    -1,    -1,   474,    -1,    -1,    -1,   478,    -1,   480,
++     481,   482,   483,    -1,   485,   486,   487,   488,   489,   490,
++      -1,    -1,   493,   494,   495,    -1,   497,   498,    -1,   500,
++      -1,    -1,   503,    -1,    -1,   506,   507,   508,    -1,    -1,
++     511,   512,    -1,   514,   515,   516,   517,   518,   519,    -1,
++      -1,   522,   523,   524,   525,    -1,   527,   528,    -1,   530,
++      -1,   532,   533,   534,   535,    -1,    -1,   538,   539,    -1,
++     541,   542,   543,   544,    -1,    -1,    -1,    -1,    -1,   550,
++     551,   552,    -1,    -1,    -1,   556,   557,   558,   559,   560,
++     561,   562,    -1,   564,   565,    -1,   567,   568,    -1,    -1,
++     571,    -1,    -1,   574,    -1,   576,    -1,   578,   579,   580,
++      -1,    -1,    -1,    -1,    -1,    -1,   587,    -1,    -1,   590,
++      -1,    -1,    -1,   594,   595,   596,   597,   598,   599,    -1,
++      -1,    -1,    -1,    -1,    -1,   606,   607,    -1,   609,   610,
++     611,    -1,     5,   614,     7,     8,     9,    10,    11,    -1,
++      -1,    14,    -1,    -1,    -1,    18,    -1,    -1,    21,    -1,
++      23,    24,    25,    26,    27,    28,    29,    -1,    31,    -1,
++      -1,    -1,    35,    -1,    -1,    -1,    39,    -1,    -1,    42,
++      43,    44,    -1,    46,    -1,    48,    49,    -1,    -1,    52,
++      -1,    -1,    55,    56,    -1,    58,    59,    -1,    61,    62,
++      -1,    64,    65,    66,    67,    68,    69,    70,    -1,    72,
++      73,    74,    75,    76,    77,    78,    79,    -1,    81,    82,
++      83,    84,    85,    86,    87,    88,    -1,    90,    91,    -1,
++      93,    94,    95,    96,    97,    -1,    99,    -1,    -1,   102,
++      -1,    -1,   105,    -1,    -1,    -1,   109,    -1,    -1,    -1,
++     113,   114,   115,    -1,    -1,   118,    -1,    -1,    -1,    -1,
++     123,   124,   125,    -1,    -1,   128,   129,    -1,   131,    -1,
++      -1,    -1,   135,    -1,   137,   138,   139,   140,    -1,    -1,
++      -1,   144,    -1,    -1,   147,   148,   149,    -1,    -1,    -1,
++     153,    -1,   155,   156,    -1,   158,   159,   160,    -1,   162,
++     163,    -1,   165,   166,   167,   168,   169,   170,    -1,    -1,
++     173,   174,   175,    -1,    -1,   178,   179,    -1,   181,   182,
++     183,   184,    -1,   186,    -1,    -1,    -1,   190,    -1,   192,
++      -1,   194,    -1,   196,   197,   198,   199,   200,   201,    -1,
++     203,    -1,    -1,   206,   207,   208,    -1,   210,   211,    -1,
++      -1,   214,   215,    -1,    -1,    -1,   219,   220,   221,   222,
++      -1,    -1,   225,   226,   227,    -1,   229,    -1,   231,    -1,
++      -1,    -1,    -1,   236,   237,    -1,    -1,    -1,   241,    -1,
++     243,   244,    -1,   246,   247,    -1,    -1,    -1,   251,    -1,
++      -1,   254,   255,   256,    -1,    -1,   259,    -1,    -1,   262,
++     263,    -1,    -1,    -1,    -1,    -1,   269,   270,    -1,   272,
++      -1,   274,    -1,   276,   277,    -1,    -1,   280,    -1,    -1,
++      -1,   284,   285,   286,   287,   288,   289,   290,   291,   292,
++     293,   294,   295,   296,    -1,   298,   299,   300,    -1,   302,
++     303,   304,   305,    -1,   307,   308,    -1,    -1,    -1,    -1,
++     313,   314,   315,   316,   317,   318,    -1,    -1,   321,   322,
++      -1,   324,    -1,   326,    -1,   328,   329,   330,   331,   332,
++     333,   334,   335,   336,   337,    -1,    -1,   340,   341,    -1,
++      -1,   344,   345,   346,   347,    -1,    -1,    -1,   351,   352,
++      -1,    -1,   355,    -1,   357,   358,   359,    -1,   361,   362,
++     363,   364,    -1,   366,   367,    -1,    -1,    -1,    -1,    -1,
++      -1,    -1,    -1,   376,   377,   378,    -1,    -1,   381,    -1,
++     383,   384,   385,   386,   387,   388,   389,   390,   391,   392,
++     393,   394,    -1,    -1,   397,   398,   399,    -1,   401,    -1,
++     403,   404,   405,   406,   407,    -1,   409,   410,   411,    -1,
++      -1,   414,    -1,    -1,    -1,   418,   419,   420,   421,   422,
++      -1,    -1,   425,   426,   427,   428,   429,    -1,   431,   432,
++      -1,   434,   435,   436,    -1,    -1,   439,    -1,   441,    -1,
++     443,   444,    -1,   446,   447,    -1,    -1,    -1,   451,   452,
++     453,   454,   455,   456,   457,   458,   459,   460,    -1,   462,
++     463,    -1,    -1,    -1,   467,   468,   469,   470,    -1,    -1,
++      -1,   474,    -1,    -1,    -1,   478,    -1,   480,   481,   482,
++     483,    -1,   485,   486,   487,   488,   489,   490,    -1,    -1,
++      -1,    -1,    -1,    -1,   497,   498,    -1,   500,    -1,    -1,
++     503,    -1,    -1,   506,   507,   508,    -1,    -1,   511,   512,
++      -1,   514,   515,   516,   517,   518,   519,    -1,    -1,   522,
++     523,   524,   525,    -1,   527,   528,    -1,   530,    -1,   532,
++     533,   534,   535,    -1,   537,   538,   539,    -1,   541,   542,
++     543,   544,    -1,    -1,    -1,    -1,    -1,   550,   551,   552,
++      -1,    -1,    -1,   556,   557,   558,   559,   560,   561,   562,
++      -1,   564,   565,    -1,   567,   568,    -1,    -1,   571,    -1,
++      -1,   574,    -1,   576,    -1,   578,   579,   580,    -1,    -1,
++      -1,    -1,    -1,    -1,   587,    -1,    -1,   590,    -1,    -1,
++      -1,   594,   595,   596,   597,   598,   599,    -1,    -1,    -1,
++      -1,    -1,    -1,   606,   607,    -1,   609,   610,   611,    -1,
++       5,   614,     7,     8,     9,    10,    11,    -1,    -1,    14,
++      -1,    -1,    -1,    18,    -1,    -1,    21,    -1,    23,    24,
++      25,    26,    27,    28,    29,    -1,    31,    -1,    -1,    -1,
++      35,    -1,    -1,    -1,    39,    -1,    -1,    42,    43,    44,
++      -1,    46,    -1,    48,    49,    -1,    -1,    52,    -1,    -1,
++      55,    56,    -1,    58,    59,    -1,    61,    62,    -1,    64,
++      65,    66,    67,    68,    69,    70,    -1,    72,    73,    74,
++      75,    76,    77,    78,    79,    -1,    81,    82,    83,    84,
++      85,    86,    87,    88,    -1,    90,    91,    -1,    93,    94,
++      95,    96,    97,    -1,    99,    -1,    -1,   102,    -1,    -1,
++     105,    -1,    -1,    -1,   109,    -1,    -1,    -1,   113,   114,
++     115,    -1,    -1,   118,    -1,    -1,    -1,    -1,   123,   124,
++     125,    -1,    -1,   128,   129,    -1,   131,    -1,    -1,    -1,
++     135,    -1,   137,   138,   139,   140,    -1,    -1,    -1,   144,
++      -1,    -1,   147,   148,   149,    -1,    -1,    -1,   153,    -1,
++     155,   156,    -1,   158,   159,   160,    -1,   162,   163,    -1,
++     165,   166,   167,   168,   169,   170,    -1,    -1,   173,   174,
++     175,    -1,    -1,   178,   179,    -1,   181,   182,   183,   184,
++      -1,   186,    -1,    -1,    -1,   190,    -1,   192,    -1,   194,
++      -1,   196,   197,   198,   199,   200,   201,    -1,   203,    -1,
++      -1,   206,   207,   208,    -1,   210,   211,    -1,    -1,   214,
++     215,    -1,    -1,    -1,   219,   220,   221,   222,    -1,    -1,
++     225,   226,   227,    -1,   229,    -1,   231,    -1,    -1,    -1,
++      -1,   236,   237,    -1,    -1,    -1,   241,    -1,   243,   244,
++      -1,   246,   247,    -1,    -1,    -1,   251,    -1,    -1,   254,
++     255,   256,    -1,    -1,   259,    -1,    -1,   262,   263,    -1,
++      -1,    -1,    -1,    -1,   269,   270,    -1,   272,    -1,   274,
++      -1,   276,   277,    -1,    -1,   280,    -1,    -1,    -1,   284,
++     285,   286,   287,   288,   289,   290,   291,   292,   293,   294,
++     295,   296,    -1,   298,   299,   300,    -1,   302,   303,   304,
++     305,    -1,   307,   308,    -1,    -1,    -1,    -1,   313,   314,
++     315,   316,   317,   318,    -1,    -1,   321,   322,    -1,   324,
++      -1,   326,    -1,   328,   329,   330,   331,   332,   333,   334,
++     335,   336,   337,    -1,    -1,   340,   341,    -1,    -1,   344,
++     345,   346,   347,    -1,    -1,    -1,   351,   352,    -1,    -1,
++     355,    -1,   357,   358,   359,    -1,   361,   362,   363,   364,
++      -1,   366,   367,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
++      -1,   376,   377,   378,    -1,    -1,   381,    -1,   383,   384,
++     385,   386,   387,   388,   389,   390,   391,   392,   393,   394,
++      -1,    -1,   397,   398,   399,    -1,   401,    -1,   403,   404,
++     405,   406,   407,    -1,   409,   410,   411,    -1,    -1,   414,
++      -1,    -1,    -1,   418,   419,   420,   421,   422,    -1,    -1,
++     425,   426,   427,   428,   429,    -1,   431,   432,    -1,   434,
++     435,   436,    -1,    -1,   439,    -1,   441,    -1,   443,   444,
++      -1,   446,   447,    -1,    -1,    -1,   451,   452,   453,   454,
++     455,   456,   457,   458,   459,   460,    -1,   462,   463,    -1,
++      -1,    -1,   467,   468,   469,   470,    -1,    -1,    -1,   474,
++      -1,    -1,    -1,   478,    -1,   480,   481,   482,   483,    -1,
++     485,   486,   487,   488,   489,   490,    -1,    -1,    -1,    -1,
++      -1,    -1,   497,   498,    -1,   500,    -1,    -1,   503,    -1,
++      -1,   506,   507,   508,    -1,    -1,   511,   512,    -1,   514,
++     515,   516,   517,   518,   519,    -1,    -1,   522,   523,   524,
++     525,    -1,   527,   528,    -1,   530,    -1,   532,   533,   534,
++     535,    -1,   537,   538,   539,    -1,   541,   542,   543,   544,
++      -1,    -1,    -1,    -1,    -1,   550,   551,   552,    -1,    -1,
++      -1,   556,   557,   558,   559,   560,   561,   562,    -1,   564,
++     565,    -1,   567,   568,    -1,    -1,   571,    -1,    -1,   574,
++      -1,   576,    -1,   578,   579,   580,    -1,    -1,    -1,    -1,
++      -1,    -1,   587,    -1,    -1,   590,    -1,    -1,    -1,   594,
++     595,   596,   597,   598,   599,    -1,    -1,    -1,    -1,    -1,
++      -1,   606,   607,    -1,   609,   610,   611,    -1,     5,   614,
++       7,     8,     9,    10,    11,    -1,    -1,    14,    -1,    -1,
++      -1,    18,    -1,    -1,    21,    -1,    23,    24,    25,    26,
++      27,    28,    29,    -1,    31,    -1,    -1,    -1,    35,    -1,
++      -1,    -1,    39,    -1,    -1,    42,    43,    44,    -1,    46,
++      -1,    48,    49,    -1,    -1,    52,    -1,    -1,    55,    56,
++      -1,    58,    59,    -1,    61,    62,    -1,    64,    65,    66,
++      67,    68,    69,    70,    -1,    72,    73,    74,    75,    76,
++      77,    78,    79,    -1,    81,    82,    83,    84,    85,    86,
++      87,    88,    -1,    90,    91,    -1,    93,    94,    95,    96,
++      97,    -1,    99,    -1,    -1,   102,    -1,    -1,   105,    -1,
++      -1,    -1,   109,    -1,    -1,    -1,   113,   114,   115,    -1,
++      -1,   118,    -1,    -1,    -1,    -1,   123,   124,   125,    -1,
++      -1,   128,   129,    -1,   131,    -1,    -1,    -1,   135,    -1,
++     137,   138,   139,   140,    -1,    -1,    -1,   144,    -1,    -1,
++     147,   148,   149,    -1,    -1,    -1,   153,    -1,   155,   156,
++      -1,   158,   159,   160,    -1,   162,   163,    -1,   165,   166,
++     167,   168,   169,   170,    -1,    -1,   173,   174,   175,    -1,
++      -1,   178,   179,    -1,   181,   182,   183,   184,    -1,   186,
++      -1,    -1,    -1,   190,    -1,   192,    -1,   194,    -1,   196,
++     197,   198,   199,   200,   201,    -1,   203,    -1,    -1,   206,
++     207,   208,    -1,   210,   211,    -1,    -1,   214,   215,    -1,
++      -1,    -1,   219,   220,   221,   222,    -1,    -1,   225,   226,
++     227,    -1,   229,    -1,   231,    -1,    -1,    -1,    -1,   236,
++     237,    -1,    -1,    -1,   241,    -1,   243,   244,    -1,   246,
++     247,    -1,    -1,    -1,   251,    -1,    -1,   254,   255,   256,
++      -1,    -1,   259,    -1,    -1,   262,   263,    -1,    -1,    -1,
++      -1,    -1,   269,   270,    -1,   272,    -1,   274,    -1,   276,
++     277,    -1,    -1,   280,    -1,    -1,    -1,   284,   285,   286,
++     287,   288,   289,   290,   291,   292,   293,   294,   295,   296,
++      -1,   298,   299,   300,    -1,   302,   303,   304,   305,    -1,
++     307,   308,    -1,    -1,    -1,    -1,   313,   314,   315,   316,
++     317,   318,    -1,    -1,   321,   322,    -1,   324,    -1,   326,
++      -1,   328,   329,   330,   331,   332,   333,   334,   335,   336,
++     337,    -1,    -1,   340,   341,    -1,    -1,   344,   345,   346,
++     347,    -1,    -1,    -1,   351,   352,    -1,    -1,   355,    -1,
++     357,   358,   359,    -1,   361,   362,   363,   364,    -1,   366,
++     367,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   376,
++     377,   378,    -1,    -1,   381,    -1,   383,   384,   385,   386,
++     387,   388,   389,   390,   391,   392,   393,   394,    -1,    -1,
++     397,   398,   399,    -1,   401,    -1,   403,   404,   405,   406,
++     407,    -1,   409,   410,   411,    -1,    -1,   414,    -1,    -1,
++      -1,   418,   419,   420,   421,   422,    -1,    -1,   425,   426,
++     427,   428,   429,    -1,   431,   432,    -1,   434,   435,   436,
++      -1,    -1,   439,    -1,   441,    -1,   443,   444,    -1,   446,
++     447,    -1,    -1,    -1,   451,   452,   453,   454,   455,   456,
++     457,   458,   459,   460,    -1,   462,   463,    -1,    -1,    -1,
++     467,   468,   469,   470,    -1,    -1,    -1,   474,    -1,    -1,
++      -1,   478,    -1,   480,   481,   482,   483,    -1,   485,   486,
++     487,   488,   489,   490,    -1,    -1,    -1,    -1,    -1,    -1,
++     497,   498,    -1,   500,    -1,    -1,   503,    -1,    -1,   506,
++     507,   508,    -1,    -1,   511,   512,    -1,   514,   515,   516,
++     517,   518,   519,    -1,    -1,   522,   523,   524,   525,    -1,
++     527,   528,    -1,   530,    -1,   532,   533,   534,   535,    -1,
++     537,   538,   539,    -1,   541,   542,   543,   544,    -1,    -1,
++      -1,    -1,    -1,   550,   551,   552,    -1,    -1,    -1,   556,
++     557,   558,   559,   560,   561,   562,    -1,   564,   565,    -1,
++     567,   568,    -1,    -1,   571,    -1,    -1,   574,    -1,   576,
++      -1,   578,   579,   580,    -1,    -1,    -1,    -1,    -1,    -1,
++     587,    -1,    -1,   590,    -1,    -1,    -1,   594,   595,   596,
++     597,   598,   599,    -1,    -1,    -1,    -1,    -1,    -1,   606,
++     607,    -1,   609,   610,   611,    -1,     5,   614,     7,     8,
++       9,    10,    11,    -1,    -1,    14,    -1,    -1,    -1,    18,
++      -1,    -1,    21,    -1,    23,    24,    25,    26,    27,    28,
++      29,    -1,    31,    -1,    -1,    -1,    35,    36,    -1,    -1,
++      39,    -1,    -1,    42,    43,    44,    -1,    46,    -1,    48,
++      49,    -1,    -1,    52,    -1,    -1,    55,    56,    -1,    58,
++      59,    -1,    61,    62,    -1,    64,    65,    66,    67,    68,
++      69,    70,    -1,    72,    73,    74,    75,    76,    77,    78,
++      79,    -1,    81,    82,    83,    84,    85,    86,    87,    88,
++      -1,    90,    91,    -1,    93,    94,    95,    96,    97,    -1,
++      99,    -1,    -1,   102,    -1,    -1,   105,    -1,    -1,    -1,
++     109,    -1,    -1,    -1,   113,   114,   115,    -1,    -1,   118,
++      -1,    -1,    -1,    -1,   123,   124,    -1,    -1,    -1,    -1,
++     129,    -1,   131,    -1,    -1,    -1,   135,    -1,   137,   138,
++     139,   140,    -1,    -1,    -1,   144,    -1,    -1,   147,   148,
++     149,    -1,    -1,    -1,   153,    -1,   155,   156,    -1,   158,
++     159,   160,    -1,   162,   163,    -1,   165,   166,   167,   168,
++     169,   170,    -1,    -1,   173,   174,   175,    -1,    -1,   178,
++     179,    -1,   181,   182,   183,    -1,    -1,   186,    -1,    -1,
++      -1,   190,    -1,   192,    -1,   194,    -1,   196,   197,   198,
++     199,   200,   201,    -1,   203,    -1,    -1,   206,   207,   208,
++      -1,   210,   211,   212,    -1,   214,   215,    -1,    -1,    -1,
++     219,   220,   221,   222,    -1,    -1,   225,   226,   227,    -1,
++     229,    -1,   231,    -1,    -1,    -1,    -1,   236,   237,    -1,
++      -1,    -1,   241,    -1,   243,   244,    -1,   246,   247,    -1,
++      -1,    -1,   251,    -1,    -1,   254,   255,   256,    -1,    -1,
++     259,    -1,    -1,   262,   263,    -1,    -1,    -1,    -1,    -1,
++     269,   270,    -1,   272,    -1,   274,    -1,   276,   277,    -1,
++      -1,    -1,    -1,    -1,    -1,   284,   285,   286,   287,   288,
++     289,   290,   291,   292,   293,   294,   295,   296,    -1,   298,
++     299,   300,    -1,   302,   303,   304,   305,    -1,   307,   308,
++      -1,    -1,    -1,    -1,   313,   314,   315,   316,   317,   318,
++      -1,    -1,   321,   322,    -1,   324,    -1,   326,    -1,   328,
++     329,   330,   331,   332,   333,   334,   335,   336,   337,    -1,
++      -1,   340,   341,    -1,    -1,   344,   345,   346,   347,    -1,
++      -1,    -1,   351,   352,    -1,    -1,    -1,    -1,   357,   358,
++     359,    -1,   361,   362,   363,   364,    -1,   366,   367,    -1,
++      -1,    -1,    -1,    -1,    -1,    -1,    -1,   376,   377,   378,
++      -1,    -1,   381,    -1,   383,   384,   385,   386,   387,   388,
++     389,   390,   391,   392,   393,   394,    -1,    -1,   397,   398,
++     399,    -1,   401,    -1,   403,   404,   405,   406,   407,    -1,
++     409,   410,   411,    -1,    -1,   414,    -1,    -1,    -1,   418,
++     419,   420,   421,   422,    -1,    -1,   425,   426,   427,   428,
++     429,    -1,   431,   432,    -1,   434,   435,   436,    -1,    -1,
++     439,    -1,   441,    -1,   443,   444,    -1,   446,   447,    -1,
++      -1,    -1,   451,   452,   453,   454,   455,   456,   457,   458,
++     459,   460,    -1,   462,   463,    -1,    -1,    -1,   467,   468,
++     469,   470,    -1,    -1,    -1,   474,    -1,    -1,    -1,   478,
++      -1,   480,   481,   482,   483,    -1,   485,   486,   487,   488,
++     489,   490,    -1,    -1,    -1,    -1,    -1,    -1,   497,   498,
++      -1,   500,    -1,    -1,   503,    -1,    -1,   506,   507,   508,
++      -1,    -1,   511,   512,    -1,   514,   515,   516,   517,   518,
++     519,    -1,    -1,   522,   523,   524,   525,    -1,   527,   528,
++      -1,   530,    -1,   532,   533,   534,   535,    -1,   537,   538,
++     539,    -1,   541,   542,   543,   544,    -1,    -1,    -1,    -1,
++      -1,   550,   551,   552,    -1,    -1,    -1,   556,   557,   558,
++     559,    -1,   561,   562,    -1,   564,   565,    -1,   567,   568,
++      -1,    -1,   571,    -1,    -1,   574,    -1,   576,    -1,   578,
++     579,   580,    -1,    -1,    -1,    -1,    -1,    -1,   587,    -1,
++      -1,   590,    -1,    -1,    -1,   594,   595,   596,   597,   598,
++     599,    -1,    -1,    -1,    -1,    -1,    -1,   606,   607,    -1,
++     609,   610,   611,    -1,     5,   614,     7,     8,     9,    10,
++      11,    -1,    -1,    14,    -1,    -1,    -1,    18,    -1,    -1,
++      21,    -1,    23,    24,    25,    26,    27,    28,    29,    -1,
++      31,    -1,    -1,    -1,    35,    -1,    -1,    -1,    39,    -1,
++      -1,    42,    43,    44,    -1,    46,    -1,    48,    49,    -1,
++      -1,    52,    -1,    -1,    55,    56,    -1,    58,    59,    -1,
++      61,    62,    -1,    64,    65,    66,    67,    68,    69,    70,
++      -1,    72,    73,    74,    75,    76,    77,    78,    79,    -1,
++      81,    82,    83,    84,    85,    86,    87,    88,    -1,    90,
++      91,    -1,    93,    94,    95,    96,    97,    -1,    99,    -1,
++      -1,   102,    -1,    -1,   105,    -1,    -1,    -1,   109,    -1,
++      -1,    -1,   113,   114,   115,    -1,    -1,   118,    -1,    -1,
++      -1,    -1,   123,   124,    -1,    -1,    -1,    -1,   129,    -1,
++     131,    -1,    -1,    -1,   135,    -1,   137,   138,   139,   140,
++      -1,    -1,    -1,   144,    -1,    -1,   147,   148,   149,    -1,
++      -1,    -1,   153,    -1,   155,   156,    -1,   158,   159,   160,
++      -1,   162,   163,    -1,   165,   166,   167,   168,   169,   170,
++      -1,    -1,   173,   174,   175,    -1,    -1,   178,   179,    -1,
++     181,   182,   183,    -1,    -1,   186,    -1,    -1,    -1,   190,
++      -1,   192,    -1,   194,    -1,   196,   197,   198,   199,   200,
++     201,    -1,   203,    -1,    -1,   206,   207,   208,    -1,   210,
++      -1,    -1,    -1,   214,   215,    -1,    -1,    -1,   219,   220,
++     221,   222,    -1,    -1,   225,   226,   227,    -1,   229,    -1,
++     231,    -1,    -1,    -1,    -1,   236,   237,    -1,    -1,    -1,
++     241,    -1,   243,   244,    -1,   246,   247,    -1,    -1,    -1,
++     251,    -1,    -1,   254,   255,   256,    -1,    -1,   259,    -1,
++      -1,   262,   263,    -1,    -1,    -1,    -1,    -1,   269,   270,
++      -1,   272,    -1,   274,    -1,   276,   277,    -1,    -1,   280,
++      -1,    -1,    -1,   284,   285,   286,   287,   288,   289,   290,
++     291,   292,   293,   294,   295,   296,    -1,   298,   299,   300,
++      -1,   302,   303,   304,   305,    -1,   307,   308,    -1,    -1,
++      -1,    -1,   313,   314,   315,   316,   317,   318,    -1,    -1,
++     321,   322,    -1,   324,    -1,   326,    -1,   328,   329,   330,
++     331,   332,   333,   334,   335,   336,   337,    -1,    -1,   340,
++     341,    -1,    -1,   344,   345,   346,   347,    -1,    -1,    -1,
++     351,   352,    -1,    -1,   355,    -1,   357,   358,   359,    -1,
++     361,   362,   363,   364,    -1,   366,   367,    -1,    -1,    -1,
++      -1,    -1,    -1,    -1,    -1,   376,   377,   378,    -1,   380,
++     381,    -1,   383,   384,   385,   386,   387,   388,   389,   390,
++     391,   392,   393,   394,    -1,    -1,   397,   398,   399,    -1,
++     401,    -1,   403,   404,   405,   406,   407,    -1,   409,   410,
++     411,    -1,    -1,   414,    -1,    -1,    -1,   418,   419,   420,
++     421,   422,    -1,    -1,   425,   426,   427,   428,   429,    -1,
++     431,   432,    -1,   434,   435,   436,    -1,    -1,   439,    -1,
++     441,    -1,   443,   444,    -1,   446,   447,    -1,    -1,    -1,
++     451,   452,   453,   454,   455,   456,   457,   458,   459,   460,
++      -1,   462,   463,    -1,    -1,    -1,   467,   468,   469,   470,
++      -1,    -1,    -1,   474,    -1,    -1,    -1,   478,    -1,   480,
++     481,   482,   483,    -1,   485,   486,   487,   488,   489,   490,
++      -1,    -1,    -1,    -1,    -1,    -1,   497,   498,    -1,   500,
++      -1,    -1,   503,    -1,    -1,   506,   507,   508,    -1,    -1,
++     511,   512,    -1,   514,   515,   516,   517,   518,   519,    -1,
++      -1,   522,   523,   524,   525,    -1,   527,   528,    -1,   530,
++      -1,   532,   533,   534,   535,    -1,    -1,   538,   539,    -1,
++     541,   542,   543,   544,    -1,    -1,    -1,    -1,    -1,   550,
++     551,   552,    -1,    -1,    -1,   556,   557,   558,   559,   560,
++     561,   562,    -1,   564,   565,    -1,   567,   568,    -1,    -1,
++     571,    -1,    -1,   574,    -1,   576,    -1,   578,   579,   580,
++      -1,    -1,    -1,    -1,    -1,    -1,   587,    -1,    -1,   590,
++      -1,    -1,    -1,   594,   595,   596,   597,   598,   599,    -1,
++      -1,    -1,    -1,    -1,    -1,   606,   607,    -1,   609,   610,
++     611,    -1,     5,   614,     7,     8,     9,    10,    11,    -1,
++      -1,    14,    -1,    -1,    -1,    18,    -1,    -1,    21,    -1,
++      23,    24,    25,    26,    27,    28,    29,    -1,    31,    -1,
++      -1,    34,    35,    -1,    -1,    -1,    39,    -1,    -1,    42,
++      43,    44,    -1,    46,    -1,    48,    49,    -1,    -1,    52,
++      -1,    -1,    55,    56,    -1,    58,    59,    -1,    61,    62,
++      -1,    64,    65,    66,    67,    68,    69,    70,    -1,    72,
++      73,    74,    75,    76,    77,    78,    79,    -1,    81,    82,
++      83,    84,    85,    86,    87,    88,    -1,    90,    91,    -1,
++      93,    94,    95,    96,    97,    -1,    99,    -1,    -1,   102,
++      -1,    -1,   105,    -1,    -1,    -1,   109,    -1,    -1,    -1,
++     113,   114,   115,    -1,    -1,   118,    -1,    -1,    -1,    -1,
++     123,   124,    -1,    -1,    -1,   128,   129,    -1,   131,    -1,
++      -1,    -1,   135,    -1,   137,   138,   139,   140,    -1,    -1,
++      -1,   144,    -1,    -1,   147,   148,   149,    -1,    -1,    -1,
++     153,    -1,   155,   156,    -1,   158,   159,   160,    -1,   162,
++     163,    -1,   165,   166,   167,   168,   169,   170,    -1,    -1,
++     173,   174,   175,    -1,    -1,   178,   179,    -1,   181,   182,
++     183,    -1,    -1,   186,    -1,    -1,    -1,   190,    -1,   192,
++      -1,   194,    -1,   196,   197,   198,   199,   200,   201,    -1,
++     203,    -1,    -1,   206,   207,   208,    -1,   210,    -1,    -1,
++      -1,   214,   215,    -1,    -1,    -1,   219,   220,   221,   222,
++      -1,    -1,   225,   226,   227,    -1,   229,    -1,   231,    -1,
++      -1,    -1,    -1,   236,   237,    -1,    -1,    -1,   241,    -1,
++     243,   244,    -1,   246,   247,    -1,    -1,    -1,   251,    -1,
++      -1,   254,   255,   256,    -1,    -1,   259,    -1,    -1,   262,
++     263,   264,    -1,    -1,    -1,    -1,   269,   270,    -1,   272,
++      -1,   274,    -1,   276,   277,    -1,    -1,    -1,    -1,    -1,
++      -1,   284,   285,   286,   287,   288,   289,   290,   291,   292,
++     293,   294,   295,   296,    -1,   298,   299,   300,    -1,   302,
++     303,   304,   305,    -1,   307,   308,    -1,    -1,    -1,    -1,
++     313,   314,   315,   316,   317,   318,    -1,    -1,   321,   322,
++      -1,   324,    -1,   326,    -1,   328,   329,   330,   331,   332,
++     333,   334,   335,   336,   337,    -1,    -1,   340,   341,    -1,
++      -1,   344,   345,   346,   347,    -1,    -1,    -1,   351,   352,
++      -1,    -1,    -1,    -1,   357,   358,   359,    -1,   361,   362,
++     363,   364,    -1,   366,   367,    -1,    -1,    -1,    -1,    -1,
++      -1,    -1,    -1,   376,   377,   378,    -1,    -1,   381,    -1,
++     383,   384,   385,   386,   387,   388,   389,   390,   391,   392,
++     393,   394,    -1,    -1,   397,   398,   399,    -1,   401,    -1,
++     403,   404,   405,   406,   407,    -1,   409,   410,   411,    -1,
++      -1,   414,    -1,    -1,    -1,   418,   419,   420,   421,   422,
++      -1,    -1,   425,   426,   427,   428,   429,    -1,   431,   432,
++      -1,   434,   435,   436,    -1,    -1,   439,    -1,   441,    -1,
++     443,   444,    -1,   446,   447,    -1,    -1,    -1,   451,   452,
++     453,   454,   455,   456,   457,   458,   459,   460,    -1,   462,
++     463,    -1,    -1,    -1,   467,   468,   469,   470,    -1,    -1,
++      -1,   474,    -1,    -1,    -1,   478,    -1,   480,   481,   482,
++     483,    -1,   485,   486,   487,   488,   489,   490,    -1,    -1,
++      -1,    -1,    -1,    -1,   497,   498,    -1,   500,    -1,    -1,
++     503,    -1,    -1,   506,   507,   508,    -1,    -1,   511,   512,
++      -1,   514,   515,   516,   517,   518,   519,    -1,    -1,   522,
++     523,   524,   525,    -1,   527,   528,    -1,   530,    -1,   532,
++     533,   534,   535,    -1,   537,   538,   539,    -1,   541,   542,
++     543,   544,    -1,    -1,    -1,    -1,    -1,   550,   551,   552,
++      -1,    -1,    -1,   556,   557,   558,   559,    -1,   561,   562,
++      -1,   564,   565,    -1,   567,   568,    -1,    -1,   571,    -1,
++      -1,   574,    -1,   576,    -1,   578,   579,   580,    -1,    -1,
++      -1,    -1,    -1,    -1,   587,    -1,    -1,   590,    -1,    -1,
++      -1,   594,   595,   596,   597,   598,   599,    -1,    -1,    -1,
++      -1,    -1,    -1,   606,   607,    -1,   609,   610,   611,    -1,
++       5,   614,     7,     8,     9,    10,    11,    -1,    -1,    14,
++      -1,    -1,    -1,    18,    -1,    -1,    21,    -1,    23,    24,
++      25,    26,    27,    28,    29,    -1,    31,    -1,    -1,    -1,
++      35,    -1,    -1,    -1,    39,    -1,    -1,    42,    43,    44,
++      -1,    46,    -1,    48,    49,    -1,    -1,    52,    -1,    -1,
++      55,    56,    -1,    58,    59,    -1,    61,    62,    -1,    64,
++      65,    66,    67,    68,    69,    70,    -1,    72,    73,    74,
++      75,    76,    77,    78,    79,    -1,    81,    82,    83,    84,
++      85,    86,    87,    88,    -1,    90,    91,    -1,    93,    94,
++      95,    96,    97,    -1,    99,    -1,    -1,   102,    -1,    -1,
++     105,    -1,    -1,    -1,   109,    -1,    -1,    -1,   113,   114,
++     115,    -1,    -1,   118,    -1,    -1,    -1,    -1,   123,   124,
++      -1,    -1,    -1,    -1,   129,    -1,   131,    -1,    -1,    -1,
++     135,    -1,   137,   138,   139,   140,    -1,    -1,    -1,   144,
++      -1,    -1,   147,   148,   149,    -1,    -1,    -1,   153,    -1,
++     155,   156,    -1,   158,   159,   160,    -1,   162,   163,    -1,
++     165,   166,   167,   168,   169,   170,    -1,    -1,   173,   174,
++     175,    -1,    -1,   178,   179,    -1,   181,   182,   183,    -1,
++      -1,   186,    -1,    -1,    -1,   190,    -1,   192,    -1,   194,
++      -1,   196,   197,   198,   199,   200,   201,    -1,   203,    -1,
++      -1,   206,   207,   208,    -1,   210,    -1,    -1,    -1,   214,
++     215,    -1,    -1,    -1,   219,   220,   221,   222,    -1,    -1,
++     225,   226,   227,    -1,   229,    -1,   231,    -1,    -1,    -1,
++      -1,   236,   237,    -1,    -1,    -1,   241,    -1,   243,   244,
++      -1,   246,   247,    -1,    -1,    -1,   251,    -1,    -1,   254,
++     255,   256,    -1,    -1,   259,    -1,    -1,   262,   263,    -1,
++      -1,    -1,    -1,    -1,   269,   270,    -1,   272,    -1,   274,
++      -1,   276,   277,    -1,    -1,   280,    -1,    -1,    -1,   284,
++     285,   286,   287,   288,   289,   290,   291,   292,   293,   294,
++     295,   296,    -1,   298,   299,   300,    -1,   302,   303,   304,
++     305,    -1,   307,   308,    -1,    -1,    -1,    -1,   313,   314,
++     315,   316,   317,   318,    -1,    -1,   321,   322,    -1,   324,
++      -1,   326,    -1,   328,   329,   330,   331,   332,   333,   334,
++     335,   336,   337,    -1,    -1,   340,   341,    -1,    -1,   344,
++     345,   346,   347,    -1,    -1,    -1,   351,   352,    -1,    -1,
++     355,    -1,   357,   358,   359,    -1,   361,   362,   363,   364,
++      -1,   366,   367,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
++      -1,   376,   377,   378,    -1,   380,   381,    -1,   383,   384,
++     385,   386,   387,   388,   389,   390,   391,   392,   393,   394,
++      -1,    -1,   397,   398,   399,    -1,   401,    -1,   403,   404,
++     405,   406,   407,    -1,   409,   410,   411,    -1,    -1,   414,
++      -1,    -1,    -1,   418,   419,   420,   421,   422,    -1,    -1,
++     425,   426,   427,   428,   429,    -1,   431,   432,    -1,   434,
++     435,   436,    -1,    -1,   439,    -1,   441,    -1,   443,   444,
++      -1,   446,   447,    -1,    -1,    -1,   451,   452,   453,   454,
++     455,   456,   457,   458,   459,   460,    -1,   462,   463,    -1,
++      -1,    -1,   467,   468,   469,   470,    -1,    -1,    -1,   474,
++      -1,    -1,    -1,   478,    -1,   480,   481,   482,   483,    -1,
++     485,   486,   487,   488,   489,   490,    -1,    -1,    -1,    -1,
++      -1,    -1,   497,   498,    -1,   500,    -1,    -1,   503,    -1,
++      -1,   506,   507,   508,    -1,    -1,   511,   512,    -1,   514,
++     515,   516,   517,   518,   519,    -1,    -1,   522,   523,   524,
++     525,    -1,   527,   528,    -1,   530,    -1,   532,   533,   534,
++     535,    -1,    -1,   538,   539,    -1,   541,   542,   543,   544,
++      -1,    -1,    -1,    -1,    -1,   550,   551,   552,    -1,    -1,
++      -1,   556,   557,   558,   559,   560,   561,   562,    -1,   564,
++     565,    -1,   567,   568,    -1,    -1,   571,    -1,    -1,   574,
++      -1,   576,    -1,   578,   579,   580,    -1,    -1,    -1,    -1,
++      -1,    -1,   587,    -1,    -1,   590,    -1,    -1,    -1,   594,
++     595,   596,   597,   598,   599,    -1,    -1,    -1,    -1,    -1,
++      -1,   606,   607,    -1,   609,   610,   611,    -1,     5,   614,
++       7,     8,     9,    10,    11,    -1,    -1,    14,    -1,    -1,
++      -1,    18,    -1,    -1,    21,    -1,    23,    24,    25,    26,
++      27,    28,    29,    -1,    31,    -1,    -1,    34,    35,    -1,
++      -1,    -1,    39,    -1,    -1,    42,    43,    44,    -1,    46,
++      -1,    48,    49,    -1,    -1,    52,    -1,    -1,    55,    56,
++      -1,    58,    59,    -1,    61,    62,    -1,    64,    65,    66,
++      67,    68,    69,    70,    -1,    72,    73,    74,    75,    76,
++      77,    78,    79,    -1,    81,    82,    83,    84,    85,    86,
++      87,    88,    -1,    90,    91,    -1,    93,    94,    95,    96,
++      97,    -1,    99,    -1,    -1,   102,    -1,    -1,   105,    -1,
++      -1,    -1,   109,    -1,    -1,    -1,   113,   114,   115,    -1,
++      -1,   118,    -1,    -1,    -1,    -1,   123,   124,    -1,    -1,
++      -1,   128,   129,    -1,   131,    -1,    -1,    -1,   135,    -1,
++     137,   138,   139,   140,    -1,    -1,    -1,   144,    -1,    -1,
++     147,   148,   149,    -1,    -1,    -1,   153,    -1,   155,   156,
++      -1,   158,   159,   160,    -1,   162,   163,    -1,   165,   166,
++     167,   168,   169,   170,    -1,    -1,   173,   174,   175,    -1,
++      -1,   178,   179,    -1,   181,   182,   183,    -1,    -1,   186,
++      -1,    -1,    -1,   190,    -1,   192,    -1,   194,    -1,   196,
++     197,   198,   199,   200,   201,    -1,   203,    -1,    -1,   206,
++     207,   208,    -1,   210,    -1,    -1,    -1,   214,   215,    -1,
++      -1,    -1,   219,   220,   221,   222,    -1,    -1,   225,   226,
++     227,    -1,   229,    -1,   231,    -1,    -1,    -1,    -1,   236,
++     237,    -1,    -1,    -1,   241,    -1,   243,   244,    -1,   246,
++     247,    -1,    -1,    -1,   251,    -1,    -1,   254,   255,   256,
++      -1,    -1,   259,    -1,    -1,   262,   263,   264,    -1,    -1,
++      -1,    -1,   269,   270,    -1,   272,    -1,   274,    -1,   276,
++     277,    -1,    -1,    -1,    -1,    -1,    -1,   284,   285,   286,
++     287,   288,   289,   290,   291,   292,   293,   294,   295,   296,
++      -1,   298,   299,   300,    -1,   302,   303,   304,   305,    -1,
++     307,   308,    -1,    -1,    -1,    -1,   313,   314,   315,   316,
++     317,   318,    -1,    -1,   321,   322,    -1,   324,    -1,   326,
++      -1,   328,   329,   330,   331,   332,   333,   334,   335,   336,
++     337,    -1,    -1,   340,   341,    -1,    -1,   344,   345,   346,
++     347,    -1,    -1,    -1,   351,   352,    -1,    -1,    -1,    -1,
++     357,   358,   359,    -1,   361,   362,   363,   364,    -1,   366,
++     367,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   376,
++     377,   378,    -1,    -1,   381,    -1,   383,   384,   385,   386,
++     387,   388,   389,   390,   391,   392,   393,   394,    -1,    -1,
++     397,   398,   399,    -1,   401,    -1,   403,   404,   405,   406,
++     407,    -1,   409,   410,   411,    -1,    -1,   414,    -1,    -1,
++      -1,   418,   419,   420,   421,   422,    -1,    -1,   425,   426,
++     427,   428,   429,    -1,   431,   432,    -1,   434,   435,   436,
++      -1,    -1,   439,    -1,   441,    -1,   443,   444,    -1,   446,
++     447,    -1,    -1,    -1,   451,   452,   453,   454,   455,   456,
++     457,   458,   459,   460,    -1,   462,   463,    -1,    -1,    -1,
++     467,   468,   469,   470,    -1,    -1,    -1,   474,    -1,    -1,
++      -1,   478,    -1,   480,   481,   482,   483,    -1,   485,   486,
++     487,   488,   489,   490,    -1,    -1,    -1,    -1,    -1,    -1,
++     497,   498,    -1,   500,    -1,    -1,   503,    -1,    -1,   506,
++     507,   508,    -1,    -1,   511,   512,    -1,   514,   515,   516,
++     517,   518,   519,    -1,    -1,   522,   523,   524,   525,    -1,
++     527,   528,    -1,   530,    -1,   532,   533,   534,   535,    -1,
++     537,   538,   539,    -1,   541,   542,   543,   544,    -1,    -1,
++      -1,    -1,    -1,   550,   551,   552,    -1,    -1,    -1,   556,
++     557,   558,   559,    -1,   561,   562,    -1,   564,   565,    -1,
++     567,   568,    -1,    -1,   571,    -1,    -1,   574,    -1,   576,
++      -1,   578,   579,   580,    -1,    -1,    -1,    -1,    -1,    -1,
++     587,    -1,    -1,   590,    -1,    -1,    -1,   594,   595,   596,
++     597,   598,   599,    -1,    -1,    -1,    -1,    -1,    -1,   606,
++     607,    -1,   609,   610,   611,    -1,     5,   614,     7,     8,
++       9,    10,    11,    -1,    -1,    14,    -1,    -1,    -1,    18,
++      -1,    -1,    21,    -1,    23,    24,    25,    26,    27,    28,
++      29,    -1,    31,    -1,    -1,    -1,    35,    -1,    -1,    -1,
++      39,    -1,    -1,    42,    43,    44,    -1,    46,    -1,    48,
++      49,    -1,    -1,    52,    -1,    -1,    55,    56,    -1,    58,
++      59,    -1,    61,    62,    -1,    64,    65,    66,    67,    68,
++      69,    70,    -1,    72,    73,    74,    75,    76,    77,    78,
++      79,    -1,    81,    82,    83,    84,    85,    86,    87,    88,
++      -1,    90,    91,    -1,    93,    94,    95,    96,    97,    -1,
++      99,    -1,    -1,   102,    -1,    -1,   105,    -1,    -1,    -1,
++     109,    -1,    -1,    -1,   113,   114,   115,    -1,    -1,   118,
++      -1,    -1,    -1,    -1,   123,   124,    -1,    -1,    -1,    -1,
++     129,    -1,   131,    -1,    -1,    -1,   135,    -1,   137,   138,
++     139,   140,    -1,    -1,    -1,   144,    -1,    -1,   147,   148,
++     149,    -1,    -1,    -1,   153,    -1,   155,   156,    -1,   158,
++     159,   160,    -1,   162,   163,    -1,   165,   166,   167,   168,
++     169,   170,    -1,    -1,   173,   174,   175,    -1,    -1,   178,
++     179,    -1,   181,   182,   183,    -1,    -1,   186,    -1,    -1,
++      -1,   190,    -1,   192,    -1,   194,    -1,   196,   197,   198,
++     199,   200,   201,    -1,   203,    -1,    -1,   206,   207,   208,
++      -1,   210,    -1,    -1,    -1,   214,   215,    -1,    -1,    -1,
++     219,   220,   221,   222,    -1,    -1,   225,   226,   227,    -1,
++     229,    -1,   231,    -1,    -1,    -1,    -1,   236,   237,    -1,
++      -1,    -1,   241,    -1,   243,   244,    -1,   246,   247,    -1,
++      -1,    -1,   251,    -1,    -1,   254,   255,   256,    -1,    -1,
++     259,    -1,    -1,   262,   263,    -1,    -1,    -1,    -1,    -1,
++     269,   270,    -1,   272,    -1,   274,    -1,   276,   277,    -1,
++      -1,   280,    -1,    -1,    -1,   284,   285,   286,   287,   288,
++     289,   290,   291,   292,   293,   294,   295,   296,    -1,   298,
++     299,   300,    -1,   302,   303,   304,   305,    -1,   307,   308,
++      -1,    -1,    -1,    -1,   313,   314,   315,   316,   317,   318,
++      -1,    -1,   321,   322,    -1,   324,    -1,   326,    -1,   328,
++     329,   330,   331,   332,   333,   334,   335,   336,   337,    -1,
++      -1,   340,   341,    -1,    -1,   344,   345,   346,   347,    -1,
++      -1,    -1,   351,   352,    -1,    -1,   355,    -1,   357,   358,
++     359,    -1,   361,   362,   363,   364,    -1,   366,   367,    -1,
++      -1,    -1,    -1,    -1,    -1,    -1,    -1,   376,   377,   378,
++      -1,   380,   381,    -1,   383,   384,   385,   386,   387,   388,
++     389,   390,   391,   392,   393,   394,    -1,    -1,   397,   398,
++     399,    -1,   401,    -1,   403,   404,   405,   406,   407,    -1,
++     409,   410,   411,    -1,    -1,   414,    -1,    -1,    -1,   418,
++     419,   420,   421,   422,    -1,    -1,   425,   426,   427,   428,
++     429,    -1,   431,   432,    -1,   434,   435,   436,    -1,    -1,
++     439,    -1,   441,    -1,   443,   444,    -1,   446,   447,    -1,
++      -1,    -1,   451,   452,   453,   454,   455,   456,   457,   458,
++     459,   460,    -1,   462,   463,    -1,    -1,    -1,   467,   468,
++     469,   470,    -1,    -1,    -1,   474,    -1,    -1,    -1,   478,
++      -1,   480,   481,   482,   483,    -1,   485,   486,   487,   488,
++     489,   490,    -1,    -1,    -1,    -1,    -1,    -1,   497,   498,
++      -1,   500,    -1,    -1,   503,    -1,    -1,   506,   507,   508,
++      -1,    -1,   511,   512,    -1,   514,   515,   516,   517,   518,
++     519,    -1,    -1,   522,   523,   524,   525,    -1,   527,   528,
++      -1,   530,    -1,   532,   533,   534,   535,    -1,    -1,   538,
++     539,    -1,   541,   542,   543,   544,    -1,    -1,    -1,    -1,
++      -1,   550,   551,   552,    -1,    -1,    -1,   556,   557,   558,
++     559,   560,   561,   562,    -1,   564,   565,    -1,   567,   568,
++      -1,    -1,   571,    -1,    -1,   574,    -1,   576,    -1,   578,
++     579,   580,    -1,    -1,    -1,    -1,    -1,    -1,   587,    -1,
++      -1,   590,    -1,    -1,    -1,   594,   595,   596,   597,   598,
++     599,    -1,    -1,    -1,    -1,    -1,    -1,   606,   607,    -1,
++     609,   610,   611,    -1,     5,   614,     7,     8,     9,    10,
++      11,    -1,    -1,    14,    -1,    -1,    -1,    18,    -1,    -1,
++      21,    -1,    23,    24,    25,    26,    27,    28,    29,    -1,
++      31,    -1,    -1,    -1,    35,    -1,    -1,    -1,    39,    -1,
++      -1,    42,    43,    44,    -1,    46,    -1,    48,    49,    -1,
++      -1,    52,    -1,    -1,    55,    56,    -1,    58,    59,    -1,
++      61,    62,    -1,    64,    65,    66,    67,    68,    69,    70,
++      -1,    72,    73,    74,    75,    76,    77,    78,    79,    -1,
++      81,    82,    83,    84,    85,    86,    87,    88,    -1,    90,
++      91,    -1,    93,    94,    95,    96,    97,    -1,    99,    -1,
++      -1,   102,    -1,    -1,   105,    -1,   107,    -1,   109,    -1,
++      -1,    -1,   113,   114,   115,    -1,    -1,   118,    -1,    -1,
++      -1,    -1,   123,   124,    -1,    -1,    -1,    -1,   129,    -1,
++     131,    -1,    -1,    -1,   135,    -1,   137,   138,   139,   140,
++      -1,    -1,    -1,   144,    -1,    -1,   147,   148,   149,    -1,
++      -1,    -1,   153,    -1,   155,   156,    -1,   158,   159,   160,
++      -1,   162,   163,    -1,   165,   166,   167,   168,   169,   170,
++      -1,    -1,   173,   174,   175,    -1,    -1,   178,   179,    -1,
++     181,   182,   183,    -1,    -1,   186,    -1,    -1,    -1,   190,
++      -1,   192,    -1,   194,    -1,   196,   197,   198,   199,   200,
++     201,    -1,   203,    -1,    -1,   206,   207,   208,    -1,   210,
++      -1,    -1,    -1,   214,   215,    -1,    -1,    -1,   219,   220,
++     221,   222,    -1,    -1,   225,   226,   227,    -1,   229,    -1,
++     231,    -1,    -1,    -1,    -1,   236,   237,    -1,    -1,    -1,
++     241,    -1,   243,   244,    -1,   246,   247,    -1,    -1,    -1,
++     251,    -1,    -1,   254,   255,   256,    -1,    -1,   259,    -1,
++      -1,   262,   263,   264,    -1,    -1,    -1,    -1,   269,   270,
++      -1,   272,    -1,   274,    -1,   276,   277,    -1,    -1,    -1,
++      -1,    -1,    -1,   284,   285,   286,   287,   288,   289,   290,
++     291,   292,   293,   294,   295,   296,    -1,   298,   299,   300,
++      -1,   302,   303,   304,   305,    -1,   307,   308,    -1,    -1,
++      -1,    -1,   313,   314,   315,   316,   317,   318,    -1,    -1,
++     321,   322,    -1,   324,    -1,   326,    -1,   328,   329,   330,
++     331,   332,   333,   334,   335,   336,   337,    -1,    -1,   340,
++     341,    -1,    -1,   344,   345,   346,   347,    -1,    -1,    -1,
++     351,   352,    -1,    -1,    -1,    -1,   357,   358,   359,    -1,
++     361,   362,   363,   364,    -1,   366,   367,    -1,    -1,    -1,
++      -1,    -1,    -1,    -1,    -1,   376,   377,   378,    -1,    -1,
++     381,    -1,   383,   384,   385,   386,   387,   388,   389,   390,
++     391,   392,   393,   394,    -1,    -1,   397,   398,   399,    -1,
++     401,    -1,   403,   404,   405,   406,   407,    -1,   409,   410,
++     411,    -1,    -1,   414,    -1,    -1,    -1,   418,   419,   420,
++     421,   422,    -1,    -1,   425,   426,   427,   428,   429,    -1,
++     431,   432,    -1,   434,   435,   436,    -1,    -1,   439,    -1,
++     441,    -1,   443,   444,    -1,   446,   447,    -1,    -1,    -1,
++     451,   452,   453,   454,   455,   456,   457,   458,   459,   460,
++      -1,   462,   463,    -1,    -1,    -1,   467,   468,   469,   470,
++      -1,    -1,    -1,   474,    -1,    -1,    -1,   478,    -1,   480,
++     481,   482,   483,    -1,   485,   486,   487,   488,   489,   490,
++      -1,    -1,    -1,    -1,    -1,    -1,   497,   498,    -1,   500,
++      -1,    -1,   503,    -1,    -1,   506,   507,   508,    -1,    -1,
++     511,   512,    -1,   514,   515,   516,   517,   518,   519,    -1,
++      -1,   522,   523,   524,   525,    -1,   527,   528,    -1,   530,
++      -1,   532,   533,   534,   535,    -1,   537,   538,   539,    -1,
++     541,   542,   543,   544,    -1,    -1,    -1,    -1,    -1,   550,
++     551,   552,    -1,    -1,    -1,   556,   557,   558,   559,    -1,
++     561,   562,    -1,   564,   565,    -1,   567,   568,    -1,    -1,
++     571,    -1,    -1,   574,    -1,   576,    -1,   578,   579,   580,
++      -1,    -1,    -1,    -1,    -1,    -1,   587,    -1,    -1,   590,
++      -1,    -1,    -1,   594,   595,   596,   597,   598,   599,    -1,
++      -1,    -1,    -1,    -1,    -1,   606,   607,    -1,   609,   610,
++     611,    -1,     5,   614,     7,     8,     9,    10,    11,    12,
++      -1,    14,    -1,    -1,    -1,    18,    -1,    -1,    21,    -1,
++      23,    24,    25,    26,    27,    28,    29,    -1,    31,    -1,
++      -1,    -1,    35,    -1,    -1,    -1,    39,    -1,    -1,    42,
++      43,    44,    -1,    46,    -1,    48,    49,    -1,    -1,    52,
++      -1,    -1,    55,    56,    -1,    58,    59,    -1,    61,    62,
++      -1,    64,    65,    66,    67,    68,    69,    70,    -1,    72,
++      73,    74,    75,    76,    77,    78,    79,    -1,    81,    82,
++      83,    84,    85,    86,    87,    88,    -1,    90,    91,    -1,
++      93,    94,    95,    96,    97,    -1,    99,    -1,    -1,   102,
++      -1,    -1,   105,    -1,    -1,    -1,   109,    -1,    -1,    -1,
++     113,   114,   115,    -1,    -1,   118,    -1,    -1,    -1,    -1,
++     123,   124,    -1,    -1,    -1,    -1,   129,    -1,   131,    -1,
++      -1,    -1,   135,    -1,   137,   138,   139,   140,    -1,    -1,
++      -1,   144,    -1,    -1,   147,   148,   149,    -1,    -1,    -1,
++     153,    -1,   155,   156,    -1,   158,   159,   160,    -1,   162,
++     163,    -1,   165,   166,   167,   168,   169,   170,    -1,    -1,
++     173,   174,   175,    -1,    -1,   178,   179,    -1,   181,   182,
++     183,    -1,    -1,   186,    -1,    -1,    -1,   190,    -1,   192,
++      -1,   194,    -1,   196,   197,   198,   199,   200,   201,    -1,
++     203,    -1,    -1,   206,   207,   208,    -1,   210,    -1,    -1,
++      -1,   214,   215,    -1,    -1,    -1,   219,   220,   221,   222,
++      -1,    -1,   225,   226,   227,    -1,   229,    -1,   231,    -1,
++      -1,    -1,    -1,   236,   237,    -1,    -1,    -1,   241,    -1,
++     243,   244,    -1,   246,   247,    -1,    -1,    -1,   251,    -1,
++      -1,   254,   255,   256,    -1,    -1,   259,    -1,    -1,   262,
++     263,   264,    -1,    -1,    -1,    -1,   269,   270,    -1,   272,
++      -1,   274,    -1,   276,   277,    -1,    -1,    -1,    -1,    -1,
++      -1,   284,   285,   286,   287,   288,   289,   290,   291,   292,
++     293,   294,   295,   296,    -1,   298,   299,   300,    -1,   302,
++     303,   304,   305,    -1,   307,   308,    -1,    -1,    -1,    -1,
++     313,   314,   315,   316,   317,   318,    -1,    -1,   321,   322,
++      -1,   324,    -1,   326,    -1,   328,   329,   330,   331,   332,
++     333,   334,   335,   336,   337,    -1,    -1,   340,   341,    -1,
++      -1,   344,   345,   346,   347,    -1,    -1,    -1,   351,   352,
++      -1,    -1,    -1,    -1,   357,   358,   359,    -1,   361,   362,
++     363,   364,    -1,   366,   367,    -1,    -1,    -1,    -1,    -1,
++      -1,    -1,    -1,   376,   377,   378,    -1,    -1,   381,    -1,
++     383,   384,   385,   386,   387,   388,   389,   390,   391,   392,
++     393,   394,    -1,    -1,   397,   398,   399,    -1,   401,    -1,
++     403,   404,   405,   406,   407,    -1,   409,   410,   411,    -1,
++      -1,   414,    -1,    -1,    -1,   418,   419,   420,   421,   422,
++      -1,    -1,   425,   426,   427,   428,   429,    -1,   431,   432,
++      -1,   434,   435,   436,    -1,    -1,   439,    -1,   441,    -1,
++     443,   444,    -1,   446,   447,    -1,    -1,    -1,   451,   452,
++     453,   454,   455,   456,   457,   458,   459,   460,    -1,   462,
++     463,    -1,    -1,    -1,   467,   468,   469,   470,    -1,    -1,
++      -1,   474,    -1,    -1,    -1,   478,    -1,   480,   481,   482,
++     483,    -1,   485,   486,   487,   488,   489,   490,    -1,    -1,
++      -1,    -1,    -1,    -1,   497,   498,    -1,   500,    -1,    -1,
++     503,    -1,    -1,   506,   507,   508,    -1,    -1,   511,   512,
++      -1,   514,   515,   516,   517,   518,   519,    -1,    -1,   522,
++     523,   524,   525,    -1,   527,   528,    -1,   530,    -1,   532,
++     533,   534,   535,    -1,   537,   538,   539,    -1,   541,   542,
++     543,   544,    -1,    -1,    -1,    -1,    -1,   550,   551,   552,
++      -1,    -1,    -1,   556,   557,   558,   559,    -1,   561,   562,
++      -1,   564,   565,    -1,   567,   568,    -1,    -1,   571,    -1,
++      -1,   574,    -1,   576,    -1,   578,   579,   580,    -1,    -1,
++      -1,    -1,    -1,    -1,   587,    -1,    -1,   590,    -1,    -1,
++      -1,   594,   595,   596,   597,   598,   599,    -1,    -1,    -1,
++      -1,    -1,    -1,   606,   607,    -1,   609,   610,   611,    -1,
++       5,   614,     7,     8,     9,    10,    11,    -1,    -1,    14,
++      -1,    -1,    -1,    18,    -1,    -1,    21,    -1,    23,    24,
++      25,    26,    27,    28,    29,    -1,    31,    -1,    -1,    34,
++      35,    -1,    -1,    -1,    39,    -1,    -1,    42,    43,    44,
++      -1,    46,    -1,    48,    49,    -1,    -1,    52,    -1,    -1,
++      55,    56,    -1,    58,    59,    -1,    61,    62,    -1,    64,
++      65,    66,    67,    68,    69,    70,    -1,    72,    73,    74,
++      75,    76,    77,    78,    79,    -1,    81,    82,    83,    84,
++      85,    86,    87,    88,    -1,    90,    91,    -1,    93,    94,
++      95,    96,    97,    -1,    99,    -1,    -1,   102,    -1,    -1,
++     105,    -1,    -1,    -1,   109,    -1,    -1,    -1,   113,   114,
++     115,    -1,    -1,   118,    -1,    -1,    -1,    -1,   123,   124,
++      -1,    -1,    -1,    -1,   129,    -1,   131,    -1,    -1,    -1,
++     135,    -1,   137,   138,   139,   140,    -1,    -1,    -1,   144,
++      -1,    -1,   147,   148,   149,    -1,    -1,    -1,   153,    -1,
++     155,   156,    -1,   158,   159,   160,    -1,   162,   163,    -1,
++     165,   166,   167,   168,   169,   170,    -1,    -1,   173,   174,
++     175,    -1,    -1,   178,   179,    -1,   181,   182,   183,    -1,
++      -1,   186,    -1,    -1,    -1,   190,    -1,   192,    -1,   194,
++      -1,   196,   197,   198,   199,   200,   201,    -1,   203,    -1,
++      -1,   206,   207,   208,    -1,   210,    -1,    -1,    -1,   214,
++     215,    -1,    -1,    -1,   219,   220,   221,   222,    -1,    -1,
++     225,   226,   227,    -1,   229,    -1,   231,    -1,    -1,    -1,
++      -1,   236,   237,    -1,    -1,    -1,   241,    -1,   243,   244,
++      -1,   246,   247,    -1,    -1,    -1,   251,    -1,    -1,   254,
++     255,   256,    -1,    -1,   259,    -1,    -1,   262,   263,   264,
++      -1,    -1,    -1,    -1,   269,   270,    -1,   272,    -1,   274,
++      -1,   276,   277,    -1,    -1,    -1,    -1,    -1,    -1,   284,
++     285,   286,   287,   288,   289,   290,   291,   292,   293,   294,
++     295,   296,    -1,   298,   299,   300,    -1,   302,   303,   304,
++     305,    -1,   307,   308,    -1,    -1,    -1,    -1,   313,   314,
++     315,   316,   317,   318,    -1,    -1,   321,   322,    -1,   324,
++      -1,   326,    -1,   328,   329,   330,   331,   332,   333,   334,
++     335,   336,   337,    -1,    -1,   340,   341,    -1,    -1,   344,
++     345,   346,   347,    -1,    -1,    -1,   351,   352,    -1,    -1,
++      -1,    -1,   357,   358,   359,    -1,   361,   362,   363,   364,
++      -1,   366,   367,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
++      -1,   376,   377,   378,    -1,    -1,   381,    -1,   383,   384,
++     385,   386,   387,   388,   389,   390,   391,   392,   393,   394,
++      -1,    -1,   397,   398,   399,    -1,   401,    -1,   403,   404,
++     405,   406,   407,    -1,   409,   410,   411,    -1,    -1,   414,
++      -1,    -1,    -1,   418,   419,   420,   421,   422,    -1,    -1,
++     425,   426,   427,   428,   429,    -1,   431,   432,    -1,   434,
++     435,   436,    -1,    -1,   439,    -1,   441,    -1,   443,   444,
++      -1,   446,   447,    -1,    -1,    -1,   451,   452,   453,   454,
++     455,   456,   457,   458,   459,   460,    -1,   462,   463,    -1,
++      -1,    -1,   467,   468,   469,   470,    -1,    -1,    -1,   474,
++      -1,    -1,    -1,   478,    -1,   480,   481,   482,   483,    -1,
++     485,   486,   487,   488,   489,   490,    -1,    -1,    -1,    -1,
++      -1,    -1,   497,   498,    -1,   500,    -1,    -1,   503,    -1,
++      -1,   506,   507,   508,    -1,    -1,   511,   512,    -1,   514,
++     515,   516,   517,   518,   519,    -1,    -1,   522,   523,   524,
++     525,    -1,   527,   528,    -1,   530,    -1,   532,   533,   534,
++     535,    -1,   537,   538,   539,    -1,   541,   542,   543,   544,
++      -1,    -1,    -1,    -1,    -1,   550,   551,   552,    -1,    -1,
++      -1,   556,   557,   558,   559,    -1,   561,   562,    -1,   564,
++     565,    -1,   567,   568,    -1,    -1,   571,    -1,    -1,   574,
++      -1,   576,    -1,   578,   579,   580,    -1,    -1,    -1,    -1,
++      -1,    -1,   587,    -1,    -1,   590,    -1,    -1,    -1,   594,
++     595,   596,   597,   598,   599,    -1,    -1,    -1,    -1,    -1,
++      -1,   606,   607,    -1,   609,   610,   611,    -1,     5,   614,
++       7,     8,     9,    10,    11,    -1,    -1,    14,    -1,    -1,
++      -1,    18,    -1,    -1,    21,    -1,    23,    24,    25,    26,
++      27,    28,    29,    -1,    31,    -1,    -1,    -1,    35,    -1,
++      -1,    -1,    39,    -1,    -1,    42,    43,    44,    -1,    46,
++      -1,    48,    49,    -1,    -1,    52,    -1,    -1,    55,    56,
++      -1,    58,    59,    -1,    61,    62,    -1,    64,    65,    66,
++      67,    68,    69,    70,    -1,    72,    73,    74,    75,    76,
++      77,    78,    79,    -1,    81,    82,    83,    84,    85,    86,
++      87,    88,    -1,    90,    91,    -1,    93,    94,    95,    96,
++      97,    -1,    99,    -1,    -1,   102,    -1,    -1,   105,    -1,
++      -1,    -1,   109,    -1,    -1,    -1,   113,   114,   115,    -1,
++      -1,   118,    -1,    -1,    -1,    -1,   123,   124,    -1,    -1,
++      -1,   128,   129,    -1,   131,    -1,    -1,    -1,   135,    -1,
++     137,   138,   139,   140,    -1,    -1,    -1,   144,    -1,    -1,
++     147,   148,   149,    -1,    -1,    -1,   153,    -1,   155,   156,
++      -1,   158,   159,   160,    -1,   162,   163,    -1,   165,   166,
++     167,   168,   169,   170,    -1,    -1,   173,   174,   175,    -1,
++      -1,   178,   179,    -1,   181,   182,   183,    -1,    -1,   186,
++      -1,    -1,    -1,   190,    -1,   192,    -1,   194,    -1,   196,
++     197,   198,   199,   200,   201,    -1,   203,    -1,    -1,   206,
++     207,   208,    -1,   210,    -1,    -1,    -1,   214,   215,    -1,
++      -1,    -1,   219,   220,   221,   222,    -1,    -1,   225,   226,
++     227,    -1,   229,    -1,   231,    -1,    -1,    -1,    -1,   236,
++     237,    -1,    -1,    -1,   241,    -1,   243,   244,    -1,   246,
++     247,    -1,    -1,    -1,   251,    -1,    -1,   254,   255,   256,
++      -1,    -1,   259,    -1,    -1,   262,   263,   264,    -1,    -1,
++      -1,    -1,   269,   270,    -1,   272,    -1,   274,    -1,   276,
++     277,    -1,    -1,    -1,    -1,    -1,    -1,   284,   285,   286,
++     287,   288,   289,   290,   291,   292,   293,   294,   295,   296,
++      -1,   298,   299,   300,    -1,   302,   303,   304,   305,    -1,
++     307,   308,    -1,    -1,    -1,    -1,   313,   314,   315,   316,
++     317,   318,    -1,    -1,   321,   322,    -1,   324,    -1,   326,
++      -1,   328,   329,   330,   331,   332,   333,   334,   335,   336,
++     337,    -1,    -1,   340,   341,    -1,    -1,   344,   345,   346,
++     347,    -1,    -1,    -1,   351,   352,    -1,    -1,    -1,    -1,
++     357,   358,   359,    -1,   361,   362,   363,   364,    -1,   366,
++     367,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   376,
++     377,   378,    -1,    -1,   381,    -1,   383,   384,   385,   386,
++     387,   388,   389,   390,   391,   392,   393,   394,    -1,    -1,
++     397,   398,   399,    -1,   401,    -1,   403,   404,   405,   406,
++     407,    -1,   409,   410,   411,    -1,    -1,   414,    -1,    -1,
++      -1,   418,   419,   420,   421,   422,    -1,    -1,   425,   426,
++     427,   428,   429,    -1,   431,   432,    -1,   434,   435,   436,
++      -1,    -1,   439,    -1,   441,    -1,   443,   444,    -1,   446,
++     447,    -1,    -1,    -1,   451,   452,   453,   454,   455,   456,
++     457,   458,   459,   460,    -1,   462,   463,    -1,    -1,    -1,
++     467,   468,   469,   470,    -1,    -1,    -1,   474,    -1,    -1,
++      -1,   478,    -1,   480,   481,   482,   483,    -1,   485,   486,
++     487,   488,   489,   490,    -1,    -1,    -1,    -1,    -1,    -1,
++     497,   498,    -1,   500,    -1,    -1,   503,    -1,    -1,   506,
++     507,   508,    -1,    -1,   511,   512,    -1,   514,   515,   516,
++     517,   518,   519,    -1,    -1,   522,   523,   524,   525,    -1,
++     527,   528,    -1,   530,    -1,   532,   533,   534,   535,    -1,
++     537,   538,   539,    -1,   541,   542,   543,   544,    -1,    -1,
++      -1,    -1,    -1,   550,   551,   552,    -1,    -1,    -1,   556,
++     557,   558,   559,    -1,   561,   562,    -1,   564,   565,    -1,
++     567,   568,    -1,    -1,   571,    -1,    -1,   574,    -1,   576,
++      -1,   578,   579,   580,    -1,    -1,    -1,    -1,    -1,    -1,
++     587,    -1,    -1,   590,    -1,    -1,    -1,   594,   595,   596,
++     597,   598,   599,    -1,    -1,    -1,    -1,    -1,    -1,   606,
++     607,    -1,   609,   610,   611,    -1,     5,   614,     7,     8,
++       9,    10,    11,    -1,    -1,    14,    -1,    -1,    -1,    18,
++      -1,    -1,    21,    -1,    23,    24,    25,    26,    27,    28,
++      29,    -1,    31,    -1,    -1,    -1,    35,    -1,    -1,    -1,
++      39,    -1,    -1,    42,    43,    44,    -1,    46,    -1,    48,
++      49,    -1,    -1,    52,    -1,    -1,    55,    56,    -1,    58,
++      59,    -1,    61,    62,    -1,    64,    65,    66,    67,    68,
++      69,    70,    -1,    72,    73,    74,    75,    76,    77,    78,
++      79,    -1,    81,    82,    83,    84,    85,    86,    87,    88,
++      -1,    90,    91,    -1,    93,    94,    95,    96,    97,    -1,
++      99,    -1,    -1,   102,    -1,    -1,   105,    -1,    -1,    -1,
++     109,    -1,    -1,    -1,   113,   114,   115,    -1,    -1,   118,
++      -1,    -1,    -1,    -1,   123,   124,    -1,    -1,    -1,    -1,
++     129,    -1,   131,    -1,    -1,    -1,   135,    -1,   137,   138,
++     139,   140,    -1,    -1,    -1,   144,    -1,    -1,   147,   148,
++     149,    -1,    -1,    -1,   153,    -1,   155,   156,    -1,   158,
++     159,   160,    -1,   162,   163,    -1,   165,   166,   167,   168,
++     169,   170,    -1,    -1,   173,   174,   175,    -1,    -1,   178,
++     179,    -1,   181,   182,   183,    -1,    -1,   186,    -1,    -1,
++      -1,   190,    -1,   192,    -1,   194,    -1,   196,   197,   198,
++     199,   200,   201,    -1,   203,    -1,    -1,   206,   207,   208,
++      -1,   210,    -1,    -1,    -1,   214,   215,    -1,    -1,    -1,
++     219,   220,   221,   222,    -1,    -1,   225,   226,   227,    -1,
++     229,    -1,   231,    -1,    -1,    -1,    -1,   236,   237,    -1,
++      -1,    -1,   241,    -1,   243,   244,    -1,   246,   247,    -1,
++      -1,    -1,   251,    -1,    -1,   254,   255,   256,    -1,    -1,
++     259,    -1,    -1,   262,   263,   264,    -1,    -1,    -1,    -1,
++     269,   270,    -1,   272,    -1,   274,    -1,   276,   277,    -1,
++      -1,    -1,    -1,    -1,    -1,   284,   285,   286,   287,   288,
++     289,   290,   291,   292,   293,   294,   295,   296,    -1,   298,
++     299,   300,    -1,   302,   303,   304,   305,    -1,   307,   308,
++      -1,    -1,    -1,    -1,   313,   314,   315,   316,   317,   318,
++      -1,    -1,   321,   322,    -1,   324,    -1,   326,    -1,   328,
++     329,   330,   331,   332,   333,   334,   335,   336,   337,    -1,
++      -1,   340,   341,    -1,    -1,   344,   345,   346,   347,    -1,
++      -1,    -1,   351,   352,    -1,    -1,    -1,    -1,   357,   358,
++     359,    -1,   361,   362,   363,   364,    -1,   366,   367,    -1,
++      -1,    -1,    -1,    -1,    -1,    -1,    -1,   376,   377,   378,
++      -1,    -1,   381,    -1,   383,   384,   385,   386,   387,   388,
++     389,   390,   391,   392,   393,   394,    -1,    -1,   397,   398,
++     399,    -1,   401,    -1,   403,   404,   405,   406,   407,    -1,
++     409,   410,   411,    -1,    -1,   414,    -1,    -1,    -1,   418,
++     419,   420,   421,   422,    -1,    -1,   425,   426,   427,   428,
++     429,    -1,   431,   432,    -1,   434,   435,   436,    -1,    -1,
++     439,    -1,   441,    -1,   443,   444,    -1,   446,   447,    -1,
++      -1,    -1,   451,   452,   453,   454,   455,   456,   457,   458,
++     459,   460,    -1,   462,   463,    -1,    -1,    -1,   467,   468,
++     469,   470,    -1,    -1,    -1,   474,    -1,    -1,    -1,   478,
++      -1,   480,   481,   482,   483,    -1,   485,   486,   487,   488,
++     489,   490,    -1,    -1,    -1,    -1,    -1,    -1,   497,   498,
++      -1,   500,    -1,    -1,   503,    -1,    -1,   506,   507,   508,
++      -1,    -1,   511,   512,    -1,   514,   515,   516,   517,   518,
++     519,    -1,    -1,   522,   523,   524,   525,    -1,   527,   528,
++      -1,   530,    -1,   532,   533,   534,   535,    -1,   537,   538,
++     539,    -1,   541,   542,   543,   544,    -1,    -1,    -1,    -1,
++      -1,   550,   551,   552,    -1,    -1,    -1,   556,   557,   558,
++     559,    -1,   561,   562,    -1,   564,   565,    -1,   567,   568,
++      -1,    -1,   571,    -1,    -1,   574,    -1,   576,    -1,   578,
++     579,   580,    -1,    -1,    -1,    -1,    -1,    -1,   587,    -1,
++      -1,   590,    -1,    -1,    -1,   594,   595,   596,   597,   598,
++     599,    -1,    -1,    -1,    -1,    -1,    -1,   606,   607,    -1,
++     609,   610,   611,    -1,     5,   614,     7,     8,     9,    10,
++      11,    -1,    -1,    14,    -1,    -1,    -1,    18,    19,    -1,
++      21,    -1,    23,    24,    25,    26,    27,    28,    29,    -1,
++      31,    -1,    -1,    -1,    35,    -1,    -1,    -1,    39,    -1,
++      -1,    42,    43,    44,    -1,    46,    -1,    48,    49,    -1,
++      -1,    52,    -1,    -1,    55,    56,    -1,    58,    59,    -1,
++      61,    62,    -1,    64,    65,    66,    67,    68,    69,    70,
++      -1,    72,    73,    74,    75,    76,    77,    78,    79,    -1,
++      81,    82,    83,    84,    85,    86,    87,    88,    -1,    90,
++      91,    -1,    93,    94,    95,    96,    97,    -1,    99,    -1,
++      -1,   102,    -1,    -1,   105,    -1,    -1,    -1,   109,    -1,
++      -1,    -1,   113,   114,   115,    -1,    -1,   118,    -1,    -1,
++      -1,    -1,   123,   124,    -1,    -1,    -1,    -1,   129,    -1,
++     131,    -1,    -1,    -1,   135,    -1,   137,   138,   139,   140,
++      -1,    -1,    -1,   144,    -1,    -1,   147,   148,   149,    -1,
++      -1,    -1,   153,    -1,   155,   156,    -1,   158,   159,   160,
++      -1,   162,   163,    -1,   165,   166,   167,   168,   169,   170,
++      -1,    -1,   173,   174,   175,    -1,    -1,   178,   179,    -1,
++     181,   182,   183,    -1,    -1,   186,    -1,    -1,    -1,   190,
++      -1,   192,    -1,   194,    -1,   196,   197,   198,   199,   200,
++     201,    -1,   203,    -1,    -1,   206,   207,   208,    -1,   210,
++      -1,    -1,    -1,   214,   215,    -1,    -1,    -1,   219,   220,
++     221,   222,    -1,    -1,   225,   226,   227,    -1,   229,    -1,
++     231,    -1,    -1,    -1,    -1,   236,   237,    -1,    -1,    -1,
++     241,    -1,   243,   244,    -1,   246,   247,    -1,    -1,    -1,
++     251,    -1,    -1,   254,   255,   256,    -1,    -1,   259,    -1,
++      -1,   262,   263,    -1,    -1,    -1,    -1,    -1,   269,   270,
++      -1,   272,    -1,   274,    -1,   276,   277,    -1,    -1,    -1,
++      -1,    -1,    -1,   284,   285,   286,   287,   288,   289,   290,
++     291,   292,   293,   294,   295,   296,    -1,   298,   299,   300,
++      -1,   302,   303,   304,   305,    -1,   307,   308,    -1,    -1,
++      -1,    -1,   313,   314,   315,   316,   317,   318,    -1,    -1,
++     321,   322,    -1,   324,    -1,   326,    -1,   328,   329,   330,
++     331,   332,   333,   334,   335,   336,   337,    -1,    -1,   340,
++     341,    -1,    -1,   344,   345,   346,   347,    -1,    -1,    -1,
++     351,   352,    -1,    -1,    -1,    -1,   357,   358,   359,    -1,
++     361,   362,   363,   364,    -1,   366,   367,    -1,    -1,    -1,
++      -1,    -1,    -1,    -1,    -1,   376,   377,   378,    -1,    -1,
++     381,    -1,   383,   384,   385,   386,   387,   388,   389,   390,
++     391,   392,   393,   394,    -1,    -1,   397,   398,   399,    -1,
++     401,    -1,   403,   404,   405,   406,   407,    -1,   409,   410,
++     411,    -1,    -1,   414,    -1,    -1,    -1,   418,   419,   420,
++     421,   422,    -1,    -1,   425,   426,   427,   428,   429,    -1,
++     431,   432,    -1,   434,   435,   436,    -1,    -1,   439,    -1,
++     441,    -1,   443,   444,    -1,   446,   447,    -1,    -1,    -1,
++     451,   452,   453,   454,   455,   456,   457,   458,   459,   460,
++      -1,   462,   463,    -1,    -1,    -1,   467,   468,   469,   470,
++      -1,    -1,    -1,   474,    -1,    -1,    -1,   478,    -1,   480,
++     481,   482,   483,    -1,   485,   486,   487,   488,   489,   490,
++      -1,    -1,    -1,    -1,    -1,    -1,   497,   498,    -1,   500,
++      -1,    -1,   503,    -1,    -1,   506,   507,   508,    -1,    -1,
++     511,   512,    -1,   514,   515,   516,   517,   518,   519,    -1,
++      -1,   522,   523,   524,   525,    -1,   527,   528,    -1,   530,
++      -1,   532,   533,   534,   535,    -1,   537,   538,   539,    -1,
++     541,   542,   543,   544,    -1,    -1,    -1,    -1,    -1,   550,
++     551,   552,    -1,    -1,    -1,   556,   557,   558,   559,    -1,
++     561,   562,    -1,   564,   565,    -1,   567,   568,    -1,    -1,
++     571,    -1,    -1,   574,    -1,   576,    -1,   578,   579,   580,
++      -1,    -1,    -1,    -1,    -1,    -1,   587,    -1,    -1,   590,
++      -1,    -1,    -1,   594,   595,   596,   597,   598,   599,    -1,
++      -1,    -1,    -1,    -1,    -1,   606,   607,    -1,   609,   610,
++     611,    -1,     5,   614,     7,     8,     9,    10,    11,    -1,
++      -1,    14,    -1,    -1,    -1,    18,    -1,    -1,    21,    -1,
++      23,    24,    25,    26,    27,    28,    29,    -1,    31,    -1,
++      -1,    -1,    35,    -1,    -1,    -1,    39,    -1,    -1,    42,
++      43,    44,    -1,    46,    -1,    48,    49,    -1,    -1,    52,
++      -1,    -1,    55,    56,    -1,    58,    59,    -1,    61,    62,
++      -1,    64,    65,    66,    67,    68,    69,    70,    -1,    72,
++      73,    74,    75,    76,    77,    78,    79,    -1,    81,    82,
++      83,    84,    85,    86,    87,    88,    -1,    90,    91,    -1,
++      93,    94,    95,    96,    97,    98,    99,    -1,    -1,   102,
++      -1,    -1,   105,    -1,    -1,    -1,   109,    -1,    -1,    -1,
++     113,   114,   115,    -1,    -1,   118,    -1,    -1,    -1,    -1,
++     123,   124,    -1,    -1,    -1,    -1,   129,    -1,   131,    -1,
++      -1,    -1,   135,    -1,   137,   138,   139,   140,    -1,    -1,
++      -1,   144,    -1,    -1,   147,   148,   149,    -1,    -1,    -1,
++     153,    -1,   155,   156,    -1,   158,   159,   160,    -1,   162,
++     163,    -1,   165,   166,   167,   168,   169,   170,    -1,   172,
++     173,   174,   175,    -1,    -1,   178,   179,    -1,   181,   182,
++     183,    -1,    -1,   186,    -1,    -1,    -1,   190,    -1,   192,
++      -1,   194,    -1,   196,   197,   198,   199,   200,   201,    -1,
++     203,    -1,    -1,   206,   207,   208,    -1,   210,    -1,    -1,
++      -1,   214,   215,    -1,    -1,    -1,   219,   220,   221,   222,
++      -1,    -1,   225,   226,   227,    -1,   229,    -1,   231,    -1,
++      -1,    -1,    -1,   236,   237,    -1,    -1,    -1,   241,    -1,
++     243,   244,    -1,   246,   247,    -1,    -1,    -1,   251,    -1,
++      -1,   254,   255,   256,    -1,    -1,   259,    -1,    -1,   262,
++     263,    -1,    -1,    -1,    -1,    -1,   269,   270,    -1,   272,
++      -1,   274,    -1,   276,   277,    -1,    -1,    -1,    -1,    -1,
++      -1,   284,   285,   286,   287,   288,   289,   290,   291,   292,
++     293,   294,   295,   296,    -1,   298,   299,   300,    -1,   302,
++     303,   304,   305,    -1,   307,   308,    -1,    -1,    -1,    -1,
++     313,   314,   315,   316,   317,   318,    -1,    -1,   321,   322,
++      -1,   324,    -1,   326,    -1,   328,   329,   330,   331,   332,
++     333,   334,   335,   336,   337,    -1,    -1,   340,   341,    -1,
++      -1,   344,   345,   346,   347,    -1,    -1,    -1,   351,   352,
++      -1,    -1,    -1,    -1,   357,   358,   359,    -1,   361,   362,
++     363,   364,    -1,   366,   367,    -1,    -1,    -1,    -1,    -1,
++      -1,    -1,    -1,   376,   377,   378,    -1,    -1,   381,    -1,
++     383,   384,   385,   386,   387,   388,   389,   390,   391,   392,
++     393,   394,    -1,    -1,   397,   398,   399,    -1,   401,    -1,
++     403,   404,   405,   406,   407,    -1,   409,   410,   411,    -1,
++      -1,   414,    -1,    -1,    -1,   418,   419,   420,   421,   422,
++      -1,    -1,   425,   426,   427,   428,   429,    -1,   431,   432,
++      -1,   434,   435,   436,    -1,    -1,   439,    -1,   441,    -1,
++     443,   444,    -1,   446,   447,    -1,    -1,    -1,   451,   452,
++     453,   454,   455,   456,   457,   458,   459,   460,    -1,   462,
++     463,    -1,    -1,    -1,   467,   468,   469,   470,    -1,    -1,
++      -1,   474,    -1,    -1,    -1,   478,    -1,   480,   481,   482,
++     483,    -1,   485,   486,   487,   488,   489,   490,    -1,    -1,
++      -1,    -1,    -1,    -1,   497,   498,    -1,   500,    -1,    -1,
++     503,    -1,    -1,   506,   507,   508,    -1,    -1,   511,   512,
++      -1,   514,   515,   516,   517,   518,   519,    -1,    -1,   522,
++     523,   524,   525,    -1,   527,   528,    -1,   530,    -1,   532,
++     533,   534,   535,    -1,    -1,   538,   539,    -1,   541,   542,
++     543,   544,    -1,    -1,    -1,    -1,    -1,   550,   551,   552,
++      -1,    -1,    -1,   556,   557,   558,   559,    -1,   561,   562,
++      -1,   564,   565,    -1,   567,   568,    -1,    -1,   571,    -1,
++      -1,   574,    -1,   576,    -1,   578,   579,   580,    -1,    -1,
++      -1,    -1,    -1,    -1,   587,    -1,    -1,   590,    -1,    -1,
++      -1,   594,   595,   596,   597,   598,   599,    -1,    -1,    -1,
++      -1,    -1,    -1,   606,   607,    -1,   609,   610,   611,    -1,
++       5,   614,     7,     8,     9,    10,    11,    -1,    -1,    14,
++      -1,    -1,    -1,    18,    -1,    -1,    21,    -1,    23,    24,
++      25,    26,    27,    28,    29,    -1,    31,    -1,    -1,    -1,
++      35,    -1,    -1,    -1,    39,    -1,    -1,    42,    43,    44,
++      -1,    46,    -1,    48,    49,    -1,    -1,    52,    -1,    -1,
++      55,    56,    -1,    58,    59,    -1,    61,    62,    -1,    64,
++      65,    66,    67,    68,    69,    70,    -1,    72,    73,    74,
++      75,    76,    77,    78,    79,    -1,    81,    82,    83,    84,
++      85,    86,    87,    88,    -1,    90,    91,    -1,    93,    94,
++      95,    96,    97,    -1,    99,    -1,    -1,   102,    -1,    -1,
++     105,    -1,    -1,    -1,   109,    -1,    -1,    -1,   113,   114,
++     115,    -1,    -1,   118,    -1,    -1,    -1,    -1,   123,   124,
++      -1,    -1,    -1,    -1,   129,    -1,   131,    -1,    -1,    -1,
++     135,    -1,   137,   138,   139,   140,    -1,    -1,    -1,   144,
++      -1,    -1,   147,   148,   149,    -1,    -1,    -1,   153,    -1,
++     155,   156,    -1,   158,   159,   160,    -1,   162,   163,    -1,
++     165,   166,   167,   168,   169,   170,    -1,    -1,   173,   174,
++     175,    -1,    -1,   178,   179,    -1,   181,   182,   183,    -1,
++      -1,   186,    -1,    -1,    -1,   190,    -1,   192,    -1,   194,
++      -1,   196,   197,   198,   199,   200,   201,    -1,   203,    -1,
++      -1,   206,   207,   208,    -1,   210,    -1,    -1,    -1,   214,
++     215,    -1,    -1,    -1,   219,   220,   221,   222,    -1,    -1,
++     225,   226,   227,    -1,   229,    -1,   231,    -1,    -1,    -1,
++      -1,   236,   237,    -1,    -1,    -1,   241,    -1,   243,   244,
++      -1,   246,   247,    -1,    -1,    -1,   251,    -1,    -1,   254,
++     255,   256,    -1,    -1,   259,    -1,    -1,   262,   263,    -1,
++      -1,    -1,    -1,    -1,   269,   270,    -1,   272,    -1,   274,
++      -1,   276,   277,    -1,    -1,    -1,    -1,    -1,    -1,   284,
++     285,   286,   287,   288,   289,   290,   291,   292,   293,   294,
++     295,   296,    -1,   298,   299,   300,    -1,   302,   303,   304,
++     305,    -1,   307,   308,    -1,    -1,    -1,    -1,   313,   314,
++     315,   316,   317,   318,    -1,    -1,   321,   322,    -1,   324,
++      -1,   326,    -1,   328,   329,   330,   331,   332,   333,   334,
++     335,   336,   337,    -1,    -1,   340,   341,    -1,    -1,   344,
++     345,   346,   347,    -1,    -1,    -1,   351,   352,    -1,    -1,
++      -1,    -1,   357,   358,   359,    -1,   361,   362,   363,   364,
++      -1,   366,   367,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
++      -1,   376,   377,   378,    -1,    -1,   381,    -1,   383,   384,
++     385,   386,   387,   388,   389,   390,   391,   392,   393,   394,
++      -1,    -1,   397,   398,   399,    -1,   401,    -1,   403,   404,
++     405,   406,   407,    -1,   409,   410,   411,    -1,    -1,   414,
++      -1,    -1,    -1,   418,   419,   420,   421,   422,    -1,    -1,
++     425,   426,   427,   428,   429,    -1,   431,   432,    -1,   434,
++     435,   436,    -1,    -1,   439,    -1,   441,    -1,   443,   444,
++      -1,   446,   447,    -1,    -1,    -1,   451,   452,   453,   454,
++     455,   456,   457,   458,   459,   460,    -1,   462,   463,    -1,
++      -1,    -1,   467,   468,   469,   470,    -1,    -1,    -1,   474,
++      -1,    -1,    -1,   478,    -1,   480,   481,   482,   483,    -1,
++     485,   486,   487,   488,   489,   490,    -1,    -1,    -1,   494,
++      -1,    -1,   497,   498,    -1,   500,    -1,    -1,   503,    -1,
++      -1,   506,   507,   508,    -1,    -1,   511,   512,    -1,   514,
++     515,   516,   517,   518,   519,    -1,    -1,   522,   523,   524,
++     525,    -1,   527,   528,    -1,   530,    -1,   532,   533,   534,
++     535,    -1,    -1,   538,   539,    -1,   541,   542,   543,   544,
++      -1,    -1,    -1,    -1,    -1,   550,   551,   552,    -1,    -1,
++      -1,   556,   557,   558,   559,    -1,   561,   562,    -1,   564,
++     565,    -1,   567,   568,    -1,    -1,   571,    -1,    -1,   574,
++      -1,   576,    -1,   578,   579,   580,    -1,    -1,    -1,    -1,
++      -1,    -1,   587,    -1,    -1,   590,    -1,    -1,    -1,   594,
++     595,   596,   597,   598,   599,    -1,    -1,    -1,    -1,    -1,
++      -1,   606,   607,    -1,   609,   610,   611,    -1,     5,   614,
++       7,     8,     9,    10,    11,    -1,    -1,    14,    -1,    -1,
++      -1,    18,    -1,    -1,    21,    -1,    23,    24,    25,    26,
++      27,    28,    29,    -1,    31,    -1,    -1,    -1,    35,    -1,
++      -1,    -1,    39,    -1,    -1,    42,    43,    44,    -1,    46,
++      -1,    48,    49,    -1,    -1,    52,    -1,    -1,    55,    56,
++      -1,    58,    59,    -1,    61,    62,    -1,    64,    65,    66,
++      67,    68,    69,    70,    -1,    72,    73,    74,    75,    76,
++      77,    78,    79,    -1,    81,    82,    83,    84,    85,    86,
++      87,    88,    -1,    90,    91,    -1,    93,    94,    95,    96,
++      97,    -1,    99,    -1,    -1,   102,    -1,    -1,   105,    -1,
++      -1,    -1,   109,    -1,    -1,    -1,   113,   114,   115,    -1,
++      -1,   118,    -1,    -1,    -1,    -1,   123,   124,    -1,    -1,
++      -1,    -1,   129,    -1,   131,    -1,    -1,    -1,   135,    -1,
++     137,   138,   139,   140,    -1,    -1,    -1,   144,    -1,    -1,
++     147,   148,   149,    -1,    -1,    -1,   153,    -1,   155,   156,
++      -1,   158,   159,   160,    -1,   162,   163,    -1,   165,   166,
++     167,   168,   169,   170,    -1,    -1,   173,   174,   175,    -1,
++      -1,   178,   179,    -1,   181,   182,   183,    -1,    -1,   186,
++      -1,    -1,    -1,   190,   191,   192,    -1,   194,    -1,   196,
++     197,   198,   199,   200,   201,    -1,   203,    -1,    -1,   206,
++     207,   208,    -1,   210,    -1,    -1,    -1,   214,   215,    -1,
++      -1,    -1,   219,   220,   221,   222,    -1,    -1,   225,   226,
++     227,    -1,   229,    -1,   231,    -1,    -1,    -1,    -1,   236,
++     237,    -1,    -1,    -1,   241,    -1,   243,   244,    -1,   246,
++     247,    -1,    -1,    -1,   251,    -1,    -1,   254,   255,   256,
++      -1,    -1,   259,    -1,    -1,   262,   263,    -1,    -1,    -1,
++      -1,    -1,   269,   270,    -1,   272,    -1,   274,    -1,   276,
++     277,    -1,    -1,    -1,    -1,    -1,    -1,   284,   285,   286,
++     287,   288,   289,   290,   291,   292,   293,   294,   295,   296,
++      -1,   298,   299,   300,    -1,   302,   303,   304,   305,    -1,
++     307,   308,    -1,    -1,    -1,    -1,   313,   314,   315,   316,
++     317,   318,    -1,    -1,   321,   322,    -1,   324,    -1,   326,
++      -1,   328,   329,   330,   331,   332,   333,   334,   335,   336,
++     337,    -1,    -1,   340,   341,    -1,    -1,   344,   345,   346,
++     347,    -1,    -1,    -1,   351,   352,    -1,    -1,    -1,    -1,
++     357,   358,   359,    -1,   361,   362,   363,   364,    -1,   366,
++     367,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   376,
++     377,   378,    -1,    -1,   381,    -1,   383,   384,   385,   386,
++     387,   388,   389,   390,   391,   392,   393,   394,    -1,    -1,
++     397,   398,   399,    -1,   401,    -1,   403,   404,   405,   406,
++     407,    -1,   409,   410,   411,    -1,    -1,   414,    -1,    -1,
++      -1,   418,   419,   420,   421,   422,    -1,    -1,   425,   426,
++     427,   428,   429,    -1,   431,   432,    -1,   434,   435,   436,
++      -1,    -1,   439,    -1,   441,    -1,   443,   444,    -1,   446,
++     447,    -1,    -1,    -1,   451,   452,   453,   454,   455,   456,
++     457,   458,   459,   460,    -1,   462,   463,    -1,    -1,    -1,
++     467,   468,   469,   470,    -1,    -1,    -1,   474,    -1,    -1,
++      -1,   478,    -1,   480,   481,   482,   483,    -1,   485,   486,
++     487,   488,   489,   490,    -1,    -1,    -1,    -1,    -1,    -1,
++     497,   498,    -1,   500,    -1,    -1,   503,    -1,    -1,   506,
++     507,   508,    -1,    -1,   511,   512,    -1,   514,   515,   516,
++     517,   518,   519,    -1,    -1,   522,   523,   524,   525,    -1,
++     527,   528,    -1,   530,    -1,   532,   533,   534,   535,    -1,
++      -1,   538,   539,    -1,   541,   542,   543,   544,    -1,    -1,
++      -1,    -1,    -1,   550,   551,   552,    -1,    -1,    -1,   556,
++     557,   558,   559,    -1,   561,   562,    -1,   564,   565,    -1,
++     567,   568,    -1,    -1,   571,    -1,    -1,   574,    -1,   576,
++      -1,   578,   579,   580,    -1,    -1,    -1,    -1,    -1,    -1,
++     587,    -1,    -1,   590,    -1,    -1,    -1,   594,   595,   596,
++     597,   598,   599,    -1,    -1,    -1,    -1,    -1,    -1,   606,
++     607,    -1,   609,   610,   611,    -1,     5,   614,     7,     8,
++       9,    10,    11,    -1,    -1,    14,    -1,    -1,    -1,    18,
++      -1,    -1,    21,    -1,    23,    24,    25,    26,    27,    28,
++      29,    -1,    31,    -1,    -1,    -1,    35,    -1,    -1,    -1,
++      39,    -1,    -1,    42,    43,    44,    -1,    46,    -1,    48,
++      49,    -1,    -1,    52,    -1,    -1,    55,    56,    -1,    58,
++      59,    -1,    61,    62,    -1,    64,    65,    66,    67,    68,
++      69,    70,    -1,    72,    73,    74,    75,    76,    77,    78,
++      79,    -1,    81,    82,    83,    84,    85,    86,    87,    88,
++      -1,    90,    91,    -1,    93,    94,    95,    96,    97,    -1,
++      99,    -1,    -1,   102,    -1,    -1,   105,    -1,    -1,    -1,
++     109,    -1,    -1,    -1,   113,   114,   115,    -1,    -1,   118,
++      -1,    -1,    -1,    -1,   123,   124,    -1,    -1,    -1,   128,
++     129,    -1,   131,    -1,    -1,    -1,   135,    -1,   137,   138,
++     139,   140,    -1,    -1,    -1,   144,    -1,    -1,   147,   148,
++     149,    -1,    -1,    -1,   153,    -1,   155,   156,    -1,   158,
++     159,   160,    -1,   162,   163,    -1,   165,   166,   167,   168,
++     169,   170,    -1,    -1,   173,   174,   175,    -1,    -1,   178,
++     179,    -1,   181,   182,   183,    -1,    -1,   186,    -1,    -1,
++      -1,   190,    -1,   192,    -1,   194,    -1,   196,   197,   198,
++     199,   200,   201,    -1,   203,    -1,    -1,   206,   207,   208,
++      -1,   210,    -1,    -1,    -1,   214,   215,    -1,    -1,    -1,
++     219,   220,   221,   222,    -1,    -1,   225,   226,   227,    -1,
++     229,    -1,   231,    -1,    -1,    -1,    -1,   236,   237,    -1,
++      -1,    -1,   241,    -1,   243,   244,    -1,   246,   247,    -1,
++      -1,    -1,   251,    -1,    -1,   254,   255,   256,    -1,    -1,
++     259,    -1,    -1,   262,   263,    -1,    -1,    -1,    -1,    -1,
++     269,   270,    -1,   272,    -1,   274,    -1,   276,   277,    -1,
++      -1,    -1,    -1,    -1,    -1,   284,   285,   286,   287,   288,
++     289,   290,   291,   292,   293,   294,   295,   296,    -1,   298,
++     299,   300,    -1,   302,   303,   304,   305,    -1,   307,   308,
++      -1,    -1,    -1,    -1,   313,   314,   315,   316,   317,   318,
++      -1,    -1,   321,   322,    -1,   324,    -1,   326,    -1,   328,
++     329,   330,   331,   332,   333,   334,   335,   336,   337,    -1,
++      -1,   340,   341,    -1,    -1,   344,   345,   346,   347,    -1,
++      -1,    -1,   351,   352,    -1,    -1,    -1,    -1,   357,   358,
++     359,    -1,   361,   362,   363,   364,    -1,   366,   367,    -1,
++      -1,    -1,    -1,    -1,    -1,    -1,    -1,   376,   377,   378,
++      -1,    -1,   381,    -1,   383,   384,   385,   386,   387,   388,
++     389,   390,   391,   392,   393,   394,    -1,    -1,   397,   398,
++     399,    -1,   401,    -1,   403,   404,   405,   406,   407,    -1,
++     409,   410,   411,    -1,    -1,   414,    -1,    -1,    -1,   418,
++     419,   420,   421,   422,    -1,    -1,   425,   426,   427,   428,
++     429,    -1,   431,   432,    -1,   434,   435,   436,    -1,    -1,
++     439,    -1,   441,    -1,   443,   444,    -1,   446,   447,    -1,
++      -1,    -1,   451,   452,   453,   454,   455,   456,   457,   458,
++     459,   460,    -1,   462,   463,    -1,    -1,    -1,   467,   468,
++     469,   470,    -1,    -1,    -1,   474,    -1,    -1,    -1,   478,
++      -1,   480,   481,   482,   483,    -1,   485,   486,   487,   488,
++     489,   490,    -1,    -1,    -1,    -1,    -1,    -1,   497,   498,
++      -1,   500,    -1,    -1,   503,    -1,    -1,   506,   507,   508,
++      -1,    -1,   511,   512,    -1,   514,   515,   516,   517,   518,
++     519,    -1,    -1,   522,   523,   524,   525,    -1,   527,   528,
++      -1,   530,    -1,   532,   533,   534,   535,    -1,    -1,   538,
++     539,    -1,   541,   542,   543,   544,    -1,    -1,    -1,    -1,
++      -1,   550,   551,   552,    -1,    -1,    -1,   556,   557,   558,
++     559,    -1,   561,   562,    -1,   564,   565,    -1,   567,   568,
++      -1,    -1,   571,    -1,    -1,   574,    -1,   576,    -1,   578,
++     579,   580,    -1,    -1,    -1,    -1,    -1,    -1,   587,    -1,
++      -1,   590,    -1,    -1,    -1,   594,   595,   596,   597,   598,
++     599,    -1,    -1,    -1,    -1,    -1,    -1,   606,   607,    -1,
++     609,   610,   611,    -1,     5,   614,     7,     8,     9,    10,
++      11,    -1,    -1,    14,    -1,    -1,    -1,    18,    -1,    -1,
++      21,    -1,    23,    24,    25,    26,    27,    28,    29,    -1,
++      31,    -1,    -1,    -1,    35,    -1,    -1,    -1,    39,    -1,
++      -1,    42,    43,    44,    -1,    46,    -1,    48,    49,    -1,
++      -1,    52,    -1,    -1,    55,    56,    -1,    58,    59,    -1,
++      61,    62,    -1,    64,    65,    66,    67,    68,    69,    70,
++      -1,    72,    73,    74,    75,    76,    77,    78,    79,    -1,
++      81,    82,    83,    84,    85,    86,    87,    88,    -1,    90,
++      91,    -1,    93,    94,    95,    96,    97,    -1,    99,    -1,
++      -1,   102,    -1,    -1,   105,    -1,    -1,    -1,   109,    -1,
++      -1,    -1,   113,   114,   115,    -1,    -1,   118,    -1,    -1,
++      -1,    -1,   123,   124,    -1,    -1,    -1,   128,   129,    -1,
++     131,    -1,    -1,    -1,   135,    -1,   137,   138,   139,   140,
++      -1,    -1,    -1,   144,    -1,    -1,   147,   148,   149,    -1,
++      -1,    -1,   153,    -1,   155,   156,    -1,   158,   159,   160,
++      -1,   162,   163,    -1,   165,   166,   167,   168,   169,   170,
++      -1,    -1,   173,   174,   175,    -1,    -1,   178,   179,    -1,
++     181,   182,   183,    -1,    -1,   186,    -1,    -1,    -1,   190,
++      -1,   192,    -1,   194,    -1,   196,   197,   198,   199,   200,
++     201,    -1,   203,    -1,    -1,   206,   207,   208,    -1,   210,
++      -1,    -1,    -1,   214,   215,    -1,    -1,    -1,   219,   220,
++     221,   222,    -1,    -1,   225,   226,   227,    -1,   229,    -1,
++     231,    -1,    -1,    -1,    -1,   236,   237,    -1,    -1,    -1,
++     241,    -1,   243,   244,    -1,   246,   247,    -1,    -1,    -1,
++     251,    -1,    -1,   254,   255,   256,    -1,    -1,   259,    -1,
++      -1,   262,   263,    -1,    -1,    -1,    -1,    -1,   269,   270,
++      -1,   272,    -1,   274,    -1,   276,   277,    -1,    -1,    -1,
++      -1,    -1,    -1,   284,   285,   286,   287,   288,   289,   290,
++     291,   292,   293,   294,   295,   296,    -1,   298,   299,   300,
++      -1,   302,   303,   304,   305,    -1,   307,   308,    -1,    -1,
++      -1,    -1,   313,   314,   315,   316,   317,   318,    -1,    -1,
++     321,   322,    -1,   324,    -1,   326,    -1,   328,   329,   330,
++     331,   332,   333,   334,   335,   336,   337,    -1,    -1,   340,
++     341,    -1,    -1,   344,   345,   346,   347,    -1,    -1,    -1,
++     351,   352,    -1,    -1,    -1,    -1,   357,   358,   359,    -1,
++     361,   362,   363,   364,    -1,   366,   367,    -1,    -1,    -1,
++      -1,    -1,    -1,    -1,    -1,   376,   377,   378,    -1,    -1,
++     381,    -1,   383,   384,   385,   386,   387,   388,   389,   390,
++     391,   392,   393,   394,    -1,    -1,   397,   398,   399,    -1,
++     401,    -1,   403,   404,   405,   406,   407,    -1,   409,   410,
++     411,    -1,    -1,   414,    -1,    -1,    -1,   418,   419,   420,
++     421,   422,    -1,    -1,   425,   426,   427,   428,   429,    -1,
++     431,   432,    -1,   434,   435,   436,    -1,    -1,   439,    -1,
++     441,    -1,   443,   444,    -1,   446,   447,    -1,    -1,    -1,
++     451,   452,   453,   454,   455,   456,   457,   458,   459,   460,
++      -1,   462,   463,    -1,    -1,    -1,   467,   468,   469,   470,
++      -1,    -1,    -1,   474,    -1,    -1,    -1,   478,    -1,   480,
++     481,   482,   483,    -1,   485,   486,   487,   488,   489,   490,
++      -1,    -1,    -1,    -1,    -1,    -1,   497,   498,    -1,   500,
++      -1,    -1,   503,    -1,    -1,   506,   507,   508,    -1,    -1,
++     511,   512,    -1,   514,   515,   516,   517,   518,   519,    -1,
++      -1,   522,   523,   524,   525,    -1,   527,   528,    -1,   530,
++      -1,   532,   533,   534,   535,    -1,    -1,   538,   539,    -1,
++     541,   542,   543,   544,    -1,    -1,    -1,    -1,    -1,   550,
++     551,   552,    -1,    -1,    -1,   556,   557,   558,   559,    -1,
++     561,   562,    -1,   564,   565,    -1,   567,   568,    -1,    -1,
++     571,    -1,    -1,   574,    -1,   576,    -1,   578,   579,   580,
++      -1,    -1,    -1,    -1,    -1,    -1,   587,    -1,    -1,   590,
++      -1,    -1,    -1,   594,   595,   596,   597,   598,   599,    -1,
++      -1,    -1,    -1,    -1,    -1,   606,   607,    -1,   609,   610,
++     611,    -1,     5,   614,     7,     8,     9,    10,    11,    12,
++      -1,    14,    -1,    -1,    -1,    18,    -1,    -1,    21,    -1,
++      23,    24,    25,    26,    27,    28,    29,    -1,    31,    -1,
++      -1,    -1,    35,    -1,    -1,    -1,    39,    -1,    -1,    42,
++      43,    44,    -1,    46,    -1,    48,    49,    -1,    -1,    52,
++      -1,    -1,    55,    56,    -1,    58,    59,    -1,    61,    62,
++      -1,    64,    65,    66,    67,    68,    69,    70,    -1,    72,
++      73,    74,    75,    76,    77,    78,    79,    -1,    81,    82,
++      83,    84,    85,    86,    87,    88,    -1,    90,    91,    -1,
++      93,    94,    95,    96,    97,    -1,    99,    -1,    -1,   102,
++      -1,    -1,   105,    -1,    -1,    -1,   109,    -1,    -1,    -1,
++     113,   114,   115,    -1,    -1,   118,    -1,    -1,    -1,    -1,
++     123,   124,    -1,    -1,    -1,    -1,   129,    -1,   131,    -1,
++      -1,    -1,   135,    -1,   137,   138,   139,   140,    -1,    -1,
++      -1,   144,    -1,    -1,   147,   148,   149,    -1,    -1,    -1,
++     153,    -1,   155,   156,    -1,   158,   159,   160,    -1,   162,
++     163,    -1,   165,   166,   167,   168,   169,   170,    -1,    -1,
++     173,   174,   175,    -1,    -1,   178,   179,    -1,   181,   182,
++     183,    -1,    -1,   186,    -1,    -1,    -1,   190,    -1,   192,
++      -1,   194,    -1,   196,   197,   198,   199,   200,   201,    -1,
++     203,    -1,    -1,   206,   207,   208,    -1,   210,    -1,    -1,
++      -1,   214,   215,    -1,    -1,    -1,   219,   220,   221,   222,
++      -1,    -1,   225,   226,   227,    -1,   229,    -1,   231,    -1,
++      -1,    -1,    -1,   236,   237,    -1,    -1,    -1,   241,    -1,
++     243,   244,    -1,   246,   247,    -1,    -1,    -1,   251,    -1,
++      -1,   254,   255,   256,    -1,    -1,   259,    -1,    -1,   262,
++     263,    -1,    -1,    -1,    -1,    -1,   269,   270,    -1,   272,
++      -1,   274,    -1,   276,   277,    -1,    -1,    -1,    -1,    -1,
++      -1,   284,   285,   286,   287,   288,   289,   290,   291,   292,
++     293,   294,   295,   296,    -1,   298,   299,   300,    -1,   302,
++     303,   304,   305,    -1,   307,   308,    -1,    -1,    -1,    -1,
++     313,   314,   315,   316,   317,   318,    -1,    -1,   321,   322,
++      -1,   324,    -1,   326,    -1,   328,   329,   330,   331,   332,
++     333,   334,   335,   336,   337,    -1,    -1,   340,   341,    -1,
++      -1,   344,   345,   346,   347,    -1,    -1,    -1,   351,   352,
++      -1,    -1,    -1,    -1,   357,   358,   359,    -1,   361,   362,
++     363,   364,    -1,   366,   367,    -1,    -1,    -1,    -1,    -1,
++      -1,    -1,    -1,   376,   377,   378,    -1,    -1,   381,    -1,
++     383,   384,   385,   386,   387,   388,   389,   390,   391,   392,
++     393,   394,    -1,    -1,   397,   398,   399,    -1,   401,    -1,
++     403,   404,   405,   406,   407,    -1,   409,   410,   411,    -1,
++      -1,   414,    -1,    -1,    -1,   418,   419,   420,   421,   422,
++      -1,    -1,   425,   426,   427,   428,   429,    -1,   431,   432,
++      -1,   434,   435,   436,    -1,    -1,   439,    -1,   441,    -1,
++     443,   444,    -1,   446,   447,    -1,    -1,    -1,   451,   452,
++     453,   454,   455,   456,   457,   458,   459,   460,    -1,   462,
++     463,    -1,    -1,    -1,   467,   468,   469,   470,    -1,    -1,
++      -1,   474,    -1,    -1,    -1,   478,    -1,   480,   481,   482,
++     483,    -1,   485,   486,   487,   488,   489,   490,    -1,    -1,
++      -1,    -1,    -1,    -1,   497,   498,    -1,   500,    -1,    -1,
++     503,    -1,    -1,   506,   507,   508,    -1,    -1,   511,   512,
++      -1,   514,   515,   516,   517,   518,   519,    -1,    -1,   522,
++     523,   524,   525,    -1,   527,   528,    -1,   530,    -1,   532,
++     533,   534,   535,    -1,    -1,   538,   539,    -1,   541,   542,
++     543,   544,    -1,    -1,    -1,    -1,    -1,   550,   551,   552,
++      -1,    -1,    -1,   556,   557,   558,   559,    -1,   561,   562,
++      -1,   564,   565,    -1,   567,   568,    -1,    -1,   571,    -1,
++      -1,   574,    -1,   576,    -1,   578,   579,   580,    -1,    -1,
++      -1,    -1,    -1,    -1,   587,    -1,    -1,   590,    -1,    -1,
++      -1,   594,   595,   596,   597,   598,   599,    -1,    -1,    -1,
++      -1,    -1,    -1,   606,   607,    -1,   609,   610,   611,    -1,
++       5,   614,     7,     8,     9,    10,    11,    -1,    -1,    14,
++      -1,    -1,    -1,    18,    -1,    -1,    21,    -1,    23,    24,
++      25,    26,    27,    28,    29,    -1,    31,    -1,    -1,    -1,
++      35,    -1,    -1,    -1,    39,    -1,    -1,    42,    43,    44,
++      -1,    46,    -1,    48,    49,    -1,    -1,    52,    -1,    -1,
++      55,    56,    -1,    58,    59,    -1,    61,    62,    -1,    64,
++      65,    66,    67,    68,    69,    70,    -1,    72,    73,    74,
++      75,    76,    77,    78,    79,    -1,    81,    82,    83,    84,
++      85,    86,    87,    88,    -1,    90,    91,    -1,    93,    94,
++      95,    96,    97,    -1,    99,    -1,    -1,   102,    -1,    -1,
++     105,    -1,    -1,    -1,   109,    -1,    -1,    -1,   113,   114,
++     115,    -1,    -1,   118,    -1,    -1,    -1,    -1,   123,   124,
++      -1,    -1,    -1,    -1,   129,    -1,   131,    -1,    -1,    -1,
++     135,    -1,   137,   138,   139,   140,    -1,    -1,    -1,   144,
++      -1,    -1,   147,   148,   149,    -1,    -1,    -1,   153,    -1,
++     155,   156,    -1,   158,   159,   160,    -1,   162,   163,    -1,
++     165,   166,   167,   168,   169,   170,    -1,    -1,   173,   174,
++     175,    -1,    -1,   178,   179,    -1,   181,   182,   183,    -1,
++      -1,   186,    -1,    -1,    -1,   190,    -1,   192,    -1,   194,
++      -1,   196,   197,   198,   199,   200,   201,    -1,   203,    -1,
++      -1,   206,   207,   208,    -1,   210,    -1,    -1,    -1,   214,
++     215,    -1,    -1,    -1,   219,   220,   221,   222,    -1,    -1,
++     225,   226,   227,    -1,   229,    -1,   231,    -1,    -1,    -1,
++      -1,   236,   237,    -1,    -1,    -1,   241,    -1,   243,   244,
++      -1,   246,   247,    -1,    -1,    -1,   251,    -1,    -1,   254,
++     255,   256,    -1,    -1,   259,    -1,    -1,   262,   263,    -1,
++      -1,    -1,    -1,    -1,   269,   270,    -1,   272,    -1,   274,
++      -1,   276,   277,    -1,    -1,    -1,    -1,    -1,    -1,   284,
++     285,   286,   287,   288,   289,   290,   291,   292,   293,   294,
++     295,   296,    -1,   298,   299,   300,    -1,   302,   303,   304,
++     305,    -1,   307,   308,    -1,    -1,    -1,    -1,   313,   314,
++     315,   316,   317,   318,    -1,    -1,   321,   322,    -1,   324,
++      -1,   326,    -1,   328,   329,   330,   331,   332,   333,   334,
++     335,   336,   337,    -1,    -1,   340,   341,    -1,    -1,   344,
++     345,   346,   347,    -1,    -1,    -1,   351,   352,    -1,    -1,
++      -1,    -1,   357,   358,   359,    -1,   361,   362,   363,   364,
++      -1,   366,   367,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
++      -1,   376,   377,   378,    -1,    -1,   381,    -1,   383,   384,
++     385,   386,   387,   388,   389,   390,   391,   392,   393,   394,
++      -1,    -1,   397,   398,   399,   400,   401,    -1,   403,   404,
++     405,   406,   407,    -1,   409,   410,   411,    -1,    -1,   414,
++      -1,    -1,    -1,   418,   419,   420,   421,   422,    -1,    -1,
++     425,   426,   427,   428,   429,    -1,   431,   432,    -1,   434,
++     435,   436,    -1,    -1,   439,    -1,   441,    -1,   443,   444,
++      -1,   446,   447,    -1,    -1,    -1,   451,   452,   453,   454,
++     455,   456,   457,   458,   459,   460,    -1,   462,   463,    -1,
++      -1,    -1,   467,   468,   469,   470,    -1,    -1,    -1,   474,
++      -1,    -1,    -1,   478,    -1,   480,   481,   482,   483,    -1,
++     485,   486,   487,   488,   489,   490,    -1,    -1,    -1,    -1,
++      -1,    -1,   497,   498,    -1,   500,    -1,    -1,   503,    -1,
++      -1,   506,   507,   508,    -1,    -1,   511,   512,    -1,   514,
++     515,   516,   517,   518,   519,    -1,    -1,   522,   523,   524,
++     525,    -1,   527,   528,    -1,   530,    -1,   532,   533,   534,
++     535,    -1,    -1,   538,   539,    -1,   541,   542,   543,   544,
++      -1,    -1,    -1,    -1,    -1,   550,   551,   552,    -1,    -1,
++      -1,   556,   557,   558,   559,    -1,   561,   562,    -1,   564,
++     565,    -1,   567,   568,    -1,    -1,   571,    -1,    -1,   574,
++      -1,   576,    -1,   578,   579,   580,    -1,    -1,    -1,    -1,
++      -1,    -1,   587,    -1,    -1,   590,    -1,    -1,    -1,   594,
++     595,   596,   597,   598,   599,    -1,    -1,    -1,    -1,    -1,
++      -1,   606,   607,    -1,   609,   610,   611,    -1,     5,   614,
++       7,     8,     9,    10,    11,    -1,    -1,    14,    -1,    -1,
++      -1,    18,    -1,    -1,    21,    -1,    23,    24,    25,    26,
++      27,    28,    29,    -1,    31,    -1,    -1,    -1,    35,    -1,
++      -1,    -1,    39,    -1,    -1,    42,    43,    44,    -1,    46,
++      -1,    48,    49,    -1,    -1,    52,    -1,    -1,    55,    56,
++      -1,    58,    59,    -1,    61,    62,    -1,    64,    65,    66,
++      67,    68,    69,    70,    -1,    72,    73,    74,    75,    76,
++      77,    78,    79,    -1,    81,    82,    83,    84,    85,    86,
++      87,    88,    -1,    90,    91,    -1,    93,    94,    95,    96,
++      97,    -1,    99,    -1,    -1,   102,    -1,    -1,   105,    -1,
++      -1,    -1,   109,    -1,    -1,    -1,   113,   114,   115,    -1,
++      -1,   118,    -1,    -1,    -1,    -1,   123,   124,    -1,    -1,
++      -1,    -1,   129,    -1,   131,    -1,    -1,    -1,   135,    -1,
++     137,   138,   139,   140,    -1,    -1,    -1,   144,    -1,    -1,
++     147,   148,   149,    -1,    -1,    -1,   153,    -1,   155,   156,
++      -1,   158,   159,   160,    -1,   162,   163,    -1,   165,   166,
++     167,   168,   169,   170,    -1,    -1,   173,   174,   175,    -1,
++      -1,   178,   179,    -1,   181,   182,   183,    -1,    -1,   186,
++      -1,    -1,    -1,   190,    -1,   192,    -1,   194,    -1,   196,
++     197,   198,   199,   200,   201,    -1,   203,    -1,    -1,   206,
++     207,   208,    -1,   210,    -1,    -1,    -1,   214,   215,    -1,
++      -1,    -1,   219,   220,   221,   222,    -1,    -1,   225,   226,
++     227,    -1,   229,    -1,   231,    -1,    -1,    -1,    -1,   236,
++     237,    -1,    -1,    -1,   241,    -1,   243,   244,    -1,   246,
++     247,    -1,    -1,    -1,   251,    -1,    -1,   254,   255,   256,
++      -1,    -1,   259,    -1,    -1,   262,   263,    -1,    -1,    -1,
++      -1,    -1,   269,   270,    -1,   272,    -1,   274,    -1,   276,
++     277,    -1,    -1,    -1,    -1,    -1,    -1,   284,   285,   286,
++     287,   288,   289,   290,   291,   292,   293,   294,   295,   296,
++      -1,   298,   299,   300,    -1,   302,   303,   304,   305,    -1,
++     307,   308,    -1,    -1,    -1,    -1,   313,   314,   315,   316,
++     317,   318,    -1,    -1,   321,   322,    -1,   324,    -1,   326,
++      -1,   328,   329,   330,   331,   332,   333,   334,   335,   336,
++     337,    -1,    -1,   340,   341,    -1,    -1,   344,   345,   346,
++     347,    -1,    -1,    -1,   351,   352,    -1,    -1,    -1,    -1,
++     357,   358,   359,    -1,   361,   362,   363,   364,    -1,   366,
++     367,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   376,
++     377,   378,    -1,    -1,   381,    -1,   383,   384,   385,   386,
++     387,   388,   389,   390,   391,   392,   393,   394,    -1,    -1,
++     397,   398,   399,    -1,   401,    -1,   403,   404,   405,   406,
++     407,    -1,   409,   410,   411,    -1,    -1,   414,    -1,    -1,
++      -1,   418,   419,   420,   421,   422,    -1,    -1,   425,   426,
++     427,   428,   429,    -1,   431,   432,    -1,   434,   435,   436,
++      -1,    -1,   439,    -1,   441,    -1,   443,   444,    -1,   446,
++     447,    -1,    -1,    -1,   451,   452,   453,   454,   455,   456,
++     457,   458,   459,   460,    -1,   462,   463,    -1,    -1,    -1,
++     467,   468,   469,   470,    -1,    -1,    -1,   474,    -1,    -1,
++      -1,   478,    -1,   480,   481,   482,   483,    -1,   485,   486,
++     487,   488,   489,   490,    -1,    -1,    -1,    -1,    -1,    -1,
++     497,   498,    -1,   500,    -1,    -1,   503,    -1,    -1,   506,
++     507,   508,    -1,    -1,   511,   512,    -1,   514,   515,   516,
++     517,   518,   519,    -1,    -1,   522,   523,   524,   525,    -1,
++     527,   528,    -1,   530,    -1,   532,   533,   534,   535,    -1,
++     537,   538,   539,    -1,   541,   542,   543,   544,    -1,    -1,
++      -1,    -1,    -1,   550,   551,   552,    -1,    -1,    -1,   556,
++     557,   558,   559,    -1,   561,   562,    -1,   564,   565,    -1,
++     567,   568,    -1,    -1,   571,    -1,    -1,   574,    -1,   576,
++      -1,   578,   579,   580,    -1,    -1,    -1,    -1,    -1,    -1,
++     587,    -1,    -1,   590,    -1,    -1,    -1,   594,   595,   596,
++     597,   598,   599,    -1,    -1,    -1,    -1,    -1,    -1,   606,
++     607,    -1,   609,   610,   611,    -1,     5,   614,     7,     8,
++       9,    10,    11,    -1,    -1,    14,    -1,    -1,    -1,    18,
++      -1,    -1,    21,    -1,    23,    24,    25,    26,    27,    28,
++      29,    -1,    31,    -1,    -1,    -1,    35,    -1,    -1,    -1,
++      39,    -1,    -1,    42,    43,    44,    -1,    46,    -1,    48,
++      49,    -1,    -1,    52,    -1,    -1,    55,    56,    -1,    58,
++      59,    -1,    61,    62,    -1,    64,    65,    66,    67,    68,
++      69,    70,    -1,    72,    73,    74,    75,    76,    77,    78,
++      79,    -1,    81,    82,    83,    84,    85,    86,    87,    88,
++      -1,    90,    91,    -1,    93,    94,    95,    96,    97,    -1,
++      99,    -1,    -1,   102,    -1,    -1,   105,    -1,    -1,    -1,
++     109,    -1,    -1,    -1,   113,   114,   115,    -1,    -1,   118,
++      -1,    -1,    -1,    -1,   123,   124,    -1,    -1,    -1,   128,
++     129,    -1,   131,    -1,    -1,    -1,   135,    -1,   137,   138,
++     139,   140,    -1,    -1,    -1,   144,    -1,    -1,   147,   148,
++     149,    -1,    -1,    -1,   153,    -1,   155,   156,    -1,   158,
++     159,   160,    -1,   162,   163,    -1,   165,   166,   167,   168,
++     169,   170,    -1,    -1,   173,   174,   175,    -1,    -1,   178,
++     179,    -1,   181,   182,   183,    -1,    -1,   186,    -1,    -1,
++      -1,   190,    -1,   192,    -1,   194,    -1,   196,   197,   198,
++     199,   200,   201,    -1,   203,    -1,    -1,   206,   207,   208,
++      -1,   210,    -1,    -1,    -1,   214,   215,    -1,    -1,    -1,
++     219,   220,   221,   222,    -1,    -1,   225,   226,   227,    -1,
++     229,    -1,   231,    -1,    -1,    -1,    -1,   236,   237,    -1,
++      -1,    -1,   241,    -1,   243,   244,    -1,   246,   247,    -1,
++      -1,    -1,   251,    -1,    -1,   254,   255,   256,    -1,    -1,
++     259,    -1,    -1,   262,   263,    -1,    -1,    -1,    -1,    -1,
++     269,   270,    -1,   272,    -1,   274,    -1,   276,   277,    -1,
++      -1,    -1,    -1,    -1,    -1,   284,   285,   286,   287,   288,
++     289,   290,   291,   292,   293,   294,   295,   296,    -1,   298,
++     299,   300,    -1,   302,   303,   304,   305,    -1,   307,   308,
++      -1,    -1,    -1,    -1,   313,   314,   315,   316,   317,   318,
++      -1,    -1,   321,   322,    -1,   324,    -1,   326,    -1,   328,
++     329,   330,   331,   332,   333,   334,   335,   336,   337,    -1,
++      -1,   340,   341,    -1,    -1,   344,   345,   346,   347,    -1,
++      -1,    -1,   351,   352,    -1,    -1,    -1,    -1,   357,   358,
++     359,    -1,   361,   362,   363,   364,    -1,   366,   367,    -1,
++      -1,    -1,    -1,    -1,    -1,    -1,    -1,   376,   377,   378,
++      -1,    -1,   381,    -1,   383,   384,   385,   386,   387,   388,
++     389,   390,   391,   392,   393,   394,    -1,    -1,   397,   398,
++     399,    -1,   401,    -1,   403,   404,   405,   406,   407,    -1,
++     409,   410,   411,    -1,    -1,   414,    -1,    -1,    -1,   418,
++     419,   420,   421,   422,    -1,    -1,   425,   426,   427,   428,
++     429,    -1,   431,   432,    -1,   434,   435,   436,    -1,    -1,
++     439,    -1,   441,    -1,   443,   444,    -1,   446,   447,    -1,
++      -1,    -1,   451,   452,   453,   454,   455,   456,   457,   458,
++     459,   460,    -1,   462,   463,    -1,    -1,    -1,   467,   468,
++     469,   470,    -1,    -1,    -1,   474,    -1,    -1,    -1,   478,
++      -1,   480,   481,   482,   483,    -1,   485,   486,   487,   488,
++     489,   490,    -1,    -1,    -1,    -1,    -1,    -1,   497,   498,
++      -1,   500,    -1,    -1,   503,    -1,    -1,   506,   507,   508,
++      -1,    -1,   511,   512,    -1,   514,   515,   516,   517,   518,
++     519,    -1,    -1,   522,   523,   524,   525,    -1,   527,   528,
++      -1,   530,    -1,   532,   533,   534,   535,    -1,    -1,   538,
++     539,    -1,   541,   542,   543,   544,    -1,    -1,    -1,    -1,
++      -1,   550,   551,   552,    -1,    -1,    -1,   556,   557,   558,
++     559,    -1,   561,   562,    -1,   564,   565,    -1,   567,   568,
++      -1,    -1,   571,    -1,    -1,   574,    -1,   576,    -1,   578,
++     579,   580,    -1,    -1,    -1,    -1,    -1,    -1,   587,    -1,
++      -1,   590,    -1,    -1,    -1,   594,   595,   596,   597,   598,
++     599,    -1,    -1,    -1,    -1,    -1,    -1,   606,   607,    -1,
++     609,   610,   611,    -1,     5,   614,     7,     8,     9,    10,
++      11,    -1,    -1,    14,    -1,    -1,    -1,    18,    -1,    -1,
++      21,    -1,    23,    24,    25,    26,    27,    28,    29,    -1,
++      31,    -1,    -1,    -1,    35,    -1,    -1,    -1,    39,    -1,
++      -1,    42,    43,    44,    -1,    46,    -1,    48,    49,    -1,
++      -1,    52,    -1,    -1,    55,    56,    -1,    58,    59,    -1,
++      61,    62,    -1,    64,    65,    66,    67,    68,    69,    70,
++      -1,    72,    73,    74,    75,    76,    77,    78,    79,    -1,
++      81,    82,    83,    84,    85,    86,    87,    88,    -1,    90,
++      91,    -1,    93,    94,    95,    96,    97,    -1,    99,    -1,
++      -1,   102,    -1,    -1,   105,    -1,    -1,    -1,   109,    -1,
++      -1,    -1,   113,   114,   115,    -1,    -1,   118,    -1,    -1,
++      -1,    -1,   123,   124,    -1,    -1,    -1,    -1,   129,    -1,
++     131,    -1,    -1,    -1,   135,    -1,   137,   138,   139,   140,
++      -1,    -1,    -1,   144,    -1,    -1,   147,   148,   149,    -1,
++      -1,    -1,   153,    -1,   155,   156,    -1,   158,   159,   160,
++      -1,   162,   163,    -1,   165,   166,   167,   168,   169,   170,
++      -1,    -1,   173,   174,   175,    -1,    -1,   178,   179,    -1,
++     181,   182,   183,    -1,    -1,   186,    -1,    -1,    -1,   190,
++      -1,   192,    -1,   194,    -1,   196,   197,   198,   199,   200,
++     201,    -1,   203,    -1,    -1,   206,   207,   208,    -1,   210,
++      -1,    -1,    -1,   214,   215,    -1,    -1,    -1,   219,   220,
++     221,   222,    -1,    -1,   225,   226,   227,    -1,   229,    -1,
++     231,    -1,    -1,    -1,    -1,   236,   237,    -1,    -1,    -1,
++     241,    -1,   243,   244,    -1,   246,   247,    -1,    -1,    -1,
++     251,    -1,    -1,   254,   255,   256,    -1,    -1,   259,    -1,
++      -1,   262,   263,    -1,    -1,    -1,    -1,    -1,   269,   270,
++      -1,   272,    -1,   274,    -1,   276,   277,    -1,    -1,    -1,
++      -1,    -1,    -1,   284,   285,   286,   287,   288,   289,   290,
++     291,   292,   293,   294,   295,   296,    -1,   298,   299,   300,
++      -1,   302,   303,   304,   305,    -1,   307,   308,    -1,    -1,
++      -1,    -1,   313,   314,   315,   316,   317,   318,    -1,    -1,
++     321,   322,    -1,   324,    -1,   326,    -1,   328,   329,   330,
++     331,   332,   333,   334,   335,   336,   337,    -1,    -1,   340,
++     341,    -1,    -1,   344,   345,   346,   347,    -1,    -1,    -1,
++     351,   352,    -1,    -1,    -1,    -1,   357,   358,   359,    -1,
++     361,   362,   363,   364,    -1,   366,   367,    -1,    -1,    -1,
++      -1,    -1,    -1,    -1,    -1,   376,   377,   378,    -1,    -1,
++     381,    -1,   383,   384,   385,   386,   387,   388,   389,   390,
++     391,   392,   393,   394,    -1,    -1,   397,   398,   399,    -1,
++     401,    -1,   403,   404,   405,   406,   407,    -1,   409,   410,
++     411,    -1,    -1,   414,    -1,    -1,    -1,   418,   419,   420,
++     421,   422,    -1,    -1,   425,   426,   427,   428,   429,    -1,
++     431,   432,    -1,   434,   435,   436,    -1,    -1,   439,    -1,
++     441,    -1,   443,   444,    -1,   446,   447,    -1,    -1,    -1,
++     451,   452,   453,   454,   455,   456,   457,   458,   459,   460,
++      -1,   462,   463,    -1,    -1,    -1,   467,   468,   469,   470,
++      -1,    -1,    -1,   474,    -1,    -1,    -1,   478,    -1,   480,
++     481,   482,   483,    -1,   485,   486,   487,   488,   489,   490,
++      -1,    -1,    -1,    -1,    -1,    -1,   497,   498,    -1,   500,
++      -1,    -1,   503,    -1,    -1,   506,   507,   508,    -1,    -1,
++     511,   512,    -1,   514,   515,   516,   517,   518,   519,    -1,
++      -1,   522,   523,   524,   525,    -1,   527,   528,    -1,   530,
++      -1,   532,   533,   534,   535,    -1,    -1,   538,   539,    -1,
++     541,   542,   543,   544,    -1,    -1,    -1,    -1,    -1,   550,
++     551,   552,    -1,    -1,    -1,   556,   557,   558,   559,    -1,
++     561,   562,    -1,   564,   565,    -1,   567,   568,    -1,    -1,
++     571,    -1,    -1,   574,    -1,   576,    -1,   578,   579,   580,
++      -1,    -1,    -1,    -1,    -1,    -1,   587,    -1,    -1,   590,
++      -1,    -1,    -1,   594,   595,   596,   597,   598,   599,    -1,
++      -1,    -1,    -1,    -1,    -1,   606,   607,    -1,   609,   610,
++     611,    -1,     5,   614,     7,     8,     9,    10,    11,    -1,
++      -1,    14,    -1,    -1,    -1,    18,    -1,    -1,    21,    -1,
++      23,    24,    25,    26,    27,    28,    29,    -1,    31,    -1,
++      -1,    -1,    35,    -1,    -1,    -1,    39,    -1,    -1,    42,
++      43,    44,    -1,    46,    -1,    48,    49,    -1,    -1,    52,
++      -1,    -1,    55,    56,    -1,    58,    59,    -1,    61,    62,
++      -1,    64,    65,    66,    67,    68,    69,    70,    -1,    72,
++      73,    74,    75,    76,    77,    78,    79,    -1,    81,    82,
++      83,    84,    85,    86,    87,    88,    -1,    90,    91,    -1,
++      93,    94,    95,    96,    97,    -1,    99,    -1,    -1,   102,
++      -1,    -1,   105,    -1,    -1,    -1,   109,    -1,    -1,    -1,
++     113,   114,   115,    -1,    -1,   118,    -1,    -1,    -1,    -1,
++     123,   124,    -1,    -1,    -1,    -1,   129,    -1,   131,    -1,
++      -1,    -1,   135,    -1,   137,   138,   139,   140,    -1,    -1,
++      -1,   144,    -1,    -1,   147,   148,   149,    -1,    -1,    -1,
++     153,    -1,   155,   156,    -1,   158,   159,   160,    -1,   162,
++     163,    -1,   165,   166,   167,   168,   169,   170,    -1,    -1,
++     173,   174,   175,    -1,    -1,   178,   179,    -1,   181,   182,
++     183,    -1,    -1,   186,    -1,    -1,    -1,   190,    -1,   192,
++      -1,   194,    -1,   196,   197,   198,   199,   200,   201,    -1,
++     203,    -1,    -1,   206,   207,   208,    -1,   210,    -1,    -1,
++      -1,   214,   215,    -1,    -1,    -1,   219,   220,   221,   222,
++      -1,    -1,   225,   226,   227,    -1,   229,    -1,   231,    -1,
++      -1,    -1,    -1,   236,   237,    -1,    -1,    -1,   241,    -1,
++     243,   244,    -1,   246,   247,    -1,    -1,    -1,   251,    -1,
++      -1,   254,   255,   256,    -1,    -1,   259,    -1,    -1,   262,
++     263,    -1,    -1,    -1,    -1,    -1,   269,   270,    -1,   272,
++      -1,   274,    -1,   276,   277,    -1,    -1,    -1,    -1,    -1,
++      -1,   284,   285,   286,   287,   288,   289,   290,   291,   292,
++     293,   294,   295,   296,    -1,   298,   299,   300,    -1,   302,
++     303,   304,   305,    -1,   307,   308,    -1,    -1,    -1,    -1,
++     313,   314,   315,   316,   317,   318,    -1,    -1,   321,   322,
++      -1,   324,    -1,   326,    -1,   328,   329,   330,   331,   332,
++     333,   334,   335,   336,   337,    -1,    -1,   340,   341,    -1,
++      -1,   344,   345,   346,   347,    -1,    -1,    -1,   351,   352,
++      -1,    -1,    -1,    -1,   357,   358,   359,    -1,   361,   362,
++     363,   364,    -1,   366,   367,    -1,    -1,    -1,    -1,    -1,
++      -1,    -1,    -1,   376,   377,   378,    -1,    -1,   381,    -1,
++     383,   384,   385,   386,   387,   388,   389,   390,   391,   392,
++     393,   394,    -1,    -1,   397,   398,   399,    -1,   401,    -1,
++     403,   404,   405,   406,   407,    -1,   409,   410,   411,    -1,
++      -1,   414,    -1,    -1,    -1,   418,   419,   420,   421,   422,
++      -1,    -1,   425,   426,   427,   428,   429,    -1,   431,   432,
++      -1,   434,   435,   436,    -1,    -1,   439,    -1,   441,    -1,
++     443,   444,    -1,   446,   447,    -1,    -1,    -1,   451,   452,
++     453,   454,   455,   456,   457,   458,   459,   460,    -1,   462,
++     463,    -1,    -1,    -1,   467,   468,   469,   470,    -1,    -1,
++      -1,   474,    -1,    -1,    -1,   478,    -1,   480,   481,   482,
++     483,    -1,   485,   486,   487,   488,   489,   490,    -1,    -1,
++      -1,    -1,    -1,    -1,   497,   498,    -1,   500,    -1,    -1,
++     503,    -1,    -1,   506,   507,   508,    -1,    -1,   511,   512,
++      -1,   514,   515,   516,   517,   518,   519,    -1,    -1,   522,
++     523,   524,   525,    -1,   527,   528,    -1,   530,    -1,   532,
++     533,   534,   535,    -1,    -1,   538,   539,    -1,   541,   542,
++     543,   544,    -1,    -1,    -1,    -1,    -1,   550,   551,   552,
++      -1,    -1,    -1,   556,   557,   558,   559,    -1,   561,   562,
++      -1,   564,   565,    -1,   567,   568,    -1,    -1,   571,    -1,
++      -1,   574,    -1,   576,    -1,   578,   579,   580,    -1,    -1,
++      -1,    -1,    -1,    -1,   587,    -1,    -1,   590,    -1,    -1,
++      -1,   594,   595,   596,   597,   598,   599,    -1,    -1,    -1,
++      -1,    -1,    -1,   606,   607,    -1,   609,   610,   611,    -1,
++       5,   614,     7,     8,     9,    10,    11,    -1,    -1,    14,
++      -1,    -1,    -1,    18,    -1,    -1,    -1,    -1,    23,    24,
++      25,    26,    27,    28,    -1,    -1,    31,    -1,    -1,    -1,
++      35,    -1,    -1,    -1,    39,    -1,    -1,    42,    43,    44,
++      -1,    46,    -1,    -1,    -1,    -1,    -1,    52,    53,    -1,
++      55,    56,    -1,    58,    -1,    -1,    -1,    -1,    -1,    64,
++      65,    66,    67,    68,    69,    70,    -1,    72,    73,    -1,
++      -1,    -1,    -1,    -1,    -1,    -1,    81,    -1,    83,    -1,
++      85,    86,    87,    88,    -1,    90,    91,    -1,    93,    94,
++      95,    -1,    97,    -1,    99,    -1,    -1,   102,    -1,    -1,
++     105,    -1,    -1,    -1,   109,    -1,    -1,    -1,   113,   114,
++     115,    -1,    -1,   118,    -1,    -1,    -1,    -1,   123,    -1,
++      -1,    -1,    -1,    -1,   129,    -1,   131,    -1,    -1,    -1,
++     135,    -1,   137,   138,   139,   140,    -1,    -1,    -1,    -1,
++      -1,    -1,   147,   148,   149,    -1,   151,   152,   153,    -1,
++     155,   156,    -1,   158,   159,   160,    -1,   162,   163,    -1,
++     165,   166,   167,   168,    -1,    -1,    -1,    -1,   173,   174,
++     175,    -1,    -1,   178,   179,   180,   181,   182,   183,    -1,
++      -1,    -1,    -1,    -1,    -1,   190,    -1,   192,    -1,   194,
++      -1,   196,   197,   198,   199,   200,   201,    -1,   203,    -1,
++      -1,    -1,   207,   208,    -1,    -1,    -1,    -1,    -1,    -1,
++     215,    -1,    -1,    -1,   219,   220,   221,   222,   223,    -1,
++     225,   226,   227,    -1,   229,    -1,   231,    -1,    -1,    -1,
++      -1,   236,    -1,    -1,    -1,    -1,   241,    -1,   243,   244,
++      -1,   246,   247,   248,    -1,    -1,   251,    -1,    -1,    -1,
++     255,   256,    -1,    -1,   259,   260,    -1,   262,   263,    -1,
++      -1,    -1,    -1,    -1,   269,   270,    -1,   272,    -1,   274,
++      -1,   276,   277,    -1,    -1,    -1,    -1,   282,    -1,   284,
++     285,   286,   287,   288,   289,   290,   291,   292,   293,   294,
++     295,   296,    -1,   298,   299,   300,    -1,   302,   303,   304,
++     305,    -1,   307,   308,    -1,    -1,    -1,    -1,   313,   314,
++     315,   316,   317,   318,    -1,    -1,   321,   322,    -1,   324,
++      -1,   326,    -1,   328,   329,   330,   331,   332,   333,   334,
++     335,   336,   337,    -1,    -1,   340,   341,    -1,    -1,   344,
++     345,   346,   347,    -1,    -1,    -1,    -1,   352,    -1,    -1,
++      -1,    -1,   357,   358,   359,    -1,   361,   362,   363,   364,
++      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
++      -1,    -1,   377,   378,    -1,    -1,    -1,    -1,   383,   384,
++     385,    -1,   387,   388,   389,   390,   391,   392,   393,    -1,
++      -1,    -1,    -1,   398,   399,    -1,   401,    -1,   403,   404,
++     405,   406,   407,    -1,   409,   410,   411,    -1,    -1,   414,
++      -1,    -1,    -1,   418,   419,   420,   421,   422,    -1,    -1,
++     425,   426,   427,   428,   429,    -1,   431,    -1,    -1,   434,
++      -1,   436,   437,    -1,   439,    -1,    -1,    -1,   443,    -1,
++      -1,   446,   447,   448,    -1,    -1,    -1,   452,   453,   454,
++     455,   456,   457,    -1,   459,   460,    -1,   462,    -1,    -1,
++      -1,    -1,   467,   468,   469,    -1,    -1,    -1,    -1,   474,
++      -1,    -1,    -1,   478,    -1,    -1,   481,    -1,   483,    -1,
++     485,    -1,   487,    -1,   489,   490,    -1,    -1,    -1,    -1,
++      -1,    -1,   497,   498,    -1,   500,    -1,    -1,   503,    -1,
++      -1,   506,    -1,   508,    -1,    -1,    -1,   512,    -1,   514,
++     515,   516,   517,   518,   519,    -1,    -1,   522,   523,   524,
++     525,    -1,   527,   528,    -1,   530,    -1,   532,   533,   534,
++     535,    -1,    -1,   538,   539,    -1,   541,   542,   543,   544,
++      -1,    -1,    -1,    -1,    -1,   550,   551,   552,    -1,    -1,
++      -1,    -1,   557,   558,   559,    -1,   561,   562,    -1,   564,
++     565,    -1,    -1,    -1,    -1,    -1,   571,    -1,    -1,   574,
++      -1,    -1,    -1,   578,   579,   580,    -1,    -1,    -1,    -1,
++      -1,    -1,   587,    -1,    -1,   590,    -1,    -1,    -1,   594,
++     595,   596,   597,   598,   599,    -1,    -1,   602,    -1,    -1,
++      -1,   606,    -1,    -1,   609,    -1,   611,    -1,     5,   614,
++       7,     8,     9,    10,    11,    -1,    -1,    14,    -1,    -1,
++      -1,    18,    -1,    -1,    -1,    -1,    23,    24,    25,    26,
++      27,    28,    -1,    -1,    31,    -1,    -1,    -1,    35,    -1,
++      -1,    -1,    39,    -1,    -1,    42,    43,    44,    -1,    46,
++      -1,    -1,    -1,    -1,    -1,    52,    53,    -1,    55,    56,
++      -1,    58,    -1,    -1,    -1,    -1,    -1,    64,    65,    66,
++      67,    68,    69,    70,    -1,    72,    73,    -1,    -1,    -1,
++      -1,    -1,    -1,    -1,    81,    -1,    83,    -1,    85,    86,
++      87,    88,    -1,    90,    91,    -1,    93,    94,    95,    -1,
++      97,    -1,    99,    -1,    -1,   102,    -1,    -1,   105,    -1,
++      -1,    -1,   109,    -1,    -1,    -1,   113,   114,   115,    -1,
++      -1,   118,    -1,    -1,    -1,    -1,   123,    -1,    -1,    -1,
++      -1,    -1,   129,    -1,   131,    -1,    -1,    -1,   135,    -1,
++     137,   138,   139,   140,    -1,    -1,    -1,    -1,    -1,    -1,
++     147,   148,   149,    -1,   151,    -1,   153,    -1,   155,   156,
++      -1,   158,   159,   160,    -1,   162,   163,    -1,   165,   166,
++     167,   168,    -1,    -1,    -1,    -1,   173,   174,   175,    -1,
++      -1,   178,   179,   180,   181,   182,   183,    -1,    -1,    -1,
++      -1,    -1,    -1,   190,    -1,   192,    -1,   194,    -1,   196,
++     197,   198,   199,   200,   201,    -1,   203,    -1,    -1,    -1,
++     207,   208,    -1,    -1,    -1,    -1,    -1,    -1,   215,    -1,
++      -1,    -1,   219,   220,   221,   222,   223,    -1,   225,   226,
++     227,    -1,   229,    -1,   231,    -1,    -1,    -1,    -1,   236,
++      -1,    -1,    -1,    -1,   241,    -1,   243,   244,    -1,   246,
++     247,   248,    -1,    -1,   251,    -1,    -1,    -1,   255,   256,
++      -1,    -1,   259,   260,    -1,   262,   263,    -1,    -1,    -1,
++      -1,    -1,   269,   270,    -1,   272,    -1,   274,    -1,   276,
++     277,    -1,    -1,    -1,    -1,   282,    -1,   284,   285,   286,
++     287,   288,   289,   290,   291,   292,   293,   294,   295,   296,
++      -1,   298,   299,   300,    -1,   302,   303,   304,   305,    -1,
++     307,   308,    -1,    -1,    -1,    -1,   313,   314,   315,   316,
++     317,   318,    -1,    -1,   321,   322,    -1,   324,    -1,   326,
++      -1,   328,   329,   330,   331,   332,   333,   334,   335,   336,
++     337,    -1,    -1,   340,   341,    -1,    -1,   344,   345,   346,
++     347,    -1,    -1,    -1,    -1,   352,    -1,    -1,    -1,    -1,
++     357,   358,   359,    -1,   361,   362,   363,   364,    -1,    -1,
++      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
++     377,   378,    -1,    -1,    -1,    -1,   383,   384,   385,    -1,
++     387,   388,   389,   390,   391,   392,   393,    -1,    -1,    -1,
++      -1,   398,   399,    -1,   401,    -1,   403,   404,   405,   406,
++     407,    -1,   409,   410,   411,    -1,    -1,   414,    -1,    -1,
++      -1,   418,   419,   420,   421,   422,    -1,    -1,   425,   426,
++     427,   428,   429,    -1,   431,    -1,    -1,   434,    -1,   436,
++     437,    -1,   439,    -1,    -1,    -1,   443,    -1,    -1,   446,
++     447,   448,    -1,    -1,    -1,   452,   453,   454,   455,   456,
++     457,    -1,   459,   460,    -1,   462,    -1,    -1,    -1,    -1,
++     467,   468,   469,    -1,    -1,    -1,    -1,   474,    -1,    -1,
++      -1,   478,    -1,    -1,   481,    -1,   483,    -1,   485,    -1,
++     487,    -1,   489,   490,    -1,    -1,    -1,    -1,    -1,    -1,
++     497,   498,    -1,   500,    -1,    -1,   503,    -1,    -1,   506,
++      -1,   508,    -1,    -1,    -1,   512,    -1,   514,   515,   516,
++     517,   518,   519,    -1,    -1,   522,   523,   524,   525,    -1,
++     527,   528,    -1,   530,    -1,   532,   533,   534,   535,    -1,
++      -1,   538,   539,    -1,   541,   542,   543,   544,    -1,    -1,
++      -1,    -1,    -1,   550,   551,   552,    -1,    -1,    -1,    -1,
++     557,   558,   559,    -1,   561,   562,    -1,   564,   565,    -1,
++      -1,    -1,    -1,    -1,   571,    -1,    -1,   574,    -1,    -1,
++      -1,   578,   579,   580,    -1,    -1,    -1,    -1,    -1,    -1,
++     587,    -1,    -1,   590,    -1,    -1,    -1,   594,   595,   596,
++     597,   598,   599,   600,    -1,   602,    -1,    -1,    -1,   606,
++      -1,    -1,   609,    -1,   611,    -1,     5,   614,     7,     8,
++       9,    10,    11,    -1,    -1,    14,    -1,    -1,    -1,    18,
++      -1,    -1,    -1,    -1,    23,    24,    25,    26,    27,    28,
++      -1,    -1,    31,    -1,    -1,    -1,    35,    -1,    -1,    -1,
++      39,    -1,    -1,    42,    43,    44,    -1,    46,    -1,    -1,
++      -1,    -1,    -1,    52,    53,    -1,    55,    56,    -1,    58,
++      -1,    -1,    -1,    -1,    -1,    64,    65,    66,    67,    68,
++      69,    70,    -1,    72,    73,    -1,    -1,    -1,    -1,    -1,
++      -1,    -1,    81,    -1,    83,    -1,    85,    86,    87,    88,
++      -1,    90,    91,    -1,    93,    94,    95,    -1,    97,    -1,
++      99,    -1,    -1,   102,    -1,    -1,   105,    -1,    -1,    -1,
++     109,    -1,    -1,    -1,   113,   114,   115,    -1,    -1,   118,
++      -1,    -1,    -1,    -1,   123,    -1,    -1,    -1,    -1,    -1,
++     129,    -1,   131,    -1,    -1,    -1,   135,    -1,   137,   138,
++     139,   140,    -1,    -1,    -1,    -1,    -1,    -1,   147,   148,
++     149,    -1,   151,    -1,   153,    -1,   155,   156,    -1,   158,
++     159,   160,    -1,   162,   163,    -1,   165,   166,   167,   168,
++      -1,    -1,    -1,    -1,   173,   174,   175,    -1,    -1,   178,
++     179,   180,   181,   182,   183,    -1,    -1,    -1,    -1,    -1,
++      -1,   190,    -1,   192,    -1,   194,    -1,   196,   197,   198,
++     199,   200,   201,    -1,   203,    -1,    -1,    -1,   207,   208,
++      -1,    -1,    -1,    -1,    -1,    -1,   215,    -1,    -1,    -1,
++     219,   220,   221,   222,   223,    -1,   225,   226,   227,    -1,
++     229,    -1,   231,    -1,    -1,    -1,    -1,   236,    -1,    -1,
++      -1,    -1,   241,    -1,   243,   244,    -1,   246,   247,   248,
++      -1,    -1,   251,    -1,    -1,    -1,   255,   256,    -1,    -1,
++     259,   260,    -1,   262,   263,    -1,    -1,    -1,    -1,    -1,
++     269,   270,    -1,   272,    -1,   274,    -1,   276,   277,    -1,
++      -1,    -1,    -1,   282,    -1,   284,   285,   286,   287,   288,
++     289,   290,   291,   292,   293,   294,   295,   296,    -1,   298,
++     299,   300,    -1,   302,   303,   304,   305,    -1,   307,   308,
++      -1,    -1,    -1,    -1,   313,   314,   315,   316,   317,   318,
++      -1,    -1,   321,   322,    -1,   324,    -1,   326,    -1,   328,
++     329,   330,   331,   332,   333,   334,   335,   336,   337,    -1,
++      -1,   340,   341,    -1,    -1,   344,   345,   346,   347,    -1,
++      -1,    -1,    -1,   352,    -1,    -1,    -1,    -1,   357,   358,
++     359,    -1,   361,   362,   363,   364,    -1,    -1,    -1,    -1,
++      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   377,   378,
++      -1,    -1,    -1,    -1,   383,   384,   385,    -1,   387,   388,
++     389,   390,   391,   392,   393,    -1,    -1,    -1,    -1,   398,
++     399,    -1,   401,    -1,   403,   404,   405,   406,   407,    -1,
++     409,   410,   411,    -1,    -1,   414,    -1,    -1,    -1,   418,
++     419,   420,   421,   422,    -1,    -1,   425,   426,   427,   428,
++     429,    -1,   431,    -1,    -1,   434,    -1,   436,   437,    -1,
++     439,    -1,    -1,    -1,   443,    -1,    -1,   446,   447,   448,
++      -1,    -1,    -1,   452,   453,   454,   455,   456,   457,    -1,
++     459,   460,    -1,   462,    -1,    -1,    -1,    -1,   467,   468,
++     469,    -1,    -1,    -1,    -1,   474,    -1,    -1,    -1,   478,
++      -1,    -1,   481,    -1,   483,    -1,   485,    -1,   487,    -1,
++     489,   490,    -1,    -1,    -1,    -1,    -1,    -1,   497,   498,
++      -1,   500,    -1,    -1,   503,    -1,    -1,   506,    -1,   508,
++      -1,    -1,    -1,   512,    -1,   514,   515,   516,   517,   518,
++     519,    -1,    -1,   522,   523,   524,   525,    -1,   527,   528,
++      -1,   530,    -1,   532,   533,   534,   535,    -1,    -1,   538,
++     539,    -1,   541,   542,   543,   544,    -1,    -1,    -1,    -1,
++      -1,   550,   551,   552,    -1,    -1,    -1,    -1,   557,   558,
++     559,    -1,   561,   562,    -1,   564,   565,    -1,    -1,    -1,
++      -1,    -1,   571,    -1,    -1,   574,    -1,    -1,    -1,   578,
++     579,   580,    -1,    -1,    -1,    -1,    -1,    -1,   587,    -1,
++      -1,   590,    -1,    -1,    -1,   594,   595,   596,   597,   598,
++     599,   600,    -1,   602,    -1,    -1,    -1,   606,    -1,    -1,
++     609,    -1,   611,    -1,     5,   614,     7,     8,     9,    10,
++      11,    -1,    -1,    14,    -1,    -1,    -1,    18,    -1,    -1,
++      -1,    -1,    23,    24,    25,    26,    27,    28,    -1,    -1,
++      31,    -1,    -1,    -1,    35,    -1,    -1,    -1,    39,    -1,
++      -1,    42,    43,    44,    -1,    46,    -1,    -1,    -1,    -1,
++      -1,    52,    53,    -1,    55,    56,    -1,    58,    -1,    -1,
++      -1,    -1,    -1,    64,    65,    66,    67,    68,    69,    70,
++      -1,    72,    73,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
++      81,    -1,    83,    -1,    85,    86,    87,    88,    -1,    90,
++      91,    -1,    93,    94,    95,    -1,    97,    -1,    99,    -1,
++      -1,   102,    -1,    -1,   105,    -1,    -1,    -1,   109,    -1,
++      -1,    -1,   113,   114,   115,    -1,    -1,   118,    -1,    -1,
++      -1,    -1,   123,    -1,    -1,    -1,    -1,    -1,   129,    -1,
++     131,    -1,    -1,    -1,   135,    -1,   137,   138,   139,   140,
++      -1,    -1,    -1,    -1,    -1,    -1,   147,   148,   149,    -1,
++      -1,    -1,   153,    -1,   155,   156,    -1,   158,   159,   160,
++      -1,   162,   163,    -1,   165,   166,   167,   168,    -1,    -1,
++      -1,    -1,   173,   174,   175,    -1,    -1,   178,   179,   180,
++     181,   182,   183,    -1,    -1,    -1,    -1,    -1,    -1,   190,
++      -1,   192,    -1,   194,    -1,   196,   197,   198,   199,   200,
++     201,    -1,   203,    -1,    -1,    -1,   207,   208,    -1,    -1,
++      -1,    -1,    -1,    -1,   215,    -1,    -1,    -1,   219,   220,
++     221,   222,   223,    -1,   225,   226,   227,    -1,   229,    -1,
++     231,    -1,    -1,    -1,    -1,   236,    -1,    -1,    -1,    -1,
++     241,    -1,   243,   244,    -1,   246,   247,   248,    -1,    -1,
++     251,    -1,    -1,    -1,   255,   256,    -1,    -1,   259,   260,
++      -1,   262,   263,    -1,    -1,    -1,    -1,    -1,   269,   270,
++      -1,   272,    -1,   274,    -1,   276,   277,    -1,    -1,    -1,
++      -1,   282,    -1,   284,   285,   286,   287,   288,   289,   290,
++     291,   292,   293,   294,   295,   296,    -1,   298,   299,   300,
++      -1,   302,   303,   304,   305,    -1,   307,   308,    -1,    -1,
++      -1,    -1,   313,   314,   315,   316,   317,   318,    -1,    -1,
++     321,   322,    -1,   324,    -1,   326,    -1,   328,   329,   330,
++     331,   332,   333,   334,   335,   336,   337,    -1,    -1,   340,
++     341,    -1,    -1,   344,   345,   346,   347,    -1,    -1,    -1,
++      -1,   352,    -1,    -1,    -1,    -1,   357,   358,   359,    -1,
++     361,   362,   363,   364,    -1,    -1,    -1,    -1,    -1,    -1,
++      -1,    -1,    -1,    -1,    -1,    -1,   377,   378,    -1,    -1,
++      -1,    -1,   383,   384,   385,    -1,   387,   388,   389,   390,
++     391,   392,   393,    -1,    -1,    -1,    -1,   398,   399,    -1,
++     401,    -1,   403,   404,   405,   406,   407,    -1,   409,   410,
++     411,    -1,    -1,   414,    -1,    -1,    -1,   418,   419,   420,
++     421,   422,    -1,    -1,   425,   426,   427,   428,   429,    -1,
++     431,    -1,    -1,   434,    -1,   436,   437,    -1,   439,    -1,
++      -1,    -1,   443,    -1,    -1,   446,   447,   448,    -1,    -1,
++      -1,   452,   453,   454,   455,   456,   457,    -1,   459,   460,
++      -1,   462,    -1,    -1,    -1,    -1,   467,   468,   469,    -1,
++      -1,    -1,    -1,   474,    -1,    -1,    -1,   478,    -1,    -1,
++     481,    -1,   483,    -1,   485,    -1,   487,    -1,   489,   490,
++      -1,    -1,    -1,    -1,    -1,    -1,   497,   498,    -1,   500,
++      -1,    -1,   503,    -1,    -1,   506,    -1,   508,    -1,    -1,
++      -1,   512,    -1,   514,   515,   516,   517,   518,   519,    -1,
++      -1,   522,   523,   524,   525,    -1,   527,   528,    -1,   530,
++      -1,   532,   533,   534,   535,    -1,    -1,   538,   539,    -1,
++     541,   542,   543,   544,    -1,    -1,    -1,    -1,    -1,   550,
++     551,   552,    -1,    -1,    -1,    -1,   557,   558,   559,    -1,
++     561,   562,    -1,   564,   565,    -1,    -1,    -1,    -1,    -1,
++     571,    -1,    -1,   574,    -1,    -1,    -1,   578,   579,   580,
++      -1,    -1,    -1,    -1,    -1,    -1,   587,    -1,    -1,   590,
++      -1,    -1,    -1,   594,   595,   596,   597,   598,   599,    -1,
++      -1,   602,    -1,    -1,    -1,   606,    -1,    -1,   609,    -1,
++     611,    -1,     5,   614,     7,     8,     9,    10,    11,    -1,
++      -1,    14,    -1,    -1,    -1,    18,    -1,    -1,    -1,    -1,
++      23,    24,    25,    26,    27,    28,    -1,    -1,    31,    -1,
++      -1,    -1,    35,    -1,    -1,    -1,    39,    -1,    -1,    42,
++      43,    44,    -1,    46,    -1,    -1,    -1,    -1,    -1,    52,
++      53,    -1,    55,    56,    -1,    58,    -1,    -1,    -1,    -1,
++      -1,    64,    65,    66,    67,    68,    69,    70,    -1,    72,
++      73,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    81,    -1,
++      83,    -1,    85,    86,    87,    88,    -1,    90,    91,    -1,
++      93,    94,    95,    -1,    97,    -1,    99,    -1,    -1,   102,
++      -1,    -1,   105,    -1,    -1,    -1,   109,    -1,    -1,    -1,
++     113,   114,   115,    -1,    -1,   118,    -1,    -1,    -1,    -1,
++     123,    -1,    -1,    -1,    -1,    -1,   129,    -1,   131,    -1,
++      -1,    -1,   135,    -1,   137,   138,   139,   140,    -1,    -1,
++      -1,    -1,    -1,    -1,   147,   148,   149,    -1,    -1,    -1,
++     153,    -1,   155,   156,    -1,   158,   159,   160,    -1,   162,
++     163,    -1,   165,   166,   167,   168,    -1,    -1,    -1,    -1,
++     173,   174,   175,    -1,    -1,   178,   179,   180,   181,   182,
++     183,    -1,    -1,    -1,    -1,    -1,    -1,   190,    -1,   192,
++      -1,   194,    -1,   196,   197,   198,   199,   200,   201,    -1,
++     203,    -1,    -1,    -1,   207,   208,    -1,    -1,    -1,    -1,
++      -1,    -1,   215,    -1,    -1,    -1,   219,   220,   221,   222,
++     223,    -1,   225,   226,   227,    -1,   229,    -1,   231,    -1,
++      -1,    -1,    -1,   236,    -1,    -1,    -1,    -1,   241,    -1,
++     243,   244,    -1,   246,   247,   248,    -1,    -1,   251,    -1,
++      -1,    -1,   255,   256,    -1,    -1,   259,   260,    -1,   262,
++     263,    -1,    -1,    -1,    -1,    -1,   269,   270,    -1,   272,
++      -1,   274,    -1,   276,   277,    -1,    -1,    -1,    -1,   282,
++      -1,   284,   285,   286,   287,   288,   289,   290,   291,   292,
++     293,   294,   295,   296,    -1,   298,   299,   300,    -1,   302,
++     303,   304,   305,    -1,   307,   308,    -1,    -1,    -1,    -1,
++     313,   314,   315,   316,   317,   318,    -1,    -1,   321,   322,
++      -1,   324,    -1,   326,    -1,   328,   329,   330,   331,   332,
++     333,   334,   335,   336,   337,    -1,    -1,   340,   341,    -1,
++      -1,   344,   345,   346,   347,    -1,    -1,    -1,    -1,   352,
++      -1,    -1,    -1,    -1,   357,   358,   359,    -1,   361,   362,
++     363,   364,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
++      -1,    -1,    -1,    -1,   377,   378,    -1,    -1,    -1,    -1,
++     383,   384,   385,    -1,   387,   388,   389,   390,   391,   392,
++     393,    -1,    -1,    -1,    -1,   398,   399,    -1,   401,    -1,
++     403,   404,   405,   406,   407,    -1,   409,   410,   411,    -1,
++      -1,   414,    -1,    -1,    -1,   418,   419,   420,   421,   422,
++      -1,    -1,   425,   426,   427,   428,   429,    -1,   431,    -1,
++      -1,   434,    -1,   436,   437,    -1,   439,    -1,    -1,    -1,
++     443,    -1,    -1,   446,   447,   448,    -1,    -1,    -1,   452,
++     453,   454,   455,   456,   457,    -1,   459,   460,    -1,   462,
++      -1,    -1,    -1,    -1,   467,   468,   469,    -1,    -1,    -1,
++      -1,   474,    -1,    -1,    -1,   478,    -1,    -1,   481,    -1,
++     483,    -1,   485,    -1,   487,    -1,   489,   490,    -1,    -1,
++      -1,    -1,    -1,    -1,   497,   498,    -1,   500,    -1,    -1,
++     503,    -1,    -1,   506,    -1,   508,    -1,    -1,    -1,   512,
++      -1,   514,   515,   516,   517,   518,   519,    -1,    -1,   522,
++     523,   524,   525,    -1,   527,   528,    -1,   530,    -1,   532,
++     533,   534,   535,    -1,    -1,   538,   539,    -1,   541,   542,
++     543,   544,    -1,    -1,    -1,    -1,    -1,   550,   551,   552,
++      -1,    -1,    -1,    -1,   557,   558,   559,    -1,   561,   562,
++      -1,   564,   565,    -1,    -1,    -1,    -1,    -1,   571,    -1,
++      -1,   574,    -1,    -1,    -1,   578,   579,   580,    -1,    -1,
++      -1,    -1,    -1,    -1,   587,    -1,    -1,   590,    -1,    -1,
++      -1,   594,   595,   596,   597,   598,   599,    -1,    -1,   602,
++      -1,    -1,    -1,   606,    -1,    -1,   609,    -1,   611,    -1,
++       5,   614,     7,     8,     9,    10,    11,    -1,    -1,    14,
++      -1,    -1,    -1,    18,    -1,    -1,    -1,    -1,    23,    24,
++      25,    26,    27,    28,    -1,    -1,    31,    -1,    -1,    -1,
++      35,    -1,    -1,    -1,    39,    -1,    -1,    42,    43,    44,
++      -1,    46,    -1,    -1,    -1,    -1,    -1,    52,    53,    -1,
++      55,    56,    -1,    58,    -1,    -1,    -1,    -1,    -1,    64,
++      65,    66,    67,    68,    69,    70,    -1,    72,    73,    -1,
++      -1,    -1,    -1,    -1,    -1,    -1,    81,    -1,    83,    -1,
++      85,    86,    87,    88,    -1,    90,    91,    -1,    93,    94,
++      95,    -1,    97,    -1,    99,    -1,    -1,   102,    -1,    -1,
++     105,    -1,    -1,    -1,   109,    -1,    -1,    -1,   113,   114,
++     115,    -1,    -1,   118,    -1,    -1,    -1,    -1,   123,    -1,
++      -1,    -1,    -1,    -1,   129,    -1,   131,    -1,    -1,    -1,
++     135,    -1,   137,   138,   139,   140,    -1,    -1,    -1,    -1,
++      -1,    -1,   147,   148,   149,    -1,    -1,    -1,   153,    -1,
++     155,   156,    -1,   158,   159,   160,    -1,   162,   163,    -1,
++     165,   166,   167,   168,    -1,    -1,    -1,    -1,   173,   174,
++     175,    -1,    -1,   178,   179,   180,   181,   182,   183,    -1,
++      -1,    -1,    -1,    -1,    -1,   190,    -1,   192,    -1,   194,
++      -1,   196,   197,   198,   199,   200,   201,    -1,   203,    -1,
++      -1,    -1,   207,   208,    -1,    -1,    -1,    -1,    -1,    -1,
++     215,    -1,    -1,    -1,   219,   220,   221,   222,   223,    -1,
++     225,   226,   227,    -1,   229,    -1,   231,    -1,    -1,    -1,
++      -1,   236,    -1,    -1,    -1,    -1,   241,    -1,   243,   244,
++      -1,   246,   247,   248,    -1,    -1,   251,    -1,    -1,    -1,
++     255,   256,    -1,    -1,   259,   260,    -1,   262,   263,    -1,
++      -1,    -1,    -1,    -1,   269,   270,    -1,   272,    -1,   274,
++      -1,   276,   277,    -1,    -1,    -1,    -1,   282,    -1,   284,
++     285,   286,   287,   288,   289,   290,   291,   292,   293,   294,
++     295,   296,    -1,   298,   299,   300,    -1,   302,   303,   304,
++     305,    -1,   307,   308,    -1,    -1,    -1,    -1,   313,   314,
++     315,   316,   317,   318,    -1,    -1,   321,   322,    -1,   324,
++      -1,   326,    -1,   328,   329,   330,   331,   332,   333,   334,
++     335,   336,   337,    -1,    -1,   340,   341,    -1,    -1,   344,
++     345,   346,   347,    -1,    -1,    -1,    -1,   352,    -1,    -1,
++      -1,    -1,   357,   358,   359,    -1,   361,   362,   363,   364,
++      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
++      -1,    -1,   377,   378,    -1,    -1,    -1,    -1,   383,   384,
++     385,    -1,   387,   388,   389,   390,   391,   392,   393,    -1,
++      -1,    -1,    -1,   398,   399,    -1,   401,    -1,   403,   404,
++     405,   406,   407,    -1,   409,   410,   411,    -1,    -1,   414,
++      -1,    -1,    -1,   418,   419,   420,   421,   422,    -1,    -1,
++     425,   426,   427,   428,   429,    -1,   431,    -1,    -1,   434,
++      -1,   436,   437,    -1,   439,    -1,    -1,    -1,   443,    -1,
++      -1,   446,   447,   448,    -1,    -1,    -1,   452,   453,   454,
++     455,   456,   457,    -1,   459,   460,    -1,   462,    -1,    -1,
++      -1,    -1,   467,   468,   469,    -1,    -1,    -1,    -1,   474,
++      -1,    -1,    -1,   478,    -1,    -1,   481,    -1,   483,    -1,
++     485,    -1,   487,    -1,   489,   490,    -1,    -1,    -1,    -1,
++      -1,    -1,   497,   498,    -1,   500,    -1,    -1,   503,    -1,
++      -1,   506,    -1,   508,    -1,    -1,    -1,   512,    -1,   514,
++     515,   516,   517,   518,   519,    -1,    -1,   522,   523,   524,
++     525,    -1,   527,   528,    -1,   530,    -1,   532,   533,   534,
++     535,    -1,    -1,   538,   539,    -1,   541,   542,   543,   544,
++      -1,    -1,    -1,    -1,    -1,   550,   551,   552,    -1,    -1,
++      -1,    -1,   557,   558,   559,    -1,   561,   562,    -1,   564,
++     565,    -1,    -1,    -1,    -1,    -1,   571,    -1,    -1,   574,
++      -1,    -1,    -1,   578,   579,   580,    -1,    -1,    -1,    -1,
++      -1,    -1,   587,    -1,    -1,   590,    -1,    -1,    -1,   594,
++     595,   596,   597,   598,   599,    -1,    -1,   602,    -1,    -1,
++      -1,   606,    -1,    -1,   609,    -1,   611,    -1,     5,   614,
++       7,     8,     9,    10,    11,    -1,    -1,    14,    -1,    -1,
++      -1,    18,    -1,    -1,    -1,    -1,    23,    24,    25,    26,
++      27,    28,    -1,    -1,    31,    -1,    -1,    -1,    35,    -1,
++      -1,    -1,    39,    -1,    -1,    42,    43,    44,    -1,    46,
++      -1,    -1,    -1,    -1,    -1,    52,    53,    -1,    55,    56,
++      -1,    58,    -1,    -1,    -1,    -1,    -1,    64,    65,    66,
++      67,    68,    69,    70,    -1,    72,    73,    -1,    -1,    -1,
++      -1,    -1,    -1,    -1,    81,    -1,    83,    -1,    85,    86,
++      87,    88,    -1,    90,    91,    -1,    93,    94,    95,    -1,
++      97,    -1,    99,    -1,    -1,   102,    -1,    -1,   105,    -1,
++      -1,    -1,   109,    -1,    -1,    -1,   113,   114,   115,    -1,
++      -1,   118,    -1,    -1,    -1,    -1,   123,    -1,    -1,    -1,
++      -1,    -1,   129,    -1,   131,    -1,    -1,    -1,   135,    -1,
++     137,   138,   139,   140,    -1,    -1,    -1,    -1,    -1,    -1,
++     147,   148,   149,    -1,    -1,    -1,   153,    -1,   155,   156,
++      -1,   158,   159,   160,    -1,   162,   163,    -1,   165,   166,
++     167,   168,    -1,    -1,    -1,    -1,   173,   174,   175,    -1,
++      -1,   178,   179,   180,   181,   182,   183,    -1,    -1,    -1,
++      -1,    -1,    -1,   190,    -1,   192,    -1,   194,    -1,   196,
++     197,   198,   199,   200,   201,    -1,   203,    -1,    -1,    -1,
++     207,   208,    -1,    -1,    -1,    -1,    -1,    -1,   215,    -1,
++      -1,    -1,   219,   220,   221,   222,   223,    -1,   225,   226,
++     227,    -1,   229,    -1,   231,    -1,    -1,    -1,    -1,   236,
++      -1,    -1,    -1,    -1,   241,    -1,   243,   244,    -1,   246,
++     247,   248,    -1,    -1,   251,    -1,    -1,    -1,   255,   256,
++      -1,    -1,   259,   260,    -1,   262,   263,    -1,    -1,    -1,
++      -1,    -1,   269,   270,    -1,   272,    -1,   274,    -1,   276,
++     277,    -1,    -1,    -1,    -1,   282,    -1,   284,   285,   286,
++     287,   288,   289,   290,   291,   292,   293,   294,   295,   296,
++      -1,   298,   299,   300,    -1,   302,   303,   304,   305,    -1,
++     307,   308,    -1,    -1,    -1,    -1,   313,   314,   315,   316,
++     317,   318,    -1,    -1,   321,   322,    -1,   324,    -1,   326,
++      -1,   328,   329,   330,   331,   332,   333,   334,   335,   336,
++     337,    -1,    -1,   340,   341,    -1,    -1,   344,   345,   346,
++     347,    -1,    -1,    -1,    -1,   352,    -1,    -1,    -1,    -1,
++     357,   358,   359,    -1,   361,   362,   363,   364,    -1,    -1,
++      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
++     377,   378,    -1,    -1,    -1,    -1,   383,   384,   385,    -1,
++     387,   388,   389,   390,   391,   392,   393,    -1,    -1,    -1,
++      -1,   398,   399,    -1,   401,    -1,   403,   404,   405,   406,
++     407,    -1,   409,   410,   411,    -1,    -1,   414,    -1,    -1,
++      -1,   418,   419,   420,   421,   422,    -1,    -1,   425,   426,
++     427,   428,   429,    -1,   431,    -1,    -1,   434,    -1,   436,
++     437,    -1,   439,    -1,    -1,    -1,   443,    -1,    -1,   446,
++     447,   448,    -1,    -1,    -1,   452,   453,   454,   455,   456,
++     457,    -1,   459,   460,    -1,   462,    -1,    -1,    -1,    -1,
++     467,   468,   469,    -1,    -1,    -1,    -1,   474,    -1,    -1,
++      -1,   478,    -1,    -1,   481,    -1,   483,    -1,   485,    -1,
++     487,    -1,   489,   490,    -1,    -1,    -1,    -1,    -1,    -1,
++     497,   498,    -1,   500,    -1,    -1,   503,    -1,    -1,   506,
++      -1,   508,    -1,    -1,    -1,   512,    -1,   514,   515,   516,
++     517,   518,   519,    -1,    -1,   522,   523,   524,   525,    -1,
++     527,   528,    -1,   530,    -1,   532,   533,   534,   535,    -1,
++      -1,   538,   539,    -1,   541,   542,   543,   544,    -1,    -1,
++      -1,    -1,    -1,   550,   551,   552,    -1,    -1,    -1,    -1,
++     557,   558,   559,    -1,   561,   562,    -1,   564,   565,    -1,
++      -1,    -1,    -1,    -1,   571,    -1,    -1,   574,    -1,    -1,
++      -1,   578,   579,   580,    -1,    -1,    -1,    -1,    -1,    -1,
++     587,    -1,    -1,   590,    -1,    -1,    -1,   594,   595,   596,
++     597,   598,   599,    -1,    -1,   602,    -1,    -1,    -1,   606,
++      -1,    -1,   609,    -1,   611,    -1,     5,   614,     7,     8,
++       9,    10,    11,    -1,    -1,    14,    -1,    -1,    -1,    18,
++      -1,    -1,    -1,    -1,    23,    24,    25,    26,    27,    28,
++      -1,    -1,    31,    -1,    -1,    -1,    35,    -1,    -1,    -1,
++      39,    -1,    -1,    42,    43,    44,    -1,    46,    -1,    -1,
++      -1,    -1,    -1,    52,    53,    -1,    55,    56,    -1,    58,
++      -1,    -1,    -1,    -1,    -1,    64,    65,    66,    67,    68,
++      69,    70,    -1,    72,    73,    -1,    -1,    -1,    -1,    -1,
++      -1,    -1,    81,    -1,    83,    -1,    85,    86,    87,    88,
++      -1,    90,    91,    -1,    93,    94,    95,    -1,    97,    -1,
++      99,    -1,    -1,   102,    -1,    -1,   105,    -1,    -1,    -1,
++     109,    -1,    -1,    -1,   113,   114,   115,    -1,    -1,   118,
++      -1,    -1,    -1,    -1,   123,    -1,    -1,    -1,    -1,    -1,
++     129,    -1,   131,    -1,    -1,    -1,   135,    -1,   137,   138,
++     139,   140,    -1,    -1,    -1,    -1,    -1,    -1,   147,   148,
++     149,    -1,    -1,    -1,   153,    -1,   155,   156,    -1,   158,
++     159,   160,    -1,   162,   163,    -1,   165,   166,   167,   168,
++      -1,    -1,    -1,    -1,   173,   174,   175,    -1,    -1,   178,
++     179,   180,   181,   182,   183,    -1,    -1,    -1,    -1,    -1,
++      -1,   190,    -1,   192,    -1,   194,    -1,   196,   197,   198,
++     199,   200,   201,    -1,   203,    -1,    -1,    -1,   207,   208,
++      -1,    -1,    -1,    -1,    -1,    -1,   215,    -1,    -1,    -1,
++     219,   220,   221,   222,   223,    -1,   225,   226,   227,    -1,
++     229,    -1,   231,    -1,    -1,    -1,    -1,   236,    -1,    -1,
++      -1,    -1,   241,    -1,   243,   244,    -1,   246,   247,   248,
++      -1,    -1,   251,    -1,    -1,    -1,   255,   256,    -1,    -1,
++     259,   260,    -1,   262,   263,    -1,    -1,    -1,    -1,    -1,
++     269,   270,    -1,   272,    -1,   274,    -1,   276,   277,    -1,
++      -1,    -1,    -1,   282,    -1,   284,   285,   286,   287,   288,
++     289,   290,   291,   292,   293,   294,   295,   296,    -1,   298,
++     299,   300,    -1,   302,   303,   304,   305,    -1,   307,   308,
++      -1,    -1,    -1,    -1,   313,   314,   315,   316,   317,   318,
++      -1,    -1,   321,   322,    -1,   324,    -1,   326,    -1,   328,
++     329,   330,   331,   332,   333,   334,   335,   336,   337,    -1,
++      -1,   340,   341,    -1,    -1,   344,   345,   346,   347,    -1,
++      -1,    -1,    -1,   352,    -1,    -1,    -1,    -1,   357,   358,
++     359,    -1,   361,   362,   363,   364,    -1,    -1,    -1,    -1,
++      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   377,   378,
++      -1,    -1,    -1,    -1,   383,   384,   385,    -1,   387,   388,
++     389,   390,   391,   392,   393,    -1,    -1,    -1,    -1,   398,
++     399,    -1,   401,    -1,   403,   404,   405,   406,   407,    -1,
++     409,   410,   411,    -1,    -1,   414,    -1,    -1,    -1,   418,
++     419,   420,   421,   422,    -1,    -1,   425,   426,   427,   428,
++     429,    -1,   431,    -1,    -1,   434,    -1,   436,   437,    -1,
++     439,    -1,    -1,    -1,   443,    -1,    -1,   446,   447,   448,
++      -1,    -1,    -1,   452,   453,   454,   455,   456,   457,    -1,
++     459,   460,    -1,   462,    -1,    -1,    -1,    -1,   467,   468,
++     469,    -1,    -1,    -1,    -1,   474,    -1,    -1,    -1,   478,
++      -1,    -1,   481,    -1,   483,    -1,   485,    -1,   487,    -1,
++     489,   490,    -1,    -1,    -1,    -1,    -1,    -1,   497,   498,
++      -1,   500,    -1,    -1,   503,    -1,    -1,   506,    -1,   508,
++      -1,    -1,    -1,   512,    -1,   514,   515,   516,   517,   518,
++     519,    -1,    -1,   522,   523,   524,   525,    -1,   527,   528,
++      -1,   530,    -1,   532,   533,   534,   535,    -1,    -1,   538,
++     539,    -1,   541,   542,   543,   544,    -1,    -1,    -1,    -1,
++      -1,   550,   551,   552,    -1,    -1,    -1,    -1,   557,   558,
++     559,    -1,   561,   562,    -1,   564,   565,    -1,    -1,    -1,
++      -1,    -1,   571,    -1,    -1,   574,    -1,    -1,    -1,   578,
++     579,   580,    -1,    -1,    -1,    -1,    -1,    -1,   587,    -1,
++      -1,   590,    -1,    -1,    -1,   594,   595,   596,   597,   598,
++     599,    -1,    -1,   602,    -1,    -1,    -1,   606,    -1,    -1,
++     609,    -1,   611,    -1,     5,   614,     7,     8,     9,    10,
++      11,    -1,    -1,    14,    -1,    -1,    -1,    18,    -1,    -1,
++      -1,    -1,    23,    24,    25,    26,    27,    28,    -1,    -1,
++      31,    -1,    -1,    -1,    35,    -1,    -1,    -1,    39,    -1,
++      -1,    42,    43,    44,    -1,    46,    -1,    -1,    -1,    -1,
++      -1,    52,    53,    -1,    55,    56,    -1,    58,    -1,    -1,
++      -1,    -1,    -1,    64,    65,    66,    67,    68,    69,    70,
++      -1,    72,    73,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
++      81,    -1,    83,    -1,    85,    86,    87,    88,    -1,    90,
++      91,    -1,    93,    94,    95,    -1,    97,    -1,    99,    -1,
++      -1,   102,    -1,    -1,   105,    -1,    -1,    -1,   109,    -1,
++      -1,    -1,   113,   114,   115,    -1,    -1,   118,    -1,    -1,
++      -1,    -1,   123,    -1,    -1,    -1,    -1,    -1,   129,    -1,
++     131,    -1,    -1,    -1,   135,    -1,   137,   138,   139,   140,
++      -1,    -1,    -1,    -1,    -1,    -1,   147,   148,   149,    -1,
++      -1,    -1,   153,    -1,    -1,   156,    -1,   158,   159,   160,
++      -1,   162,   163,    -1,   165,   166,   167,   168,    -1,    -1,
++      -1,    -1,   173,   174,   175,    -1,    -1,   178,   179,   180,
++     181,   182,   183,    -1,    -1,    -1,    -1,    -1,    -1,   190,
++      -1,   192,    -1,   194,    -1,   196,   197,   198,   199,   200,
++     201,    -1,   203,    -1,    -1,    -1,   207,   208,    -1,    -1,
++      -1,    -1,    -1,    -1,   215,    -1,    -1,    -1,   219,   220,
++     221,   222,   223,    -1,   225,   226,   227,    -1,   229,    -1,
++     231,    -1,    -1,    -1,    -1,   236,    -1,    -1,    -1,    -1,
++     241,    -1,   243,   244,    -1,   246,   247,   248,    -1,    -1,
++     251,    -1,    -1,    -1,   255,   256,    -1,    -1,   259,   260,
++      -1,   262,   263,    -1,    -1,    -1,    -1,    -1,   269,   270,
++      -1,   272,    -1,   274,    -1,   276,   277,    -1,    -1,    -1,
++      -1,   282,    -1,   284,   285,   286,   287,   288,   289,   290,
++     291,   292,   293,   294,   295,   296,    -1,   298,   299,   300,
++      -1,   302,   303,   304,   305,    -1,   307,   308,    -1,    -1,
++      -1,    -1,   313,   314,   315,   316,   317,   318,    -1,    -1,
++     321,   322,    -1,   324,    -1,   326,    -1,   328,   329,   330,
++     331,   332,   333,   334,   335,   336,   337,    -1,    -1,   340,
++     341,    -1,    -1,   344,   345,   346,   347,    -1,    -1,    -1,
++      -1,   352,    -1,    -1,    -1,    -1,   357,   358,   359,    -1,
++     361,   362,   363,   364,    -1,    -1,    -1,    -1,    -1,    -1,
++      -1,    -1,    -1,    -1,    -1,    -1,   377,   378,    -1,    -1,
++      -1,    -1,   383,   384,   385,    -1,   387,   388,   389,   390,
++     391,   392,   393,    -1,    -1,    -1,    -1,   398,   399,    -1,
++     401,    -1,   403,   404,   405,   406,   407,    -1,   409,   410,
++     411,    -1,    -1,   414,    -1,    -1,    -1,   418,   419,   420,
++     421,   422,    -1,    -1,   425,   426,   427,   428,   429,    -1,
++     431,    -1,    -1,   434,    -1,   436,   437,    -1,   439,    -1,
++      -1,    -1,   443,    -1,    -1,   446,   447,   448,    -1,    -1,
++      -1,   452,   453,   454,   455,   456,   457,    -1,   459,   460,
++      -1,   462,    -1,    -1,    -1,    -1,   467,   468,   469,    -1,
++      -1,    -1,    -1,   474,    -1,    -1,    -1,   478,    -1,    -1,
++     481,    -1,   483,    -1,   485,    -1,   487,    -1,   489,   490,
++      -1,    -1,    -1,    -1,    -1,    -1,   497,   498,    -1,   500,
++      -1,    -1,   503,    -1,    -1,   506,    -1,   508,    -1,    -1,
++      -1,   512,    -1,   514,   515,   516,   517,   518,   519,    -1,
++      -1,   522,   523,   524,   525,    -1,   527,   528,    -1,   530,
++      -1,   532,   533,   534,   535,    -1,    -1,   538,   539,    -1,
++     541,   542,   543,   544,    -1,    -1,    -1,    -1,    -1,   550,
++     551,   552,    -1,    -1,    -1,    -1,   557,   558,   559,    -1,
++     561,   562,    -1,   564,   565,    -1,    -1,    -1,    -1,    -1,
++     571,    -1,    -1,   574,    -1,    -1,    -1,   578,   579,   580,
++      -1,    -1,    -1,    -1,    -1,    -1,   587,    -1,    -1,   590,
++      -1,    -1,    -1,   594,   595,   596,   597,   598,   599,    -1,
++      -1,   602,    -1,    -1,    -1,   606,    -1,    -1,   609,    -1,
++     611,    -1,     5,   614,     7,     8,     9,    10,    11,    -1,
++      -1,    14,    -1,    -1,    -1,    18,    -1,    -1,    -1,    -1,
++      23,    24,    25,    26,    27,    28,    -1,    -1,    31,    -1,
++      -1,    -1,    35,    -1,    -1,    -1,    39,    -1,    -1,    42,
++      43,    44,    -1,    46,    -1,    -1,    -1,    -1,    -1,    52,
++      53,    -1,    55,    56,    -1,    58,    -1,    -1,    -1,    -1,
++      -1,    64,    65,    66,    67,    68,    69,    70,    -1,    72,
++      73,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    81,    -1,
++      83,    -1,    85,    86,    87,    88,    -1,    90,    91,    -1,
++      93,    94,    95,    -1,    97,    -1,    99,    -1,    -1,   102,
++      -1,    -1,   105,    -1,    -1,    -1,   109,    -1,    -1,    -1,
++     113,   114,   115,    -1,    -1,   118,    -1,    -1,    -1,    -1,
++     123,    -1,    -1,    -1,    -1,    -1,   129,    -1,   131,    -1,
++      -1,    -1,   135,    -1,   137,   138,   139,   140,    -1,    -1,
++      -1,    -1,    -1,    -1,   147,   148,   149,    -1,    -1,    -1,
++     153,    -1,    -1,   156,    -1,   158,   159,   160,    -1,   162,
++     163,    -1,   165,   166,   167,   168,    -1,    -1,    -1,    -1,
++     173,   174,   175,    -1,    -1,   178,   179,   180,   181,   182,
++     183,    -1,    -1,    -1,    -1,    -1,    -1,   190,    -1,   192,
++      -1,   194,    -1,   196,   197,   198,   199,   200,   201,    -1,
++     203,    -1,    -1,    -1,   207,   208,    -1,    -1,    -1,    -1,
++      -1,    -1,   215,    -1,    -1,    -1,   219,   220,   221,   222,
++     223,    -1,   225,   226,   227,    -1,   229,    -1,   231,    -1,
++      -1,    -1,    -1,   236,    -1,    -1,    -1,    -1,   241,    -1,
++     243,   244,    -1,   246,   247,   248,    -1,    -1,   251,    -1,
++      -1,    -1,   255,   256,    -1,    -1,   259,   260,    -1,   262,
++     263,    -1,    -1,    -1,    -1,    -1,   269,   270,    -1,   272,
++      -1,   274,    -1,   276,   277,    -1,    -1,    -1,    -1,   282,
++      -1,   284,   285,   286,   287,   288,   289,   290,   291,   292,
++     293,   294,   295,   296,    -1,   298,   299,   300,    -1,   302,
++     303,   304,   305,    -1,   307,   308,    -1,    -1,    -1,    -1,
++     313,   314,   315,   316,   317,   318,    -1,    -1,   321,   322,
++      -1,   324,    -1,   326,    -1,   328,   329,   330,   331,   332,
++     333,   334,   335,   336,   337,    -1,    -1,   340,   341,    -1,
++      -1,   344,   345,   346,   347,    -1,    -1,    -1,    -1,   352,
++      -1,    -1,    -1,    -1,   357,   358,   359,    -1,   361,   362,
++     363,   364,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
++      -1,    -1,    -1,    -1,   377,   378,    -1,    -1,    -1,    -1,
++     383,   384,   385,    -1,   387,   388,   389,   390,   391,   392,
++     393,    -1,    -1,    -1,    -1,   398,   399,    -1,   401,    -1,
++     403,   404,   405,   406,   407,    -1,   409,   410,   411,    -1,
++      -1,   414,    -1,    -1,    -1,   418,   419,   420,   421,   422,
++      -1,    -1,   425,   426,   427,   428,   429,    -1,   431,    -1,
++      -1,   434,    -1,   436,   437,    -1,   439,    -1,    -1,    -1,
++     443,    -1,    -1,   446,   447,   448,    -1,    -1,    -1,   452,
++     453,   454,   455,   456,   457,    -1,   459,   460,    -1,   462,
++      -1,    -1,    -1,    -1,   467,   468,   469,    -1,    -1,    -1,
++      -1,   474,    -1,    -1,    -1,   478,    -1,    -1,   481,    -1,
++     483,    -1,   485,    -1,   487,    -1,   489,   490,    -1,    -1,
++      -1,    -1,    -1,    -1,   497,   498,    -1,   500,    -1,    -1,
++     503,    -1,    -1,   506,    -1,   508,    -1,    -1,    -1,   512,
++      -1,   514,   515,   516,   517,   518,   519,    -1,    -1,   522,
++     523,   524,   525,    -1,   527,   528,    -1,   530,    -1,   532,
++     533,   534,   535,    -1,    -1,   538,   539,    -1,   541,   542,
++     543,   544,    -1,    -1,    -1,    -1,    -1,   550,   551,   552,
++      -1,    -1,    -1,    -1,   557,   558,   559,    -1,   561,   562,
++      -1,   564,   565,    -1,    -1,    -1,    -1,    -1,   571,    -1,
++      -1,   574,    -1,    -1,    -1,   578,   579,   580,    -1,    -1,
++      -1,    -1,    -1,    -1,   587,    -1,    -1,   590,    -1,    -1,
++      -1,   594,   595,   596,   597,   598,   599,    -1,    -1,   602,
++      -1,    -1,    -1,   606,    -1,    -1,   609,    -1,   611,    -1,
++       5,   614,     7,     8,     9,    10,    11,    -1,    -1,    14,
++      -1,    -1,    -1,    18,    -1,    -1,    -1,    -1,    23,    24,
++      25,    26,    27,    28,    -1,    -1,    -1,    -1,    -1,    -1,
++      35,    -1,    -1,    -1,    39,    -1,    -1,    42,    43,    44,
++      -1,    46,    -1,    -1,    -1,    -1,    -1,    52,    -1,    -1,
++      55,    56,    -1,    58,    -1,    -1,    -1,    -1,    -1,    64,
++      65,    66,    67,    -1,    69,    70,    -1,    72,    73,    -1,
++      -1,    -1,    -1,    -1,    -1,    -1,    81,    -1,    83,    -1,
++      85,    86,    87,    88,    -1,    90,    91,    -1,    93,    94,
++      95,    -1,    97,    -1,    99,    -1,    -1,   102,    -1,    -1,
++     105,    -1,    -1,    -1,   109,    -1,    -1,    -1,   113,   114,
++     115,    -1,    -1,   118,    -1,    -1,    -1,    -1,   123,    -1,
++      -1,    -1,    -1,    -1,   129,    -1,   131,    -1,    -1,    -1,
++     135,    -1,   137,   138,   139,   140,    -1,    -1,    -1,    -1,
++      -1,    -1,   147,   148,   149,    -1,    -1,    -1,   153,    -1,
++      -1,   156,    -1,   158,   159,   160,    -1,   162,   163,    -1,
++     165,   166,   167,   168,    -1,    -1,    -1,    -1,   173,   174,
++     175,    -1,    -1,   178,   179,    -1,   181,   182,   183,    -1,
++      -1,    -1,    -1,    -1,    -1,   190,    -1,   192,    -1,   194,
++      -1,   196,   197,   198,   199,   200,   201,    -1,   203,    -1,
++      -1,    -1,   207,   208,    -1,    -1,    -1,    -1,    -1,    -1,
++     215,    -1,    -1,    -1,   219,   220,   221,   222,    -1,    -1,
++     225,   226,   227,    -1,   229,    -1,   231,    -1,    -1,    -1,
++      -1,   236,    -1,    -1,    -1,    -1,   241,    -1,   243,   244,
++      -1,   246,   247,    -1,    -1,    -1,   251,    -1,    -1,    -1,
++     255,   256,    -1,    -1,   259,    -1,    -1,   262,   263,    -1,
++      -1,    -1,    -1,    -1,   269,   270,    -1,   272,    -1,   274,
++      -1,   276,   277,    -1,    -1,    -1,    -1,    -1,    -1,   284,
++     285,   286,   287,   288,   289,   290,   291,   292,   293,   294,
++     295,   296,    -1,   298,   299,   300,    -1,   302,   303,   304,
++     305,    -1,   307,   308,    -1,    -1,    -1,    -1,   313,   314,
++     315,   316,   317,   318,    -1,    -1,   321,   322,    -1,   324,
++      -1,   326,    -1,   328,   329,   330,   331,   332,   333,   334,
++     335,   336,   337,    -1,    -1,   340,   341,    -1,    -1,   344,
++     345,   346,   347,    -1,    -1,    -1,    -1,   352,    -1,    -1,
++      -1,    -1,   357,   358,   359,    -1,   361,   362,   363,    -1,
++      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
++      -1,    -1,   377,   378,    -1,    -1,    -1,    -1,   383,   384,
++     385,    -1,   387,   388,   389,   390,   391,   392,   393,    -1,
++      -1,    -1,    -1,   398,   399,    -1,   401,    -1,   403,   404,
++     405,   406,   407,    -1,   409,   410,   411,    -1,    -1,   414,
++      -1,    -1,    -1,   418,   419,   420,   421,   422,    -1,    -1,
++     425,   426,   427,   428,   429,    -1,   431,    -1,    -1,   434,
++      -1,   436,    -1,    -1,   439,    -1,    -1,    -1,   443,    -1,
++      -1,   446,   447,    -1,    -1,    -1,    -1,   452,   453,   454,
++     455,   456,   457,    -1,   459,   460,    -1,   462,    -1,    -1,
++      -1,    -1,   467,   468,   469,    -1,    -1,    -1,    -1,   474,
++      -1,    -1,    -1,   478,    -1,    -1,   481,    -1,   483,    -1,
++     485,    -1,   487,    -1,   489,   490,    -1,    -1,    -1,    -1,
++      -1,    -1,   497,   498,    -1,   500,    -1,    -1,   503,    -1,
++      -1,   506,    -1,   508,    -1,    -1,    -1,   512,    -1,   514,
++     515,   516,   517,   518,   519,    -1,    -1,   522,   523,   524,
++     525,    -1,   527,   528,    -1,   530,    -1,   532,   533,   534,
++     535,    -1,    -1,   538,   539,    -1,   541,   542,   543,   544,
++      -1,    -1,    -1,    -1,    -1,   550,   551,   552,    -1,    -1,
++      -1,    -1,   557,   558,   559,    -1,   561,   562,    -1,   564,
++     565,    -1,    -1,    -1,    -1,    -1,   571,    -1,    -1,   574,
++      -1,    -1,    -1,   578,   579,   580,    -1,    -1,    -1,    -1,
++      -1,    -1,   587,    -1,    -1,   590,    -1,    -1,    -1,   594,
++     595,   596,   597,   598,   599,    -1,    -1,    -1,    -1,    -1,
++      -1,   606,    -1,    -1,   609,    -1,   611,    -1,    -1,   614
++};
++
++  /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
++     symbol of state STATE-NUM.  */
++static const yytype_uint16 yystos[] =
++{
++       0,    13,    15,    31,    35,    49,    50,    57,    62,    63,
++      84,   103,   124,   132,   133,   134,   144,   145,   157,   170,
++     186,   202,   206,   210,   235,   237,   253,   271,   275,   365,
++     382,   386,   397,   408,   430,   433,   435,   438,   441,   442,
++     449,   451,   458,   464,   472,   477,   479,   482,   507,   511,
++     556,   568,   572,   575,   581,   610,   616,   629,   640,   643,
++     644,   645,   646,   647,   649,   654,   656,   663,   693,   721,
++     728,   837,   928,  1002,  1045,  1048,  1056,  1061,  1067,  1069,
++    1072,  1078,  1081,  1086,  1093,  1105,  1106,  1272,  1274,  1284,
++    1287,  1312,  1320,  1331,  1338,  1352,  1355,  1358,  1368,  1374,
++    1378,  1383,  1384,  1434,  1451,  1457,  1459,  1466,  1468,  1496,
++    1502,  1503,  1504,  1505,  1558,  1566,  1567,  1568,    11,   111,
++     129,   194,   276,   402,   470,   528,  1037,  1038,  1527,  1528,
++    1529,  1532,   272,   353,  1080,  1497,   537,  1425,   228,     5,
++       7,     8,     9,    10,    11,    14,    18,    21,    23,    24,
++      25,    26,    27,    28,    29,    31,    35,    39,    42,    43,
++      44,    46,    48,    49,    52,    55,    56,    58,    59,    61,
++      62,    64,    65,    66,    67,    68,    69,    70,    72,    73,
++      74,    75,    76,    77,    78,    79,    81,    82,    83,    84,
++      85,    86,    87,    88,    90,    91,    93,    94,    95,    96,
++      97,    99,   102,   105,   109,   113,   114,   115,   118,   123,
++     124,   129,   131,   135,   137,   138,   139,   140,   144,   147,
++     148,   149,   153,   155,   156,   158,   159,   160,   162,   163,
++     165,   166,   167,   168,   169,   170,   173,   174,   175,   178,
++     179,   181,   182,   183,   186,   190,   192,   194,   196,   197,
++     198,   199,   200,   201,   203,   206,   207,   208,   210,   214,
++     215,   219,   220,   221,   222,   225,   226,   227,   229,   231,
++     236,   237,   241,   243,   244,   246,   247,   251,   254,   255,
++     256,   259,   262,   263,   269,   270,   272,   274,   276,   277,
++     284,   285,   286,   287,   288,   289,   290,   291,   292,   293,
++     294,   295,   296,   298,   299,   300,   302,   303,   304,   305,
++     307,   308,   313,   314,   315,   316,   317,   318,   321,   322,
++     324,   326,   328,   329,   330,   331,   332,   333,   334,   335,
++     336,   337,   340,   341,   344,   345,   346,   347,   351,   352,
++     357,   358,   359,   361,   362,   363,   364,   366,   367,   376,
++     377,   378,   381,   383,   384,   385,   386,   387,   388,   389,
++     390,   391,   392,   393,   394,   397,   398,   399,   401,   403,
++     404,   405,   406,   407,   409,   410,   411,   414,   418,   419,
++     420,   421,   422,   425,   426,   427,   428,   429,   431,   432,
++     434,   435,   436,   439,   441,   443,   444,   446,   447,   451,
++     452,   453,   454,   455,   456,   457,   458,   459,   460,   462,
++     463,   467,   468,   469,   470,   474,   478,   480,   481,   482,
++     483,   485,   486,   487,   488,   489,   490,   497,   498,   500,
++     503,   506,   507,   508,   511,   512,   514,   515,   516,   517,
++     518,   519,   522,   523,   524,   525,   527,   528,   530,   532,
++     533,   534,   535,   538,   539,   541,   542,   543,   544,   550,
++     551,   552,   556,   557,   558,   559,   561,   562,   564,   565,
++     567,   568,   571,   574,   576,   578,   579,   580,   587,   590,
++     594,   595,   596,   597,   598,   599,   606,   607,   609,   610,
++     611,   614,   687,  1424,  1428,  1432,  1433,   298,   527,   531,
++    1453,  1073,   606,  1498,   111,   193,   276,   470,   491,   528,
++     534,   570,   578,   669,   670,   889,   890,   891,   980,   981,
++     982,  1321,  1273,   111,   167,   194,   228,   276,   402,   470,
++     528,   534,   553,   578,   595,  1283,  1428,  1080,   686,   637,
++    1421,  1423,  1428,   655,  1285,   391,   488,  1379,   114,   228,
++     611,  1389,  1453,  1080,   629,   838,  1428,  1375,   458,   578,
++    1453,  1080,  1288,  1369,   494,   718,   722,   723,  1428,   686,
++    1498,  1428,  1109,  1111,  1112,   367,  1436,  1339,   722,   507,
++     511,   482,   550,   482,   531,  1333,   391,   488,  1458,  1313,
++    1428,    31,    84,   155,   397,   419,   451,   507,  1560,   464,
++     629,  1107,     0,   157,   641,   397,   174,   385,  1356,  1421,
++    1428,   617,  1013,  1428,   617,   687,   204,   687,   264,  1425,
++    1428,  1430,   783,   784,   787,   810,  1428,   531,   224,   363,
++    1039,  1040,  1041,   167,  1008,  1527,  1453,  1498,  1087,   694,
++     637,   548,  1057,   595,  1070,  1453,    17,  1499,   223,   892,
++     204,  1430,   785,   810,   686,   372,  1524,  1528,  1529,  1530,
++    1531,  1532,   531,   890,   228,   228,   228,   224,   283,   411,
++    1329,  1330,     7,    21,    28,    34,    36,    37,    38,    40,
++      53,    54,    59,    60,    69,    72,    74,    75,    76,    77,
++      78,    79,    96,   100,   101,   106,   107,   110,   111,   116,
++     117,   118,   123,   125,   128,   171,   176,   177,   184,   198,
++     200,   205,   211,   212,   219,   223,   235,   238,   256,   261,
++     269,   280,   301,   306,   317,   321,   323,   327,   328,   329,
++     330,   331,   339,   348,   349,   350,   354,   355,   359,   380,
++     387,   392,   393,   395,   409,   437,   438,   450,   456,   462,
++     509,   510,   516,   520,   521,   526,   537,   541,   542,   543,
++     544,   554,   555,   556,   560,   563,   578,   583,   584,   585,
++     586,   591,   593,   599,   614,   622,   623,   628,   629,   632,
++     633,   636,   637,  1127,  1128,  1129,  1130,  1134,  1141,  1142,
++    1143,  1144,  1145,  1146,  1154,  1158,  1171,  1408,  1410,  1412,
++    1413,  1417,  1419,  1424,  1428,   223,  1282,  1282,  1282,  1428,
++     204,  1282,  1282,   810,  1282,   686,  1282,  1453,   650,  1359,
++      12,    13,   103,   132,   145,   167,   170,   181,   202,   228,
++     235,   275,   403,   407,   423,   431,   439,   464,   477,   478,
++     522,   553,   575,   577,  1469,  1471,  1473,  1474,  1428,   364,
++      68,   415,   637,  1430,   130,   213,   283,  1290,  1428,  1425,
++     207,   487,  1380,   239,  1385,  1452,  1453,   929,  1122,    47,
++     839,   191,    34,   298,  1344,  1376,  1428,   686,  1082,  1062,
++     130,   283,  1291,  1319,   298,   410,   482,  1370,  1371,   587,
++     719,   472,   724,    12,   407,  1467,  1471,   548,  1499,  1110,
++      12,   141,   213,   496,   497,   498,   499,   500,   501,   513,
++    1116,  1117,  1118,  1523,  1435,    24,    35,    59,    60,    67,
++      72,    99,   101,   103,   112,   159,   163,   166,   192,   194,
++     201,   203,   227,   228,   229,   250,   272,   298,   364,   390,
++     401,   402,   405,   406,   426,   469,   482,   512,   530,   531,
++     579,   598,   954,   979,  1340,  1344,  1345,  1347,  1442,   724,
++    1050,  1051,  1050,  1050,   603,  1049,  1050,  1332,  1428,  1425,
++    1453,  1319,    36,   211,   212,   537,  1409,  1426,  1559,  1559,
++    1559,  1559,  1559,  1111,  1107,   630,   635,  1428,  1354,  1353,
++     315,   535,   562,  1004,   576,   107,  1430,  1431,  1006,   789,
++     811,  1428,  1005,   366,     6,    57,   145,   349,   414,   416,
++     812,  1421,  1041,   687,   502,  1533,  1534,  1007,  1068,  1088,
++    1089,  1090,  1091,  1421,   629,   695,  1428,   657,  1278,  1279,
++    1421,  1071,  1278,    56,   351,   351,   430,  1500,   348,   349,
++    1133,  1428,   788,   811,   188,     6,  1431,  1484,  1487,   438,
++      10,   402,   553,   673,  1122,  1526,  1534,  1542,  1546,  1547,
++    1553,   673,  1122,  1525,  1534,  1542,  1547,  1553,  1527,  1532,
++     892,  1428,  1428,  1428,   191,  1322,  1326,  1327,  1428,  1329,
++     629,   629,   629,  1141,   629,   629,   629,  1127,  1174,   629,
++     629,   629,   629,   629,   629,   629,   629,   629,   629,   629,
++     629,   629,   629,   629,  1126,  1126,   629,  1125,   629,   629,
++     629,   563,   629,  1408,   629,   629,   629,   629,   629,   629,
++     629,   629,   629,   629,   629,  1127,   629,   629,   629,   629,
++    1172,  1173,  1417,  1428,   629,   629,   629,   629,   629,   629,
++     629,   629,   629,  1127,  1125,   629,   629,   629,   629,   629,
++     629,   629,   629,   629,   629,   629,   629,   629,   629,   629,
++     629,  1125,   629,  1408,   629,   629,   629,  1408,   629,   629,
++      36,   211,   212,   537,   953,   629,  1126,  1125,  1125,   629,
++     629,   629,   629,   629,  1141,  1141,  1141,  1127,  1518,  1519,
++    1428,  1159,  1428,    16,    17,   369,   372,   612,  1131,  1132,
++     161,   195,   245,   257,   342,   617,   618,   619,  1135,    32,
++     142,   242,   265,   327,   424,   475,   476,   489,   620,   621,
++     622,   623,   624,   625,   626,   627,  1133,  1141,    71,   371,
++     631,  1426,   629,   637,   171,  1428,   687,  1428,   360,   811,
++     687,  1430,   821,  1345,   687,  1431,  1483,  1277,  1282,   582,
++     651,    34,    67,   135,   159,   162,   196,   215,   229,   277,
++     298,   401,   410,   425,   443,   482,   483,   508,   530,   579,
++    1360,  1364,  1365,  1453,   401,  1472,   453,   453,   528,   534,
++     578,   595,   367,  1476,   527,   360,  1478,    66,   482,  1475,
++     112,   595,  1477,   360,   631,    19,   617,  1224,  1225,  1460,
++    1428,   224,  1036,   488,    90,   410,  1381,    49,    88,   283,
++    1391,  1421,  1454,  1455,  1079,   630,  1127,   267,   270,   412,
++     840,   842,   636,   648,  1425,   277,  1083,  1431,  1084,  1085,
++    1421,   595,  1059,  1453,   239,  1279,  1292,  1293,    49,  1372,
++     631,  1426,    55,    65,    81,    93,    94,    95,   109,   316,
++     334,   460,   515,   533,   725,   727,  1472,   360,   360,   458,
++    1501,  1500,   569,  1506,  1507,   624,  1120,  1121,  1122,  1118,
++    1437,  1438,  1439,   166,   472,   265,   601,  1351,   629,   111,
++     167,   194,   402,   531,   553,   595,  1351,    12,   901,  1430,
++     266,  1243,  1245,   191,   242,  1346,  1348,    70,   508,   189,
++     508,   527,    70,   508,    12,    42,    97,   102,   244,   314,
++     378,   490,   524,  1334,  1335,  1336,   166,   215,   508,   508,
++    1243,  1351,  1348,   277,   158,    73,   404,   527,   552,   508,
++     590,  1047,   429,   503,  1052,  1053,  1046,    91,  1279,  1036,
++     631,   362,  1562,   523,  1563,   249,   446,  1561,   630,  1507,
++    1509,  1511,  1512,   157,   642,  1105,  1357,  1409,  1428,   128,
++     887,   888,   898,   899,   963,   114,  1126,   636,   688,     6,
++     790,   688,   629,   113,   807,   807,   807,     4,  1003,  1009,
++     463,   595,  1534,  1278,   242,   631,   386,  1099,  1101,  1102,
++     696,   697,  1127,   225,   284,   285,   286,   287,   288,   289,
++     291,   292,   293,   294,   295,   296,   297,   299,   300,   427,
++     428,   658,   659,   662,   174,   411,   631,  1058,  1278,    58,
++     174,   178,   189,   313,   411,  1074,  1075,  1076,    56,   430,
++     171,   668,   790,   114,   807,   221,   631,  1122,  1122,  1122,
++     167,   194,   194,  1534,  1421,   983,   984,   983,   983,  1280,
++    1281,  1421,  1422,  1428,   631,  1324,   637,  1328,  1127,  1127,
++      12,   141,  1166,  1226,  1166,  1166,  1166,   600,  1176,  1127,
++    1127,  1171,  1171,  1127,  1127,  1127,  1139,  1140,  1127,  1127,
++    1127,  1127,  1127,  1127,   141,  1166,  1226,   630,   125,   184,
++     211,   280,   355,   560,   630,  1252,  1255,  1256,   630,  1127,
++    1127,  1127,  1127,  1417,  1518,   119,   120,   121,   122,   123,
++     216,   217,   218,   219,   317,   319,   320,   321,   328,   409,
++     461,   462,   599,   613,   614,  1221,  1222,  1171,   115,   118,
++     541,   544,  1223,   141,  1161,  1127,  1127,  1127,  1127,  1221,
++    1171,  1127,  1171,  1173,     9,   631,   637,   141,  1166,  1127,
++    1127,   141,  1166,  1127,  1127,  1171,  1171,  1171,  1127,  1127,
++    1127,  1171,  1130,  1127,  1127,  1127,  1127,  1127,  1127,  1166,
++    1166,  1127,  1127,   141,  1166,  1127,  1222,  1222,  1127,    45,
++     258,   549,  1127,  1127,   630,  1418,  1419,  1428,  1166,  1166,
++    1127,  1127,   630,   631,   630,   464,   629,  1515,  1516,  1127,
++     636,  1160,  1430,   637,  1127,  1127,  1127,  1129,   177,   354,
++     555,   571,  1133,    12,    18,  1129,  1136,  1130,  1130,   629,
++    1141,  1130,  1130,  1130,  1130,   265,  1130,  1130,   238,  1130,
++     238,  1130,  1130,  1130,  1130,  1130,    32,   242,   265,   424,
++    1430,  1141,  1127,  1147,  1428,   637,  1421,   821,   352,   597,
++     822,   823,   159,   631,  1278,  1275,   636,   652,   653,   277,
++     277,   277,   277,    49,   277,   277,   631,  1361,   527,   629,
++    1488,  1431,  1488,  1488,  1488,   194,   402,   531,  1470,  1474,
++    1428,   182,   345,  1428,  1461,  1462,  1292,  1425,   578,  1127,
++    1382,  1094,   272,  1390,  1225,   631,  1278,  1123,    73,   629,
++     847,   848,   847,   848,   385,   850,   208,   252,  1430,    30,
++     548,  1377,   631,   548,   631,   548,  1060,  1278,  1293,  1289,
++      12,  1373,  1371,   631,   617,   631,  1431,   194,   402,  1470,
++    1428,    12,   141,  1514,   631,  1113,  1127,  1415,  1428,   631,
++     201,   272,   361,   469,  1440,  1441,  1444,  1445,   242,  1349,
++    1425,  1127,   624,   892,   687,   687,   687,  1421,   687,  1421,
++     277,   332,   508,  1343,  1343,   280,   355,   454,   560,  1246,
++    1247,  1410,  1428,  1351,  1428,   687,  1351,  1431,  1346,   687,
++    1351,   243,   525,   179,   189,  1337,   631,  1349,  1346,  1421,
++    1348,  1346,  1346,  1351,  1351,   574,  1054,   631,  1054,   485,
++     464,   629,   633,  1177,  1178,  1179,  1180,  1181,  1190,  1191,
++    1205,  1409,   389,  1564,   370,  1239,  1245,  1513,   888,    71,
++     954,   137,  1430,    82,    96,   254,   325,   351,   413,   502,
++     690,   692,   420,   564,   808,   809,   231,   804,   805,   806,
++     813,   821,   823,   111,   214,   376,   387,   394,   486,   578,
++     671,   672,  1425,    25,   305,   798,   799,   800,   813,   814,
++     815,   821,   823,   791,   792,   798,     6,    13,    15,    26,
++      27,    57,    62,    63,    69,    82,    90,   100,   114,   131,
++     138,   139,   145,   153,   159,   187,   226,   228,   236,   251,
++     304,   322,   326,   365,   370,   377,   379,   386,   387,   418,
++     432,   433,   434,   435,   455,   512,   528,   532,   551,   556,
++     569,   834,   894,   896,   898,   899,  1014,  1018,  1020,  1023,
++    1029,  1030,  1031,  1235,  1424,   360,   681,  1010,   129,   241,
++    1421,   128,  1092,  1428,  1090,  1421,   836,  1101,   228,   252,
++     977,  1103,   630,   631,   617,   617,   617,   617,   617,   617,
++     617,   617,   617,   617,   617,   617,   617,   617,   617,   617,
++     617,   617,   631,  1279,   189,  1077,   576,  1075,   886,   887,
++      82,   346,   421,   565,   801,   802,   803,   813,   817,   818,
++     819,   820,   821,   823,   607,   581,   786,    47,   594,   603,
++    1485,  1487,   194,   687,   687,   892,   687,  1428,   664,   558,
++     582,   991,   360,   360,   360,   631,  1325,  1323,   637,  1328,
++    1327,   191,   624,  1428,   631,   630,  1166,   630,  1167,   630,
++     630,   630,  1127,   151,   600,  1175,    19,   630,   582,   630,
++     630,   630,   631,   631,   630,   631,   631,   631,   631,   630,
++     631,   582,   631,  1155,   630,   624,   630,   631,   631,   630,
++     630,   630,   630,   191,   630,   631,  1157,   630,   631,   631,
++     631,   623,   630,   631,   630,   630,   629,  1417,  1428,  1166,
++     630,   630,   630,  1166,   630,   631,   630,   630,   630,   630,
++     630,   630,   631,   630,   242,   630,   631,   631,   631,   631,
++     630,   630,   630,   631,   191,   631,  1166,   630,   630,   631,
++     631,   631,   630,   191,  1127,   191,  1127,   191,  1127,   191,
++     630,   631,   630,   630,   630,   630,   631,   630,  1171,  1195,
++    1196,  1197,   464,   629,  1108,  1510,  1511,   569,  1520,   634,
++     201,   272,   469,  1443,   473,  1428,   177,   354,   555,   571,
++     629,    17,  1127,  1518,   165,  1231,  1130,  1127,  1127,  1130,
++     629,  1141,  1130,  1122,  1151,  1152,  1153,   629,   637,  1428,
++    1276,   822,   473,   617,  1303,  1304,  1431,    51,   445,  1042,
++    1278,  1430,   631,  1365,  1278,  1366,  1428,  1489,  1490,   548,
++     624,  1421,  1428,  1482,  1482,  1482,   182,   195,   255,   257,
++     345,   399,   617,   618,   619,  1463,  1465,   601,  1227,  1286,
++    1431,  1095,  1096,  1097,  1098,  1421,   230,   283,   415,   608,
++    1456,  1455,   629,  1122,  1252,   519,   851,   841,    11,   843,
++    1127,  1425,  1431,  1431,  1085,  1421,  1278,   174,   411,   580,
++    1063,  1064,  1065,   464,   472,   586,   587,   629,   882,  1294,
++    1297,   727,   118,   541,   544,   726,  1158,  1412,  1417,   202,
++     191,  1482,  1482,  1482,  1508,  1121,   191,   239,  1114,  1115,
++    1238,  1239,  1267,  1123,  1123,   637,  1438,   128,   550,  1428,
++    1447,   335,   387,   636,   954,  1446,  1425,   191,  1350,   630,
++    1428,   169,   454,   358,   631,  1351,   410,  1243,  1336,  1350,
++    1351,  1346,  1421,  1351,  1351,   662,  1055,  1053,  1204,  1428,
++     104,   232,   249,   261,   338,   450,   513,  1189,   472,   631,
++    1421,  1204,   631,   189,  1565,    47,  1243,  1304,  1304,   336,
++    1425,   502,   502,   502,   502,   502,   463,  1425,  1425,  1304,
++     631,   806,  1425,  1425,  1425,  1425,   125,   184,   211,   280,
++     355,   560,  1251,  1425,  1425,   630,   631,  1304,  1304,   631,
++     800,   793,   794,   813,   814,   815,    80,    92,   386,   910,
++     917,   918,   975,   977,   981,   982,  1035,  1035,   386,  1304,
++    1304,  1035,  1304,   386,   386,  1304,  1304,   548,   137,  1304,
++     250,   528,   188,   386,   400,   977,  1035,   250,  1304,   528,
++     137,  1304,  1304,  1304,  1304,  1035,   386,    47,  1304,  1304,
++     836,  1304,   386,   384,    19,   548,   617,  1044,   386,   386,
++    1304,   140,   314,  1428,  1304,  1304,   386,  1304,   894,   631,
++     833,   834,  1018,   629,   637,   909,   919,  1420,  1428,  1303,
++      86,   459,   433,  1011,  1535,  1100,   629,  1127,   629,  1251,
++    1425,  1425,   125,   184,   280,   355,   560,  1253,  1425,  1251,
++    1425,  1425,  1425,  1425,  1425,  1251,  1251,  1425,  1413,  1425,
++    1251,   659,   576,  1304,  1304,  1304,  1304,   631,   803,  1430,
++     276,   175,   795,   796,   797,   813,   814,   815,   816,   819,
++     820,   821,   823,   387,   537,  1430,  1428,  1554,     8,    30,
++     781,   687,   629,   447,   265,   629,   825,   893,   895,   896,
++      46,   208,   457,   996,   996,  1421,  1421,  1421,  1281,  1428,
++     582,  1227,  1428,  1178,   637,  1328,   238,  1127,   630,  1127,
++     540,  1127,  1127,   155,    34,    60,   115,   118,   126,   143,
++     240,   340,   480,   544,   573,  1168,    34,   955,  1430,  1140,
++    1127,  1139,  1171,  1127,  1127,  1127,   955,  1168,  1171,   630,
++     238,   238,  1127,  1127,  1171,  1127,  1127,  1127,  1127,  1127,
++    1130,   630,   630,  1127,  1127,  1127,  1127,  1127,  1127,  1171,
++     238,  1127,  1127,  1127,   630,  1127,  1127,  1127,  1127,   191,
++    1127,   191,  1127,   191,  1127,  1127,  1127,   630,  1521,  1522,
++    1523,  1196,  1108,   630,  1514,   637,   637,   637,  1430,  1127,
++    1518,  1129,   630,   631,   630,  1141,  1221,  1221,    17,  1127,
++    1518,  1231,  1127,   630,   631,  1170,  1171,  1428,   900,  1430,
++    1042,   653,  1362,   630,   631,  1484,   637,   637,   548,   548,
++     548,  1464,  1228,  1244,  1245,  1294,   631,  1099,  1101,   537,
++    1427,   608,   272,    88,   844,   845,   846,  1428,   856,  1130,
++      47,   629,   858,   848,   617,   629,   548,   191,  1066,  1064,
++     883,  1295,   629,  1300,  1305,  1300,   630,   882,  1296,  1414,
++    1415,  1418,  1428,  1298,   617,   367,  1483,   191,   191,   191,
++    1106,   146,  1178,  1268,   189,   275,  1119,  1267,  1244,  1115,
++      19,  1124,  1425,  1428,   624,  1428,   637,   246,   637,  1303,
++     128,   955,   956,  1303,   189,  1303,   636,  1430,    34,   128,
++     958,   959,  1430,  1253,  1341,   163,   598,  1247,  1248,   169,
++    1247,  1247,   355,  1342,  1227,  1346,   631,  1192,  1199,  1204,
++    1177,   249,   249,   373,  1206,   249,   261,   450,  1206,  1190,
++    1177,  1315,  1316,  1418,  1179,  1225,  1201,  1202,  1251,   318,
++    1240,   128,   960,   962,  1430,   956,   114,   114,   129,   241,
++     211,   280,   355,   560,   824,  1254,  1255,  1424,   806,   672,
++     824,   824,   800,   631,   794,   999,  1420,  1080,    63,   188,
++     400,   570,   916,   976,   999,   977,   978,   978,  1420,  1080,
++    1253,  1251,  1420,  1251,    12,  1019,  1027,  1028,  1428,  1080,
++    1425,  1425,   954,  1304,  1251,   252,  1027,   252,  1420,  1420,
++     900,  1304,   182,   255,   351,   903,  1251,  1253,  1253,  1420,
++    1080,  1236,  1237,  1418,   128,  1251,   128,  1251,  1257,   835,
++    1425,  1080,  1421,  1080,  1080,    85,    87,   128,   149,   183,
++     378,   422,   902,  1251,  1257,  1019,   897,     6,   145,  1031,
++     906,   907,   908,   909,   910,  1428,     8,   182,  1043,   423,
++     915,   916,   969,   920,   637,   128,  1254,  1425,  1428,   349,
++     398,    23,   168,   675,   548,   138,   153,   677,   629,  1536,
++     629,   400,  1217,  1218,  1219,  1428,   660,   661,  1251,  1425,
++    1252,   824,   824,   803,   366,   204,  1304,   631,   797,   537,
++      19,   582,  1486,   447,   629,   132,   235,   575,   782,   674,
++    1548,   126,   240,   417,   514,   905,  1421,   265,   386,   826,
++     832,   833,   906,   832,   631,   895,   665,   666,   667,   637,
++    1178,  1238,  1328,  1227,  1127,   630,  1127,   540,   629,   945,
++     946,   946,   946,   629,   940,   941,   945,  1169,   946,   240,
++     946,   240,   630,   630,   630,    19,  1137,   630,   630,    19,
++     630,   630,   630,  1156,  1127,  1127,   630,   630,   370,  1163,
++     631,   631,   630,   631,   630,   242,  1148,  1149,   630,   630,
++     630,   630,   631,   630,   630,  1127,   630,   189,   630,   630,
++     631,   630,   631,   631,   630,  1127,   630,  1127,   630,  1127,
++     630,   630,   630,  1120,  1523,   630,  1517,   637,  1000,   630,
++    1171,  1129,   630,   631,   630,  1123,  1153,   630,   603,  1363,
++    1490,   603,  1493,   624,   624,  1484,  1484,  1484,   629,  1127,
++     360,  1310,  1097,  1421,  1101,   224,  1104,  1386,   630,   631,
++    1123,   842,   386,   859,   860,  1252,   844,  1431,   333,  1116,
++    1301,  1302,  1418,  1306,   631,   629,  1297,   630,   630,   631,
++     637,  1506,   726,   191,  1483,  1483,  1483,  1227,  1227,   147,
++     374,  1263,  1264,  1269,   575,   242,  1425,  1428,   637,  1428,
++     263,  1428,    12,    34,   128,   360,  1127,  1450,    71,   961,
++    1127,  1431,   359,   387,   537,  1449,  1443,  1303,  1243,  1248,
++    1243,  1351,   662,   569,   630,  1510,  1200,   634,   249,  1190,
++    1206,  1206,   249,   360,   360,   582,   631,  1314,  1303,  1215,
++    1216,  1116,  1127,  1241,  1416,   794,  1021,   629,   252,   252,
++     978,   999,   984,   999,   999,   145,   472,  1019,  1032,  1016,
++     631,  1252,   956,  1425,   999,  1042,  1425,  1033,  1019,   631,
++      20,   133,  1242,   839,  1019,  1024,  1019,   629,   630,   631,
++    1428,  1421,    33,    34,    39,    41,    43,    44,    60,   115,
++     118,   126,   143,   160,   183,   185,   198,   199,   240,   269,
++     278,   279,   281,   310,   311,   312,   329,   330,   331,   337,
++     340,   356,   357,   392,   393,   417,   468,   472,   484,   538,
++     541,   544,   545,   546,   547,   588,   589,   614,   921,   930,
++     933,   934,   935,   936,   937,   938,   939,  1428,   398,  1127,
++    1127,   360,   681,   687,   360,    82,   682,  1428,  1537,    19,
++    1019,   630,   631,   630,   631,   629,  1428,   824,   797,  1425,
++     905,  1555,   360,   360,   698,   699,   701,  1428,   488,  1421,
++     882,   630,   224,   438,   829,  1392,   895,   629,   629,   629,
++    1428,  1227,   266,  1249,  1221,  1127,   125,   280,   355,   560,
++      21,    34,    48,   567,   954,   964,   965,   966,   355,   629,
++     941,   947,   115,   118,   126,   143,   185,   240,   337,   340,
++     417,   544,   573,   934,   935,  1138,  1168,   630,  1221,  1221,
++      47,   466,  1162,  1127,  1127,  1171,    43,   338,   630,   603,
++    1150,  1127,  1221,  1127,  1127,  1127,  1127,   630,   630,   630,
++    1198,  1515,  1428,   630,  1171,  1124,   415,   202,   440,  1491,
++    1491,  1491,   128,  1127,  1308,  1309,   148,  1104,   259,  1392,
++     846,   630,   208,   252,   861,   630,   631,   630,  1120,   631,
++    1303,  1307,  1308,  1305,  1299,  1297,  1414,  1428,  1483,  1244,
++     204,  1232,  1427,  1427,   636,  1265,  1266,  1430,   474,   624,
++     415,   436,   467,  1448,   962,  1303,   629,   629,  1447,  1127,
++    1514,  1225,  1180,  1177,  1190,   249,   249,  1177,  1190,  1183,
++    1182,  1184,  1316,  1227,  1309,  1213,  1214,  1120,   631,  1242,
++     385,   629,  1022,  1127,   999,   984,   629,   983,   983,   128,
++     128,   919,  1074,  1028,   961,   921,  1015,  1237,  1025,  1027,
++    1017,  1366,   908,   629,   970,   945,   945,   946,   946,   940,
++     396,   931,   940,   940,   966,    60,   588,   934,   936,   966,
++     966,    60,   589,   589,   592,   940,   932,   946,   946,   946,
++     966,   945,   946,    26,    71,    82,   128,   197,   354,   360,
++     400,   468,   570,   923,   948,   949,   950,   968,  1133,  1424,
++     592,   945,   966,    34,   945,   967,   945,   945,   946,   947,
++     637,  1221,   482,  1425,   144,  1012,   630,   631,  1538,  1539,
++     630,  1218,   661,   671,   488,   233,   242,   375,   702,   703,
++     704,   705,  1122,   459,   630,   631,   700,  1425,   630,   630,
++     827,    19,   885,   997,   998,  1428,   997,   997,   454,  1247,
++     630,   630,   630,   630,   630,    34,    21,   567,   954,    34,
++     955,   631,   355,   946,   940,    60,   946,   240,   966,   630,
++     630,   630,  1164,  1409,   630,   630,   631,   630,   324,   254,
++     410,   630,   630,   630,   630,   630,   630,   904,  1115,  1244,
++    1510,   630,   275,   367,    64,   247,   347,   504,   517,   609,
++    1480,  1481,   603,  1492,  1492,  1492,   630,   631,  1311,   239,
++     629,   849,   843,   862,  1428,   860,   884,  1302,  1309,   630,
++    1509,    47,   209,  1229,  1270,  1430,   631,   324,    83,   561,
++     415,  1449,   537,   537,  1303,  1193,   360,  1186,  1190,  1190,
++     360,  1188,  1127,  1127,   629,  1238,   187,   224,   581,  1208,
++    1209,  1212,  1203,  1416,  1252,   859,   630,   629,   629,   997,
++     629,   629,   118,   541,   544,   622,   623,  1411,  1412,  1043,
++    1034,  1080,  1026,  1063,   630,   971,  1428,   301,   972,   480,
++     573,   615,   942,   943,   944,   629,   942,   942,   966,   592,
++     942,   629,   966,   942,   960,  1425,   350,   952,  1411,    14,
++     575,   128,   252,    19,   950,   252,   354,  1303,   966,   967,
++     966,   967,   942,   942,  1428,   676,   683,   684,  1428,   464,
++     629,  1540,   630,  1425,   630,   631,   700,  1543,   675,  1549,
++     701,   930,   951,   828,   893,   629,   882,   630,   631,  1242,
++     629,   630,   630,   169,   454,   955,   967,   355,  1165,  1416,
++    1127,   324,   173,  1119,  1119,    17,  1367,   537,   537,   537,
++      17,  1479,   202,   302,   303,   307,   308,  1494,  1495,  1309,
++     252,   531,  1122,   852,   629,   586,   863,   904,  1233,  1416,
++    1230,  1238,   954,   957,  1266,   630,   630,  1450,  1515,  1185,
++     582,  1187,   582,  1220,  1428,  1249,   977,   977,  1209,   904,
++    1242,   630,   997,   997,   630,   997,   997,  1413,  1413,  1043,
++     239,   630,   631,   192,   383,   481,   360,   973,   944,  1001,
++    1409,  1001,  1126,   350,   587,   922,   128,  1254,  1425,  1428,
++     506,   678,    53,    68,   180,   223,   248,   260,   364,   448,
++     685,   732,   734,   735,   736,   738,   739,   740,   741,   742,
++     743,   745,   753,   754,   757,   768,   771,   773,   774,  1424,
++    1429,  1433,  1109,  1107,   603,  1541,  1556,   704,  1428,  1421,
++     680,   681,   447,   961,  1509,   832,   882,   830,    82,   251,
++     985,   988,   991,   992,   993,  1424,   998,   355,   603,   986,
++     990,   992,   995,   987,   989,   992,   994,   169,   630,   631,
++    1242,   630,   138,  1480,   367,  1251,  1251,  1251,   355,   622,
++    1250,  1495,   575,  1421,   856,   518,   857,   854,   855,  1428,
++     242,   262,    82,    90,   114,   228,   304,   322,   346,   528,
++     879,   880,   881,  1345,   604,   605,   631,  1234,  1242,  1127,
++    1244,   956,  1271,  1194,  1127,   629,  1127,   629,   630,   631,
++     189,  1207,  1207,   630,   630,   911,   630,   630,   629,  1428,
++     132,   575,   630,   631,   630,  1126,   629,  1127,   156,   679,
++     755,   758,  1428,   191,   345,   746,   733,  1429,  1429,  1428,
++     737,   644,   282,   437,   602,   777,    31,   775,   638,   630,
++      52,    63,   272,   689,   951,   189,   677,  1550,   829,   630,
++    1506,  1425,  1304,   993,  1303,  1242,   630,   381,   995,   994,
++    1416,    61,   280,   355,  1317,  1318,  1418,  1387,  1123,  1252,
++     630,   631,   865,   539,  1304,  1304,   137,   137,  1304,  1304,
++    1304,  1304,   629,   874,   881,   159,  1416,   402,  1258,    73,
++    1393,  1510,  1220,  1220,  1428,   204,   249,   370,  1211,  1210,
++     969,   914,   985,   912,   913,   859,    51,   351,   445,   472,
++     974,   974,   966,  1409,   966,   929,  1127,  1127,   600,   760,
++     764,   191,  1428,   748,   749,  1127,   707,   731,   732,   734,
++     736,   738,   740,   741,   742,   743,   745,   753,   768,   771,
++     773,   707,   778,   776,   769,   772,  1509,    63,   367,    63,
++     136,   690,   691,  1133,  1557,  1122,   682,   951,   831,  1251,
++     128,  1254,  1425,  1428,  1424,  1242,   631,  1303,   957,   630,
++     853,   855,   629,   867,   869,   864,  1425,  1425,  1304,  1304,
++    1254,  1254,  1252,  1430,   519,   875,   876,  1304,  1242,  1428,
++     154,   164,   368,   536,  1394,  1395,   268,  1396,   630,   630,
++      47,    47,   629,   629,   985,   986,   987,   630,     5,   128,
++     354,   360,   360,   630,   756,   765,   151,   764,   767,   239,
++     155,  1127,   155,   731,   635,   574,  1127,   708,   777,   775,
++     367,   367,   136,   731,  1544,   144,  1551,  1509,  1318,  1309,
++    1388,   857,   629,   868,   869,   870,   309,   866,   869,  1425,
++    1425,   877,   630,   631,   900,  1259,    47,    47,   154,    47,
++    1395,   505,   536,  1397,  1398,  1217,  1219,   575,   132,   388,
++     596,   924,   600,   759,   761,  1127,   707,   155,   744,   223,
++     540,   282,   635,   780,   144,   127,   706,   709,   770,  1429,
++     770,   150,   683,   689,   454,  1399,   630,   631,   309,   872,
++     873,  1130,   878,  1430,   876,   629,  1409,  1409,    47,  1409,
++      47,    47,  1398,   630,   630,   974,   974,    82,   570,   925,
++     926,   927,   762,   761,   767,   766,    53,   747,  1428,   750,
++    1127,   779,    98,   172,   714,   729,  1428,   155,   731,   635,
++     456,  1552,   221,  1393,   869,   631,   871,   879,  1122,  1260,
++    1261,  1262,  1409,  1409,  1409,  1425,   252,   927,  1127,   155,
++     540,   631,   707,   155,   707,   206,   631,   710,    89,   108,
++     635,  1545,   731,    47,  1396,   873,   630,  1127,   630,   631,
++     763,    53,   707,  1428,   751,   437,   155,   189,  1428,   951,
++     189,   189,   731,  1409,   224,  1400,  1123,  1262,   540,   151,
++     152,   752,   602,   711,   128,   730,   717,   718,  1251,   712,
++     713,   355,   629,  1402,   707,   707,   748,   493,   495,   715,
++     716,   717,   720,  1133,  1428,  1127,  1105,   268,   454,  1401,
++     630,   636,  1403,  1404,  1418,   472,  1405,   631,   731,   190,
++    1430,   630,   631,  1406,  1407,  1418,   716,  1404,   631,  1303,
++    1407,  1122,  1309,  1123
++};
++
++  /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
++static const yytype_uint16 yyr1[] =
++{
++       0,   639,   640,   641,   640,   640,   642,   642,   643,   643,
++     644,   644,   644,   644,   644,   644,   644,   644,   644,   644,
++     644,   644,   644,   644,   644,   644,   644,   644,   644,   644,
++     644,   644,   644,   644,   644,   644,   644,   644,   644,   644,
++     644,   644,   644,   644,   644,   644,   644,   644,   644,   644,
++     644,   644,   644,   644,   644,   644,   644,   644,   644,   644,
++     644,   644,   644,   645,   646,   646,   647,   648,   648,   650,
++     649,   651,   651,   652,   652,   653,   655,   654,   657,   656,
++     658,   658,   659,   659,   659,   659,   659,   659,   659,   659,
++     659,   659,   659,   659,   659,   659,   659,   660,   660,   660,
++     661,   662,   662,   662,   662,   664,   663,   665,   663,   666,
++     663,   667,   663,   668,   663,   669,   663,   663,   663,   663,
++     663,   670,   671,   671,   672,   672,   672,   672,   672,   672,
++     672,   674,   673,   676,   675,   675,   677,   677,   677,   677,
++     678,   678,   679,   679,   680,   680,   681,   681,   682,   682,
++     684,   683,   685,   685,   685,   685,   685,   685,   685,   685,
++     685,   685,   685,   685,   685,   686,   687,   687,   688,   688,
++     689,   689,   690,   690,   690,   690,   690,   690,   690,   691,
++     691,   691,   692,   692,   694,   693,   695,   695,   696,   696,
++     697,   697,   698,   698,   699,   699,   700,   701,   702,   702,
++     703,   703,   704,   705,   705,   705,   705,   706,   706,   707,
++     707,   708,   708,   710,   709,   709,   711,   709,   709,   713,
++     712,   714,   714,   715,   715,   716,   717,   717,   718,   719,
++     719,   720,   720,   720,   720,   720,   721,   722,   722,   723,
++     723,   724,   724,   725,   725,   726,   726,   726,   727,   727,
++     727,   727,   727,   727,   727,   727,   727,   727,   727,   727,
++     728,   729,   729,   730,   730,   731,   731,   731,   731,   731,
++     731,   731,   731,   731,   731,   731,   731,   731,   733,   732,
++     735,   734,   737,   736,   739,   738,   740,   741,   742,   744,
++     743,   745,   746,   746,   746,   747,   747,   749,   750,   751,
++     748,   752,   752,   752,   753,   753,   755,   756,   754,   758,
++     757,   759,   759,   760,   760,   762,   763,   761,   765,   766,
++     764,   767,   767,   769,   768,   770,   770,   772,   771,   774,
++     773,   776,   775,   777,   778,   779,   777,   780,   777,   781,
++     781,   782,   782,   782,   783,   784,   785,   786,   786,   787,
++     787,   788,   789,   790,   790,   792,   791,   793,   793,   793,
++     794,   794,   794,   795,   796,   796,   796,   797,   797,   797,
++     797,   797,   797,   797,   797,   798,   799,   799,   799,   800,
++     800,   800,   800,   800,   801,   802,   802,   802,   803,   803,
++     803,   803,   803,   803,   803,   804,   805,   805,   805,   806,
++     806,   806,   807,   808,   809,   810,   811,   812,   812,   812,
++     813,   814,   815,   816,   817,   818,   819,   820,   821,   822,
++     822,   823,   823,   824,   824,   825,   825,   825,   825,   827,
++     826,   828,   826,   829,   830,   829,   831,   829,   832,   833,
++     833,   835,   834,   836,   838,   837,   839,   840,   841,   840,
++     840,   840,   840,   840,   842,   842,   843,   843,   844,   844,
++     845,   845,   846,   847,   848,   849,   850,   850,   851,   852,
++     851,   853,   851,   854,   854,   855,   856,   857,   857,   858,
++     858,   859,   859,   861,   860,   862,   863,   864,   863,   865,
++     863,   866,   866,   867,   867,   868,   868,   870,   871,   869,
++     872,   872,   873,   873,   874,   874,   875,   875,   877,   876,
++     878,   879,   879,   880,   880,   881,   881,   881,   881,   881,
++     881,   881,   881,   881,   883,   884,   882,   885,   885,   886,
++     886,   887,   887,   888,   888,   889,   889,   890,   890,   891,
++     892,   892,   893,   893,   894,   894,   895,   895,   895,   896,
++     896,   896,   896,   896,   896,   896,   896,   896,   896,   896,
++     896,   896,   896,   897,   896,   896,   896,   896,   896,   896,
++     896,   896,   896,   896,   896,   896,   896,   896,   896,   896,
++     898,   899,   900,   901,   902,   902,   902,   902,   902,   902,
++     902,   903,   903,   903,   904,   904,   905,   905,   905,   905,
++     906,   907,   907,   908,   908,   909,   909,   911,   910,   912,
++     910,   913,   910,   914,   910,   910,   910,   915,   915,   916,
++     917,   917,   918,   920,   919,   921,   922,   921,   923,   923,
++     924,   924,   924,   925,   925,   926,   926,   927,   927,   927,
++     928,   929,   930,   930,   930,   930,   930,   930,   930,   930,
++     930,   930,   930,   930,   930,   930,   930,   930,   930,   930,
++     930,   930,   930,   930,   930,   930,   930,   930,   930,   930,
++     930,   930,   930,   930,   930,   930,   930,   931,   930,   932,
++     930,   930,   930,   933,   933,   933,   933,   933,   933,   933,
++     933,   934,   935,   935,   936,   936,   937,   937,   937,   937,
++     937,   938,   938,   938,   938,   938,   939,   939,   939,   940,
++     940,   940,   941,   942,   942,   943,   943,   944,   944,   944,
++     945,   945,   945,   945,   946,   946,   947,   947,   948,   948,
++     949,   949,   950,   950,   950,   950,   950,   950,   950,   950,
++     950,   950,   950,   950,   950,   950,   950,   951,   952,   952,
++     953,   953,   954,   954,   955,   955,   956,   956,   957,   957,
++     958,   958,   959,   959,   960,   961,   961,   962,   962,   963,
++     963,   964,   964,   964,   965,   965,   965,   966,   966,   966,
++     966,   966,   966,   966,   967,   967,   968,   968,   969,   970,
++     970,   971,   971,   972,   972,   972,   972,   973,   973,   973,
++     973,   973,   974,   974,   974,   974,   974,   975,   976,   976,
++     977,   977,   978,   978,   979,   979,   979,   980,   980,   981,
++     982,   983,   984,   984,   985,   985,   986,   986,   987,   987,
++     988,   988,   989,   989,   990,   990,   991,   991,   992,   992,
++     992,   992,   992,   992,   993,   993,   994,   995,   995,   996,
++     996,   996,   997,   997,   998,   998,   999,   999,  1000,  1000,
++    1001,  1001,  1003,  1002,  1004,  1002,  1002,  1005,  1002,  1006,
++    1002,  1007,  1002,  1008,  1002,  1009,  1002,  1002,  1002,  1002,
++    1002,  1002,  1010,  1010,  1010,  1010,  1011,  1011,  1012,  1012,
++    1013,  1013,  1014,  1014,  1014,  1014,  1014,  1014,  1014,  1014,
++    1014,  1014,  1015,  1014,  1014,  1016,  1014,  1017,  1014,  1014,
++    1014,  1014,  1018,  1019,  1019,  1021,  1020,  1022,  1022,  1022,
++    1024,  1023,  1025,  1026,  1025,  1027,  1027,  1028,  1029,  1029,
++    1030,  1031,  1031,  1031,  1032,  1031,  1033,  1034,  1031,  1031,
++    1031,  1031,  1031,  1031,  1031,  1031,  1031,  1031,  1031,  1031,
++    1031,  1031,  1035,  1035,  1036,  1036,  1038,  1037,  1039,  1039,
++    1040,  1040,  1041,  1041,  1042,  1042,  1042,  1043,  1043,  1043,
++    1044,  1044,  1044,  1044,  1046,  1045,  1045,  1047,  1045,  1045,
++    1048,  1049,  1049,  1051,  1050,  1052,  1052,  1053,  1053,  1053,
++    1054,  1054,  1055,  1055,  1057,  1056,  1058,  1058,  1058,  1059,
++    1060,  1059,  1062,  1061,  1063,  1063,  1064,  1064,  1065,  1065,
++    1065,  1066,  1066,  1068,  1067,  1069,  1070,  1071,  1070,  1073,
++    1072,  1074,  1074,  1075,  1075,  1076,  1076,  1076,  1076,  1076,
++    1076,  1077,  1077,  1079,  1078,  1080,  1080,  1080,  1082,  1081,
++    1081,  1083,  1083,  1084,  1084,  1085,  1087,  1086,  1088,  1088,
++    1089,  1089,  1090,  1091,  1092,  1092,  1094,  1093,  1095,  1095,
++    1096,  1096,  1097,  1098,  1100,  1099,  1102,  1101,  1103,  1103,
++    1104,  1104,  1105,  1106,  1106,  1107,  1107,  1108,  1108,  1110,
++    1109,  1112,  1113,  1111,  1114,  1114,  1114,  1114,  1114,  1115,
++    1115,  1116,  1116,  1117,  1117,  1118,  1118,  1118,  1119,  1119,
++    1119,  1120,  1120,  1120,  1121,  1121,  1122,  1123,  1124,  1124,
++    1124,  1124,  1124,  1125,  1125,  1125,  1126,  1126,  1127,  1127,
++    1127,  1127,  1127,  1127,  1127,  1127,  1127,  1127,  1127,  1128,
++    1128,  1128,  1128,  1128,  1128,  1129,  1129,  1129,  1129,  1129,
++    1129,  1129,  1129,  1129,  1129,  1129,  1129,  1129,  1129,  1130,
++    1130,  1130,  1130,  1130,  1130,  1130,  1130,  1130,  1130,  1130,
++    1130,  1130,  1130,  1130,  1131,  1131,  1132,  1132,  1133,  1133,
++    1134,  1134,  1135,  1135,  1135,  1135,  1135,  1135,  1136,  1136,
++    1137,  1137,  1138,  1138,  1138,  1138,  1138,  1138,  1138,  1138,
++    1138,  1138,  1138,  1139,  1140,  1140,  1141,  1141,  1141,  1141,
++    1141,  1141,  1141,  1141,  1141,  1141,  1141,  1141,  1141,  1141,
++    1141,  1141,  1141,  1141,  1141,  1141,  1141,  1141,  1141,  1141,
++    1141,  1141,  1141,  1141,  1141,  1141,  1142,  1142,  1142,  1142,
++    1142,  1142,  1142,  1142,  1142,  1142,  1142,  1142,  1142,  1142,
++    1142,  1142,  1142,  1142,  1142,  1142,  1142,  1142,  1142,  1142,
++    1142,  1142,  1142,  1143,  1143,  1143,  1143,  1143,  1143,  1143,
++    1143,  1143,  1143,  1143,  1143,  1143,  1143,  1143,  1143,  1143,
++    1143,  1143,  1143,  1143,  1143,  1143,  1143,  1143,  1143,  1143,
++    1143,  1144,  1144,  1144,  1144,  1144,  1144,  1144,  1144,  1144,
++    1144,  1144,  1144,  1144,  1144,  1144,  1144,  1144,  1144,  1145,
++    1145,  1145,  1145,  1145,  1145,  1145,  1145,  1147,  1146,  1146,
++    1148,  1148,  1149,  1149,  1150,  1150,  1151,  1151,  1152,  1152,
++    1153,  1154,  1154,  1154,  1154,  1154,  1154,  1154,  1155,  1156,
++    1154,  1154,  1154,  1154,  1154,  1154,  1154,  1154,  1154,  1154,
++    1154,  1157,  1154,  1159,  1158,  1160,  1160,  1160,  1161,  1161,
++    1162,  1162,  1163,  1164,  1163,  1165,  1165,  1167,  1166,  1168,
++    1168,  1168,  1168,  1168,  1168,  1168,  1168,  1168,  1168,  1168,
++    1168,  1169,  1168,  1170,  1170,  1171,  1171,  1172,  1172,  1173,
++    1173,  1174,  1174,  1175,  1175,  1176,  1176,  1177,  1177,  1178,
++    1179,  1179,  1180,  1180,  1181,  1181,  1182,  1181,  1183,  1181,
++    1184,  1181,  1181,  1185,  1181,  1186,  1181,  1181,  1187,  1181,
++    1188,  1181,  1181,  1189,  1189,  1189,  1191,  1190,  1190,  1190,
++    1192,  1193,  1194,  1192,  1195,  1197,  1198,  1196,  1200,  1199,
++    1202,  1203,  1201,  1204,  1205,  1206,  1206,  1207,  1207,  1207,
++    1207,  1208,  1208,  1210,  1209,  1211,  1209,  1212,  1212,  1213,
++    1214,  1213,  1216,  1215,  1217,  1217,  1218,  1218,  1219,  1219,
++    1220,  1220,  1221,  1221,  1221,  1221,  1221,  1221,  1221,  1221,
++    1221,  1221,  1221,  1221,  1222,  1222,  1222,  1222,  1222,  1222,
++    1222,  1222,  1222,  1223,  1223,  1223,  1223,  1224,  1224,  1224,
++    1225,  1225,  1226,  1226,  1227,  1228,  1227,  1229,  1230,  1229,
++    1231,  1231,  1232,  1232,  1233,  1233,  1234,  1234,  1234,  1235,
++    1236,  1236,  1237,  1238,  1238,  1240,  1239,  1241,  1241,  1242,
++    1242,  1242,  1243,  1243,  1244,  1244,  1245,  1245,  1245,  1246,
++    1246,  1246,  1247,  1247,  1247,  1247,  1247,  1248,  1249,  1249,
++    1249,  1249,  1250,  1250,  1250,  1251,  1251,  1251,  1251,  1251,
++    1251,  1252,  1252,  1252,  1252,  1252,  1253,  1253,  1253,  1253,
++    1253,  1254,  1254,  1254,  1254,  1254,  1255,  1256,  1256,  1257,
++    1257,  1258,  1259,  1258,  1260,  1260,  1261,  1261,  1262,  1264,
++    1263,  1265,  1265,  1266,  1266,  1268,  1267,  1270,  1271,  1269,
++    1269,  1269,  1273,  1272,  1275,  1274,  1276,  1274,  1274,  1274,
++    1274,  1274,  1274,  1277,  1274,  1274,  1274,  1274,  1274,  1274,
++    1278,  1278,  1279,  1280,  1280,  1281,  1282,  1282,  1283,  1283,
++    1285,  1286,  1284,  1288,  1289,  1287,  1290,  1290,  1290,  1290,
++    1291,  1291,  1292,  1292,  1293,  1294,  1294,  1294,  1295,  1294,
++    1296,  1296,  1297,  1297,  1298,  1297,  1299,  1297,  1300,  1300,
++    1301,  1301,  1302,  1303,  1303,  1304,  1304,  1306,  1305,  1307,
++    1307,  1308,  1308,  1309,  1309,  1310,  1311,  1310,  1313,  1314,
++    1312,  1315,  1315,  1316,  1317,  1317,  1318,  1319,  1319,  1321,
++    1320,  1323,  1322,  1324,  1322,  1325,  1322,  1326,  1326,  1327,
++    1327,  1328,  1328,  1329,  1329,  1330,  1330,  1330,  1332,  1331,
++    1333,  1333,  1334,  1334,  1335,  1335,  1336,  1336,  1336,  1336,
++    1336,  1336,  1336,  1336,  1336,  1337,  1337,  1339,  1338,  1340,
++    1340,  1340,  1340,  1340,  1340,  1340,  1340,  1340,  1340,  1340,
++    1340,  1341,  1340,  1342,  1340,  1340,  1340,  1340,  1340,  1340,
++    1340,  1340,  1340,  1340,  1340,  1340,  1340,  1340,  1340,  1340,
++    1340,  1340,  1340,  1340,  1340,  1340,  1340,  1340,  1340,  1340,
++    1340,  1340,  1340,  1340,  1340,  1340,  1340,  1340,  1340,  1340,
++    1343,  1343,  1343,  1344,  1344,  1345,  1345,  1346,  1346,  1347,
++    1347,  1348,  1348,  1349,  1349,  1350,  1350,  1351,  1351,  1351,
++    1353,  1352,  1354,  1352,  1355,  1355,  1356,  1356,  1356,  1357,
++    1357,  1357,  1359,  1358,  1361,  1362,  1360,  1360,  1363,  1363,
++    1364,  1364,  1365,  1365,  1365,  1365,  1365,  1365,  1365,  1365,
++    1365,  1365,  1365,  1365,  1365,  1365,  1365,  1365,  1365,  1365,
++    1365,  1366,  1366,  1367,  1367,  1369,  1368,  1370,  1370,  1372,
++    1371,  1371,  1371,  1373,  1373,  1375,  1374,  1376,  1377,  1377,
++    1379,  1378,  1380,  1380,  1380,  1381,  1381,  1381,  1382,  1382,
++    1383,  1385,  1386,  1387,  1388,  1384,  1389,  1389,  1390,  1390,
++    1391,  1391,  1391,  1392,  1392,  1392,  1393,  1393,  1394,  1394,
++    1395,  1395,  1395,  1395,  1396,  1396,  1397,  1397,  1398,  1398,
++    1399,  1399,  1400,  1400,  1401,  1401,  1402,  1402,  1402,  1403,
++    1403,  1404,  1404,  1405,  1405,  1406,  1406,  1407,  1408,  1408,
++    1408,  1408,  1409,  1409,  1409,  1409,  1410,  1411,  1411,  1411,
++    1412,  1412,  1412,  1412,  1412,  1412,  1412,  1412,  1412,  1412,
++    1412,  1412,  1412,  1413,  1413,  1413,  1413,  1413,  1414,  1414,
++    1415,  1415,  1416,  1417,  1417,  1418,  1418,  1419,  1419,  1419,
++    1420,  1420,  1420,  1420,  1421,  1421,  1421,  1422,  1422,  1423,
++    1424,  1424,  1425,  1426,  1427,  1428,  1428,  1429,  1429,  1430,
++    1430,  1430,  1431,  1431,  1431,  1432,  1432,  1432,  1432,  1432,
++    1432,  1432,  1432,  1432,  1432,  1432,  1432,  1432,  1432,  1432,
++    1432,  1432,  1432,  1432,  1432,  1432,  1432,  1432,  1432,  1432,
++    1432,  1432,  1432,  1432,  1432,  1432,  1432,  1432,  1432,  1432,
++    1432,  1432,  1432,  1432,  1432,  1432,  1432,  1432,  1432,  1432,
++    1432,  1432,  1432,  1432,  1432,  1432,  1432,  1432,  1432,  1432,
++    1432,  1432,  1432,  1432,  1433,  1433,  1433,  1433,  1433,  1433,
++    1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,
++    1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,
++    1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,
++    1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,
++    1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,
++    1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,
++    1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,
++    1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,
++    1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,
++    1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,
++    1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,
++    1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,
++    1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,
++    1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,
++    1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,
++    1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,
++    1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,
++    1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,
++    1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,
++    1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,
++    1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,
++    1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,
++    1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,
++    1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,
++    1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,
++    1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,
++    1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,
++    1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,
++    1433,  1433,  1433,  1433,  1433,  1433,  1433,  1435,  1434,  1436,
++    1436,  1437,  1437,  1439,  1438,  1440,  1440,  1440,  1440,  1441,
++    1441,  1442,  1442,  1442,  1442,  1443,  1443,  1443,  1443,  1444,
++    1444,  1445,  1445,  1446,  1446,  1446,  1446,  1446,  1446,  1446,
++    1447,  1447,  1447,  1448,  1448,  1448,  1448,  1449,  1449,  1449,
++    1450,  1450,  1450,  1450,  1450,  1452,  1451,  1453,  1453,  1454,
++    1454,  1455,  1456,  1456,  1456,  1456,  1456,  1458,  1457,  1459,
++    1459,  1460,  1459,  1461,  1461,  1462,  1462,  1463,  1463,  1463,
++    1463,  1464,  1463,  1465,  1465,  1465,  1465,  1465,  1466,  1467,
++    1467,  1467,  1467,  1467,  1468,  1469,  1469,  1469,  1469,  1470,
++    1470,  1471,  1471,  1472,  1472,  1473,  1473,  1475,  1474,  1476,
++    1474,  1477,  1474,  1478,  1474,  1474,  1474,  1474,  1474,  1474,
++    1474,  1474,  1474,  1474,  1474,  1474,  1474,  1474,  1474,  1474,
++    1474,  1474,  1474,  1474,  1474,  1474,  1474,  1474,  1474,  1474,
++    1474,  1479,  1479,  1480,  1480,  1481,  1481,  1481,  1482,  1482,
++    1482,  1482,  1483,  1483,  1484,  1484,  1485,  1485,  1486,  1486,
++    1487,  1487,  1487,  1487,  1487,  1488,  1488,  1489,  1489,  1490,
++    1491,  1491,  1491,  1491,  1491,  1492,  1492,  1493,  1493,  1494,
++    1494,  1495,  1495,  1495,  1495,  1495,  1497,  1496,  1498,  1498,
++    1499,  1499,  1499,  1500,  1500,  1500,  1501,  1501,  1502,  1503,
++    1503,  1504,  1505,  1506,  1506,  1508,  1507,  1509,  1509,  1509,
++    1510,  1510,  1512,  1511,  1513,  1513,  1514,  1514,  1514,  1515,
++    1515,  1516,  1517,  1516,  1518,  1519,  1520,  1521,  1521,  1522,
++    1522,  1523,  1523,  1523,  1523,  1523,  1523,  1523,  1523,  1524,
++    1524,  1524,  1525,  1525,  1525,  1525,  1525,  1526,  1526,  1526,
++    1526,  1526,  1526,  1527,  1527,  1528,  1529,  1530,  1530,  1530,
++    1531,  1532,  1532,  1532,  1533,  1533,  1533,  1535,  1534,  1536,
++    1536,  1537,  1537,  1539,  1538,  1540,  1540,  1541,  1541,  1541,
++    1541,  1543,  1544,  1545,  1542,  1546,  1546,  1548,  1549,  1550,
++    1551,  1552,  1547,  1554,  1555,  1556,  1557,  1553,  1558,  1558,
++    1558,  1558,  1558,  1558,  1559,  1559,  1559,  1560,  1560,  1561,
++    1561,  1561,  1562,  1562,  1563,  1564,  1563,  1565,  1565,  1566,
++    1566,  1567,  1567,  1568
++};
++
++  /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN.  */
++static const yytype_uint8 yyr2[] =
++{
++       0,     2,     1,     0,     4,     2,     0,     1,     1,     1,
++       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
++       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
++       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
++       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
++       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
++       1,     1,     1,     3,     1,     1,     4,     1,     2,     0,
++       4,     0,     2,     3,     1,     2,     0,     3,     0,     5,
++       1,     3,     3,     3,     3,     3,     3,     3,     3,     3,
++       3,     3,     3,     3,     3,     5,     1,     0,     1,     3,
++       1,     3,     3,     3,     3,     0,     7,     0,    12,     0,
++      12,     0,    12,     0,     6,     0,     3,     4,     4,     3,
++       2,    10,     1,     3,     2,     2,     2,     2,     2,     2,
++       2,     0,    13,     0,     6,     2,     0,     1,     3,     1,
++       0,     2,     0,     2,     0,     1,     3,     4,     0,     2,
++       0,     2,     1,     1,     1,     1,     1,     1,     1,     1,
++       1,     1,     1,     1,     1,     0,     3,     1,     0,     2,
++       0,     2,     2,     2,     2,     2,     3,     3,     1,     1,
++       1,     2,     3,     3,     0,     4,     0,     3,     0,     1,
++       3,     1,     0,     1,     3,     1,     0,     3,     0,     1,
++       3,     1,     4,     0,     1,     1,     1,     0,     3,     2,
++       3,     0,     3,     0,     5,     5,     0,     7,     5,     0,
++       2,     1,     1,     1,     3,     1,     1,     1,     3,     0,
++       1,     1,     1,     1,     2,     1,     3,     1,     1,     0,
++       1,     0,     2,     3,     5,     1,     1,     1,     1,     1,
++       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
++       3,     1,     3,     0,     2,     1,     1,     1,     1,     1,
++       1,     1,     1,     1,     1,     1,     1,     1,     0,     5,
++       0,     2,     0,     3,     0,     2,     2,     2,     2,     0,
++       6,     2,     0,     2,     1,     1,     3,     0,     0,     0,
++       7,     0,     2,     2,     1,     1,     0,     0,     8,     0,
++       6,     1,     2,     1,     2,     0,     0,     6,     0,     0,
++       6,     0,     2,     0,     5,     0,     1,     0,     5,     0,
++       2,     0,     5,     4,     0,     0,     8,     0,     7,     1,
++       1,     1,     1,     1,     2,     4,     5,     0,     4,     4,
++       4,     3,     3,     2,     2,     0,     2,     1,     2,     3,
++       1,     1,     1,     1,     1,     2,     3,     1,     1,     1,
++       1,     1,     1,     1,     1,     1,     1,     2,     3,     1,
++       1,     1,     1,     1,     1,     1,     2,     3,     1,     1,
++       1,     1,     1,     1,     1,     1,     1,     2,     3,     1,
++       1,     1,     2,     2,     2,     1,     1,     1,     1,     2,
++       3,     3,     3,     3,     3,     3,     3,     3,     4,     0,
++       1,     1,     1,     1,     1,     2,     3,     2,     4,     0,
++       6,     0,     5,     0,     0,     5,     0,     7,     1,     0,
++       1,     0,     4,     0,     0,     3,     5,     6,     0,     4,
++       2,     2,     2,     2,     0,     1,     0,     3,     0,     1,
++       1,     3,     1,     4,     5,     5,     0,     2,     0,     0,
++       7,     0,    10,     1,     3,     1,     1,     0,     2,     0,
++       3,     1,     3,     0,     6,     1,     0,     0,     5,     0,
++       4,     1,     1,     1,     3,     1,     3,     0,     0,     5,
++       1,     3,     1,     1,     0,     3,     1,     3,     0,     4,
++       1,     0,     1,     2,     1,     3,     4,     3,     3,     3,
++       3,     4,     4,     3,     0,     0,     6,     0,     1,     0,
++       1,     1,     2,     1,     1,     0,     1,     1,     2,     1,
++       0,     3,     0,     1,     1,     2,     1,     2,     3,     3,
++       3,     3,     3,     3,     3,     3,     3,     3,     3,     3,
++       3,     3,     3,     0,     6,     1,     1,     3,     4,     4,
++       2,     2,     2,     3,     3,     3,     3,     3,     3,     3,
++       4,     4,     1,     1,     1,     1,     1,     1,     1,     1,
++       1,     1,     1,     1,     1,     2,     1,     1,     1,     1,
++       1,     1,     3,     1,     1,     2,     2,     0,     8,     0,
++       9,     0,     9,     0,     9,     8,     2,     0,     1,     4,
++       0,     1,     2,     0,     3,     2,     0,     9,     0,     2,
++       0,     1,     1,     0,     1,     2,     1,     1,     2,     2,
++       4,     3,     3,     3,     3,     1,     2,     1,     1,     3,
++       2,     3,     2,     2,     1,     3,     3,     2,     3,     1,
++       2,     2,     2,     1,     2,     1,     1,     1,     2,     3,
++       2,     3,     2,     2,     3,     3,     3,     0,     6,     0,
++       6,     2,     1,     1,     1,     1,     1,     1,     1,     1,
++       1,     1,     1,     2,     2,     1,     2,     1,     2,     3,
++       2,     1,     1,     1,     1,     1,     1,     1,     2,     0,
++       1,     1,     5,     0,     1,     2,     1,     1,     1,     1,
++       3,     3,     3,     3,     0,     1,     0,     1,     0,     1,
++       2,     1,     1,     2,     2,     4,     1,     3,     2,     1,
++       2,     2,     2,     3,     3,     3,     3,     2,     2,     1,
++       1,     1,     2,     1,     1,     1,     1,     1,     0,     2,
++       1,     1,     1,     1,     1,     0,     2,     1,     1,     0,
++       1,     1,     2,     2,     1,     2,     2,     0,     1,     1,
++       1,     3,     1,     3,     0,     1,     0,     1,     5,     0,
++       3,     3,     1,     0,     2,     2,     2,     0,     3,     3,
++       6,     6,     1,     1,     2,     2,     2,     1,     2,     2,
++       1,     1,     0,     1,     1,     1,     1,     0,     1,     1,
++       1,     0,     1,     2,     0,     1,     0,     1,     0,     1,
++       1,     2,     1,     2,     1,     2,     2,     2,     3,     2,
++       3,     3,     3,     3,     1,     1,     1,     1,     3,     1,
++       1,     1,     4,     2,     1,     4,     0,     1,     0,     2,
++       1,     3,     0,     6,     0,     5,     7,     0,     5,     0,
++       5,     0,     5,     0,     4,     0,    10,     3,     4,     3,
++       3,     7,     0,     3,     1,     4,     0,     3,     0,     2,
++       0,     1,     0,     2,     2,     2,     2,     1,     1,     1,
++       3,     4,     0,     6,     4,     0,     5,     0,     6,     4,
++       3,     1,     2,     1,     1,     0,     5,     0,     3,     2,
++       0,     5,     0,     0,     6,     1,     3,     1,     1,     3,
++       2,     3,     2,     4,     0,     6,     0,     0,     7,     4,
++       4,     3,     3,     2,     2,     6,     5,     3,     5,     1,
++       1,     1,     0,     1,     0,     1,     0,     2,     0,     1,
++       2,     1,     1,     1,     0,     1,     1,     0,     2,     1,
++       0,     1,     1,     1,     0,     5,     3,     0,     5,     3,
++       3,     0,     3,     0,     2,     1,     3,     0,     1,     1,
++       0,     2,     1,     3,     0,     5,     0,     1,     1,     3,
++       0,     4,     0,     4,     0,     1,     1,     2,     1,     1,
++       1,     0,     2,     0,     5,     2,     3,     0,     4,     0,
++       3,     0,     1,     1,     2,     1,     1,     1,     1,     1,
++       2,     0,     2,     0,     5,     0,     1,     1,     0,     4,
++       4,     3,     5,     1,     3,     3,     0,     6,     1,     1,
++       1,     3,     2,     3,     1,     1,     0,     6,     1,     1,
++       1,     3,     3,     4,     0,     6,     0,     2,     0,     4,
++       0,     2,     1,     2,     4,     2,     3,     2,     3,     0,
++       3,     0,     0,     6,     2,     1,     1,     2,     2,     8,
++       4,     0,     1,     2,     1,     1,     1,     1,     0,     2,
++       4,     3,     1,     1,     3,     4,     0,     0,     0,     2,
++       2,     1,     1,     0,     2,     3,     0,     2,     3,     3,
++       3,     2,     3,     4,     3,     4,     3,     4,     1,     3,
++       4,     3,     3,     6,     1,     5,     6,     5,     7,     6,
++       8,     5,     6,     4,     4,     5,     3,     4,     1,     3,
++       3,     3,     3,     3,     3,     5,     5,     3,     3,     3,
++       3,     3,     3,     1,     1,     1,     1,     1,     1,     1,
++       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
++       0,     2,     1,     2,     1,     1,     1,     2,     2,     1,
++       1,     2,     2,     4,     1,     3,     1,     1,     1,     1,
++       1,     3,     1,     1,     1,     1,     3,     2,     2,     2,
++       2,     3,     3,     5,     6,     4,     4,     7,     2,     6,
++       5,     6,     6,     4,     4,     5,     4,     6,     2,     4,
++       4,     4,    10,     6,     8,     6,     4,     4,     6,     4,
++       4,     4,     6,     4,     7,     7,     7,     6,     6,     6,
++       6,     3,     4,     6,     8,     2,     2,     8,     8,     6,
++       6,     2,     6,     6,     8,     8,     6,     8,     6,     2,
++       8,     8,     2,     2,     2,     6,     6,     6,     4,     4,
++       8,     4,     4,     4,     4,     3,     8,     4,     4,     6,
++       4,     4,     4,     6,     8,     6,     4,     6,     1,     6,
++       4,     4,     4,     4,     4,     6,     4,     0,     5,     6,
++       2,     3,     0,     4,     0,     3,     0,     1,     1,     3,
++       4,     4,     5,     4,     4,     4,     5,     4,     0,     0,
++       7,     4,     5,     4,     5,     4,     4,     4,     4,     4,
++       5,     0,     8,     0,     3,     3,     1,     4,     0,     1,
++       0,     2,     0,     0,     4,     4,     2,     0,     3,     2,
++       3,     2,     1,     1,     2,     1,     2,     1,     2,     2,
++       2,     0,     3,     0,     1,     1,     3,     1,     3,     1,
++       3,     0,     1,     0,     2,     4,     5,     1,     1,     1,
++       1,     4,     1,     3,     3,     3,     0,     6,     0,     6,
++       0,     8,     4,     0,     8,     0,    10,     6,     0,     8,
++       0,    10,     6,     1,     2,     2,     0,     4,     3,     5,
++       2,     0,     0,     7,     1,     0,     0,     6,     0,     3,
++       0,     0,     5,     0,     1,     0,     1,     0,     2,     3,
++       3,     1,     1,     0,     7,     0,     7,     1,     2,     0,
++       0,     2,     0,     2,     0,     1,     1,     1,     1,     3,
++       1,     3,     1,     1,     1,     1,     1,     1,     1,     1,
++       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
++       1,     1,     1,     1,     1,     1,     1,     0,     1,     1,
++       0,     2,     0,     1,     0,     0,     3,     0,     0,     3,
++       2,     0,     0,     4,     4,     2,     0,     1,     1,     3,
++       3,     1,     2,     0,     1,     0,     4,     4,     2,     0,
++       1,     1,     0,     1,     0,     1,     2,     5,     4,     1,
++       3,     3,     1,     1,     1,     1,     1,     1,     0,     2,
++       3,     4,     1,     2,     2,     1,     1,     1,     1,     1,
++       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
++       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
++       1,     0,     0,     6,     0,     1,     3,     1,     3,     0,
++       2,     3,     1,     2,     1,     0,     3,     0,     0,     7,
++       2,     1,     0,     3,     0,     7,     0,     6,     4,     6,
++       4,     4,     4,     0,     6,     4,     4,     5,     6,     4,
++       1,     3,     1,     1,     3,     1,     0,     2,     0,     1,
++       0,     0,     8,     0,     0,     6,     0,     1,     1,     1,
++       1,     1,     2,     1,     1,     1,     3,     4,     0,     3,
++       3,     1,     2,     2,     0,     3,     0,     5,     3,     1,
++       3,     1,     3,     1,     1,     0,     1,     0,     4,     0,
++       1,     3,     1,     1,     1,     0,     0,     6,     0,     0,
++      11,     3,     1,     3,     3,     1,     3,     0,     1,     0,
++       4,     0,     6,     0,     5,     0,     6,     1,     3,     2,
++       4,     0,     2,     0,     2,     1,     1,     1,     0,     4,
++       0,     1,     0,     1,     1,     3,     1,     1,     2,     2,
++       2,     1,     1,     1,     1,     0,     3,     0,     3,     2,
++       4,     4,     3,     4,     4,     1,     3,     3,     6,     2,
++       2,     0,     6,     0,     6,     5,     2,     1,     1,     1,
++       5,     5,     2,     2,     1,     4,     3,     2,     3,     2,
++       2,     1,     3,     4,     3,     3,     2,     2,     1,     1,
++       1,     1,     3,     3,     3,     3,     3,     3,     3,     3,
++       1,     1,     1,     1,     1,     0,     1,     0,     2,     0,
++       1,     1,     1,     0,     2,     0,     2,     0,     2,     2,
++       0,     4,     0,     4,     1,     1,     0,     1,     1,     0,
++       1,     1,     0,     4,     0,     0,     5,     1,     0,     4,
++       3,     1,     2,     2,     2,     2,     2,     2,     2,     1,
++       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
++       1,     0,     1,     0,     3,     0,     3,     3,     1,     0,
++       3,     1,     2,     0,     1,     0,     3,     3,     2,     2,
++       0,     5,     0,     1,     1,     0,     1,     1,     1,     2,
++       2,     0,     0,     0,     0,    21,     1,     1,     0,     1,
++       0,     1,     1,     0,     1,     1,     0,     2,     2,     1,
++       3,     4,     3,     3,     0,     2,     2,     1,     3,     3,
++       0,     4,     0,     3,     1,     1,     0,     3,     2,     3,
++       1,     1,     2,     0,     2,     3,     1,     5,     1,     1,
++       2,     2,     1,     1,     1,     1,     1,     1,     2,     2,
++       1,     1,     1,     1,     1,     1,     1,     1,     2,     2,
++       2,     2,     2,     1,     1,     1,     1,     1,     1,     1,
++       3,     5,     1,     1,     1,     1,     1,     3,     4,     5,
++       1,     5,     3,     2,     1,     3,     2,     2,     4,     1,
++       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
++       1,     1,     1,     3,     2,     1,     1,     1,     1,     1,
++       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
++       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
++       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
++       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
++       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
++       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
++       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
++       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
++       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
++       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
++       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
++       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
++       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
++       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
++       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
++       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
++       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
++       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
++       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
++       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
++       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
++       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
++       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
++       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
++       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
++       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
++       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
++       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
++       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
++       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
++       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
++       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
++       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
++       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
++       1,     1,     1,     1,     1,     1,     1,     0,     4,     0,
++       1,     1,     3,     0,     2,     1,     1,     1,     1,     0,
++       1,     0,     1,     1,     1,     0,     2,     2,     2,     1,
++       2,     4,     5,     4,     6,     2,     3,     3,     3,     5,
++       1,     3,     3,     2,     2,     2,     1,     1,     4,     4,
++       1,     1,     1,     1,     1,     0,     4,     1,     1,     1,
++       3,     3,     1,     1,     2,     2,     2,     0,     3,     4,
++       3,     0,     7,     1,     2,     1,     1,     1,     1,     1,
++       1,     0,     5,     1,     1,     1,     1,     1,     3,     6,
++       6,     6,     7,     5,     3,     8,     8,     8,     6,     0,
++       1,     1,     2,     0,     1,     1,     3,     0,     3,     0,
++       3,     0,     3,     0,     3,     1,     1,     1,     1,     1,
++       1,     1,     1,     1,     1,     1,     2,     2,     1,     3,
++       2,     2,     2,     2,     2,     2,     2,     2,     1,     1,
++       2,     0,     1,     3,     1,     2,     2,     2,     1,     3,
++       3,     1,     1,     3,     1,     3,     1,     1,     1,     1,
++       4,     5,     4,     6,     1,     0,     3,     3,     1,     1,
++       0,     2,     2,     2,     2,     0,     2,     0,     3,     2,
++       1,     2,     2,     2,     2,     2,     0,     3,     0,     1,
++       0,     3,     2,     0,     1,     2,     0,     1,     4,     4,
++       5,     2,     3,     0,     1,     0,     4,     0,     1,     1,
++       0,     1,     0,     2,     2,     1,     0,     1,     1,     2,
++       3,     2,     0,     6,     3,     0,     0,     0,     1,     2,
++       1,     1,     1,     1,     1,     1,     1,     1,     1,     2,
++       2,     3,     1,     1,     1,     1,     1,     1,     1,     1,
++       1,     1,     1,     1,     1,     0,     3,     1,     2,     1,
++       2,     3,     3,     3,     0,     3,     3,     0,     7,     0,
++       3,     1,     3,     0,     3,     2,     4,     0,     3,     4,
++       4,     0,     0,     0,    16,     8,     7,     0,     0,     0,
++       0,     0,    15,     0,     0,     0,     0,    12,     4,     4,
++       3,     4,     3,     2,     1,     3,     5,     1,     1,     0,
++       1,     1,     0,     2,     0,     0,     3,     0,     2,     5,
++       3,     3,     3,     1
++};
++
++
++#define yyerrok         (yyerrstatus = 0)
++#define yyclearin       (yychar = YYEMPTY)
++#define YYEMPTY         (-2)
++#define YYEOF           0
++
++#define YYACCEPT        goto yyacceptlab
++#define YYABORT         goto yyabortlab
++#define YYERROR         goto yyerrorlab
++
++
++#define YYRECOVERING()  (!!yyerrstatus)
++
++#define YYBACKUP(Token, Value)                                  \
++do                                                              \
++  if (yychar == YYEMPTY)                                        \
++    {                                                           \
++      yychar = (Token);                                         \
++      yylval = (Value);                                         \
++      YYPOPSTACK (yylen);                                       \
++      yystate = *yyssp;                                         \
++      goto yybackup;                                            \
++    }                                                           \
++  else                                                          \
++    {                                                           \
++      yyerror (thd, YY_("syntax error: cannot back up")); \
++      YYERROR;                                                  \
++    }                                                           \
++while (0)
++
++/* Error token number */
++#define YYTERROR        1
++#define YYERRCODE       256
++
++
++
++/* Enable debugging if requested.  */
++#if YYDEBUG
++
++# ifndef YYFPRINTF
++#  include <stdio.h> /* INFRINGES ON USER NAME SPACE */
++#  define YYFPRINTF fprintf
++# endif
++
++# define YYDPRINTF(Args)                        \
++do {                                            \
++  if (yydebug)                                  \
++    YYFPRINTF Args;                             \
++} while (0)
++
++/* This macro is provided for backward compatibility. */
++#ifndef YY_LOCATION_PRINT
++# define YY_LOCATION_PRINT(File, Loc) ((void) 0)
++#endif
++
++
++# define YY_SYMBOL_PRINT(Title, Type, Value, Location)                    \
++do {                                                                      \
++  if (yydebug)                                                            \
++    {                                                                     \
++      YYFPRINTF (stderr, "%s ", Title);                                   \
++      yy_symbol_print (stderr,                                            \
++                  Type, Value, thd); \
++      YYFPRINTF (stderr, "\n");                                           \
++    }                                                                     \
++} while (0)
++
++
++/*----------------------------------------.
++| Print this symbol's value on YYOUTPUT.  |
++`----------------------------------------*/
++
++static void
++yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep, THD *thd)
++{
++  FILE *yyo = yyoutput;
++  YYUSE (yyo);
++  YYUSE (thd);
++  if (!yyvaluep)
++    return;
++# ifdef YYPRINT
++  if (yytype < YYNTOKENS)
++    YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
++# endif
++  YYUSE (yytype);
++}
++
++
++/*--------------------------------.
++| Print this symbol on YYOUTPUT.  |
++`--------------------------------*/
++
++static void
++yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep, THD *thd)
++{
++  YYFPRINTF (yyoutput, "%s %s (",
++             yytype < YYNTOKENS ? "token" : "nterm", yytname[yytype]);
++
++  yy_symbol_value_print (yyoutput, yytype, yyvaluep, thd);
++  YYFPRINTF (yyoutput, ")");
++}
++
++/*------------------------------------------------------------------.
++| yy_stack_print -- Print the state stack from its BOTTOM up to its |
++| TOP (included).                                                   |
++`------------------------------------------------------------------*/
++
++static void
++yy_stack_print (yytype_int16 *yybottom, yytype_int16 *yytop)
++{
++  YYFPRINTF (stderr, "Stack now");
++  for (; yybottom <= yytop; yybottom++)
++    {
++      int yybot = *yybottom;
++      YYFPRINTF (stderr, " %d", yybot);
++    }
++  YYFPRINTF (stderr, "\n");
++}
++
++# define YY_STACK_PRINT(Bottom, Top)                            \
++do {                                                            \
++  if (yydebug)                                                  \
++    yy_stack_print ((Bottom), (Top));                           \
++} while (0)
++
++
++/*------------------------------------------------.
++| Report that the YYRULE is going to be reduced.  |
++`------------------------------------------------*/
++
++static void
++yy_reduce_print (yytype_int16 *yyssp, YYSTYPE *yyvsp, int yyrule, THD *thd)
++{
++  unsigned long int yylno = yyrline[yyrule];
++  int yynrhs = yyr2[yyrule];
++  int yyi;
++  YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n",
++             yyrule - 1, yylno);
++  /* The symbols being reduced.  */
++  for (yyi = 0; yyi < yynrhs; yyi++)
++    {
++      YYFPRINTF (stderr, "   $%d = ", yyi + 1);
++      yy_symbol_print (stderr,
++                       yystos[yyssp[yyi + 1 - yynrhs]],
++                       &(yyvsp[(yyi + 1) - (yynrhs)])
++                                              , thd);
++      YYFPRINTF (stderr, "\n");
++    }
++}
++
++# define YY_REDUCE_PRINT(Rule)          \
++do {                                    \
++  if (yydebug)                          \
++    yy_reduce_print (yyssp, yyvsp, Rule, thd); \
++} while (0)
++
++/* Nonzero means print parse trace.  It is left uninitialized so that
++   multiple parsers can coexist.  */
++int yydebug;
++#else /* !YYDEBUG */
++# define YYDPRINTF(Args)
++# define YY_SYMBOL_PRINT(Title, Type, Value, Location)
++# define YY_STACK_PRINT(Bottom, Top)
++# define YY_REDUCE_PRINT(Rule)
++#endif /* !YYDEBUG */
++
++
++/* YYINITDEPTH -- initial size of the parser's stacks.  */
++#ifndef YYINITDEPTH
++# define YYINITDEPTH 200
++#endif
++
++/* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
++   if the built-in stack extension method is used).
++
++   Do not make this value too large; the results are undefined if
++   YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH)
++   evaluated with infinite-precision integer arithmetic.  */
++
++#ifndef YYMAXDEPTH
++# define YYMAXDEPTH 10000
++#endif
++
++
++#if YYERROR_VERBOSE
++
++# ifndef yystrlen
++#  if defined __GLIBC__ && defined _STRING_H
++#   define yystrlen strlen
++#  else
++/* Return the length of YYSTR.  */
++static YYSIZE_T
++yystrlen (const char *yystr)
++{
++  YYSIZE_T yylen;
++  for (yylen = 0; yystr[yylen]; yylen++)
++    continue;
++  return yylen;
++}
++#  endif
++# endif
++
++# ifndef yystpcpy
++#  if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE
++#   define yystpcpy stpcpy
++#  else
++/* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
++   YYDEST.  */
++static char *
++yystpcpy (char *yydest, const char *yysrc)
++{
++  char *yyd = yydest;
++  const char *yys = yysrc;
++
++  while ((*yyd++ = *yys++) != '\0')
++    continue;
++
++  return yyd - 1;
++}
++#  endif
++# endif
++
++# ifndef yytnamerr
++/* Copy to YYRES the contents of YYSTR after stripping away unnecessary
++   quotes and backslashes, so that it's suitable for yyerror.  The
++   heuristic is that double-quoting is unnecessary unless the string
++   contains an apostrophe, a comma, or backslash (other than
++   backslash-backslash).  YYSTR is taken from yytname.  If YYRES is
++   null, do not copy; instead, return the length of what the result
++   would have been.  */
++static YYSIZE_T
++yytnamerr (char *yyres, const char *yystr)
++{
++  if (*yystr == '"')
++    {
++      YYSIZE_T yyn = 0;
++      char const *yyp = yystr;
++
++      for (;;)
++        switch (*++yyp)
++          {
++          case '\'':
++          case ',':
++            goto do_not_strip_quotes;
++
++          case '\\':
++            if (*++yyp != '\\')
++              goto do_not_strip_quotes;
++            /* Fall through.  */
++          default:
++            if (yyres)
++              yyres[yyn] = *yyp;
++            yyn++;
++            break;
++
++          case '"':
++            if (yyres)
++              yyres[yyn] = '\0';
++            return yyn;
++          }
++    do_not_strip_quotes: ;
++    }
++
++  if (! yyres)
++    return yystrlen (yystr);
++
++  return yystpcpy (yyres, yystr) - yyres;
++}
++# endif
++
++/* Copy into *YYMSG, which is of size *YYMSG_ALLOC, an error message
++   about the unexpected token YYTOKEN for the state stack whose top is
++   YYSSP.
++
++   Return 0 if *YYMSG was successfully written.  Return 1 if *YYMSG is
++   not large enough to hold the message.  In that case, also set
++   *YYMSG_ALLOC to the required number of bytes.  Return 2 if the
++   required number of bytes is too large to store.  */
++static int
++yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,
++                yytype_int16 *yyssp, int yytoken)
++{
++  YYSIZE_T yysize0 = yytnamerr (YY_NULLPTR, yytname[yytoken]);
++  YYSIZE_T yysize = yysize0;
++  enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
++  /* Internationalized format string. */
++  const char *yyformat = YY_NULLPTR;
++  /* Arguments of yyformat. */
++  char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
++  /* Number of reported tokens (one for the "unexpected", one per
++     "expected"). */
++  int yycount = 0;
++
++  /* There are many possibilities here to consider:
++     - If this state is a consistent state with a default action, then
++       the only way this function was invoked is if the default action
++       is an error action.  In that case, don't check for expected
++       tokens because there are none.
++     - The only way there can be no lookahead present (in yychar) is if
++       this state is a consistent state with a default action.  Thus,
++       detecting the absence of a lookahead is sufficient to determine
++       that there is no unexpected or expected token to report.  In that
++       case, just report a simple "syntax error".
++     - Don't assume there isn't a lookahead just because this state is a
++       consistent state with a default action.  There might have been a
++       previous inconsistent state, consistent state with a non-default
++       action, or user semantic action that manipulated yychar.
++     - Of course, the expected token list depends on states to have
++       correct lookahead information, and it depends on the parser not
++       to perform extra reductions after fetching a lookahead from the
++       scanner and before detecting a syntax error.  Thus, state merging
++       (from LALR or IELR) and default reductions corrupt the expected
++       token list.  However, the list is correct for canonical LR with
++       one exception: it will still contain any token that will not be
++       accepted due to an error action in a later state.
++  */
++  if (yytoken != YYEMPTY)
++    {
++      int yyn = yypact[*yyssp];
++      yyarg[yycount++] = yytname[yytoken];
++      if (!yypact_value_is_default (yyn))
++        {
++          /* Start YYX at -YYN if negative to avoid negative indexes in
++             YYCHECK.  In other words, skip the first -YYN actions for
++             this state because they are default actions.  */
++          int yyxbegin = yyn < 0 ? -yyn : 0;
++          /* Stay within bounds of both yycheck and yytname.  */
++          int yychecklim = YYLAST - yyn + 1;
++          int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
++          int yyx;
++
++          for (yyx = yyxbegin; yyx < yyxend; ++yyx)
++            if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR
++                && !yytable_value_is_error (yytable[yyx + yyn]))
++              {
++                if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
++                  {
++                    yycount = 1;
++                    yysize = yysize0;
++                    break;
++                  }
++                yyarg[yycount++] = yytname[yyx];
++                {
++                  YYSIZE_T yysize1 = yysize + yytnamerr (YY_NULLPTR, yytname[yyx]);
++                  if (! (yysize <= yysize1
++                         && yysize1 <= YYSTACK_ALLOC_MAXIMUM))
++                    return 2;
++                  yysize = yysize1;
++                }
++              }
++        }
++    }
++
++  switch (yycount)
++    {
++# define YYCASE_(N, S)                      \
++      case N:                               \
++        yyformat = S;                       \
++      break
++      YYCASE_(0, YY_("syntax error"));
++      YYCASE_(1, YY_("syntax error, unexpected %s"));
++      YYCASE_(2, YY_("syntax error, unexpected %s, expecting %s"));
++      YYCASE_(3, YY_("syntax error, unexpected %s, expecting %s or %s"));
++      YYCASE_(4, YY_("syntax error, unexpected %s, expecting %s or %s or %s"));
++      YYCASE_(5, YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s"));
++# undef YYCASE_
++    }
++
++  {
++    YYSIZE_T yysize1 = yysize + yystrlen (yyformat);
++    if (! (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM))
++      return 2;
++    yysize = yysize1;
++  }
++
++  if (*yymsg_alloc < yysize)
++    {
++      *yymsg_alloc = 2 * yysize;
++      if (! (yysize <= *yymsg_alloc
++             && *yymsg_alloc <= YYSTACK_ALLOC_MAXIMUM))
++        *yymsg_alloc = YYSTACK_ALLOC_MAXIMUM;
++      return 1;
++    }
++
++  /* Avoid sprintf, as that infringes on the user's name space.
++     Don't have undefined behavior even if the translation
++     produced a string with the wrong number of "%s"s.  */
++  {
++    char *yyp = *yymsg;
++    int yyi = 0;
++    while ((*yyp = *yyformat) != '\0')
++      if (*yyp == '%' && yyformat[1] == 's' && yyi < yycount)
++        {
++          yyp += yytnamerr (yyp, yyarg[yyi++]);
++          yyformat += 2;
++        }
++      else
++        {
++          yyp++;
++          yyformat++;
++        }
++  }
++  return 0;
++}
++#endif /* YYERROR_VERBOSE */
++
++/*-----------------------------------------------.
++| Release the memory associated to this symbol.  |
++`-----------------------------------------------*/
++
++static void
++yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, THD *thd)
++{
++  YYUSE (yyvaluep);
++  YYUSE (thd);
++  if (!yymsg)
++    yymsg = "Deleting";
++  YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp);
++
++  YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
++  YYUSE (yytype);
++  YY_IGNORE_MAYBE_UNINITIALIZED_END
++}
++
++
++
++
++/*----------.
++| yyparse.  |
++`----------*/
++
++int
++yyparse (THD *thd)
++{
++/* The lookahead symbol.  */
++int yychar;
++
++
++/* The semantic value of the lookahead symbol.  */
++/* Default value used for initialization, for pacifying older GCCs
++   or non-GCC compilers.  */
++YY_INITIAL_VALUE (static YYSTYPE yyval_default;)
++YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
++
++    /* Number of syntax errors so far.  */
++    int yynerrs;
++
++    int yystate;
++    /* Number of tokens to shift before error messages enabled.  */
++    int yyerrstatus;
++
++    /* The stacks and their tools:
++       'yyss': related to states.
++       'yyvs': related to semantic values.
++
++       Refer to the stacks through separate pointers, to allow yyoverflow
++       to reallocate them elsewhere.  */
++
++    /* The state stack.  */
++    yytype_int16 yyssa[YYINITDEPTH];
++    yytype_int16 *yyss;
++    yytype_int16 *yyssp;
++
++    /* The semantic value stack.  */
++    YYSTYPE yyvsa[YYINITDEPTH];
++    YYSTYPE *yyvs;
++    YYSTYPE *yyvsp;
++
++    YYSIZE_T yystacksize;
++
++  int yyn;
++  int yyresult;
++  /* Lookahead token as an internal (translated) token number.  */
++  int yytoken = 0;
++  /* The variables used to return semantic value and location from the
++     action routines.  */
++  YYSTYPE yyval;
++
++#if YYERROR_VERBOSE
++  /* Buffer for error messages, and its allocated size.  */
++  char yymsgbuf[128];
++  char *yymsg = yymsgbuf;
++  YYSIZE_T yymsg_alloc = sizeof yymsgbuf;
++#endif
++
++#define YYPOPSTACK(N)   (yyvsp -= (N), yyssp -= (N))
++
++  /* The number of symbols on the RHS of the reduced rule.
++     Keep to zero when no symbol should be popped.  */
++  int yylen = 0;
++
++  yyssp = yyss = yyssa;
++  yyvsp = yyvs = yyvsa;
++  yystacksize = YYINITDEPTH;
++
++  YYDPRINTF ((stderr, "Starting parse\n"));
++
++  yystate = 0;
++  yyerrstatus = 0;
++  yynerrs = 0;
++  yychar = YYEMPTY; /* Cause a token to be read.  */
++  goto yysetstate;
++
++/*------------------------------------------------------------.
++| yynewstate -- Push a new state, which is found in yystate.  |
++`------------------------------------------------------------*/
++ yynewstate:
++  /* In all cases, when you get here, the value and location stacks
++     have just been pushed.  So pushing a state here evens the stacks.  */
++  yyssp++;
++
++ yysetstate:
++  *yyssp = yystate;
++
++  if (yyss + yystacksize - 1 <= yyssp)
++    {
++      /* Get the current used size of the three stacks, in elements.  */
++      YYSIZE_T yysize = yyssp - yyss + 1;
++
++#ifdef yyoverflow
++      {
++        /* Give user a chance to reallocate the stack.  Use copies of
++           these so that the &'s don't force the real ones into
++           memory.  */
++        YYSTYPE *yyvs1 = yyvs;
++        yytype_int16 *yyss1 = yyss;
++
++        /* Each stack pointer address is followed by the size of the
++           data in use in that stack, in bytes.  This used to be a
++           conditional around just the two extra args, but that might
++           be undefined if yyoverflow is a macro.  */
++        yyoverflow (YY_("memory exhausted"),
++                    &yyss1, yysize * sizeof (*yyssp),
++                    &yyvs1, yysize * sizeof (*yyvsp),
++                    &yystacksize);
++
++        yyss = yyss1;
++        yyvs = yyvs1;
++      }
++#else /* no yyoverflow */
++# ifndef YYSTACK_RELOCATE
++      goto yyexhaustedlab;
++# else
++      /* Extend the stack our own way.  */
++      if (YYMAXDEPTH <= yystacksize)
++        goto yyexhaustedlab;
++      yystacksize *= 2;
++      if (YYMAXDEPTH < yystacksize)
++        yystacksize = YYMAXDEPTH;
++
++      {
++        yytype_int16 *yyss1 = yyss;
++        union yyalloc *yyptr =
++          (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
++        if (! yyptr)
++          goto yyexhaustedlab;
++        YYSTACK_RELOCATE (yyss_alloc, yyss);
++        YYSTACK_RELOCATE (yyvs_alloc, yyvs);
++#  undef YYSTACK_RELOCATE
++        if (yyss1 != yyssa)
++          YYSTACK_FREE (yyss1);
++      }
++# endif
++#endif /* no yyoverflow */
++
++      yyssp = yyss + yysize - 1;
++      yyvsp = yyvs + yysize - 1;
++
++      YYDPRINTF ((stderr, "Stack size increased to %lu\n",
++                  (unsigned long int) yystacksize));
++
++      if (yyss + yystacksize - 1 <= yyssp)
++        YYABORT;
++    }
++
++  YYDPRINTF ((stderr, "Entering state %d\n", yystate));
++
++  if (yystate == YYFINAL)
++    YYACCEPT;
++
++  goto yybackup;
++
++/*-----------.
++| yybackup.  |
++`-----------*/
++yybackup:
++
++  /* Do appropriate processing given the current state.  Read a
++     lookahead token if we need one and don't already have one.  */
++
++  /* First try to decide what to do without reference to lookahead token.  */
++  yyn = yypact[yystate];
++  if (yypact_value_is_default (yyn))
++    goto yydefault;
++
++  /* Not known => get a lookahead token if don't already have one.  */
++
++  /* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol.  */
++  if (yychar == YYEMPTY)
++    {
++      YYDPRINTF ((stderr, "Reading a token: "));
++      yychar = yylex (&yylval, thd);
++    }
++
++  if (yychar <= YYEOF)
++    {
++      yychar = yytoken = YYEOF;
++      YYDPRINTF ((stderr, "Now at end of input.\n"));
++    }
++  else
++    {
++      yytoken = YYTRANSLATE (yychar);
++      YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc);
++    }
++
++  /* If the proper action on seeing token YYTOKEN is to reduce or to
++     detect an error, take that action.  */
++  yyn += yytoken;
++  if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken)
++    goto yydefault;
++  yyn = yytable[yyn];
++  if (yyn <= 0)
++    {
++      if (yytable_value_is_error (yyn))
++        goto yyerrlab;
++      yyn = -yyn;
++      goto yyreduce;
++    }
++
++  /* Count tokens shifted since error; after three, turn off error
++     status.  */
++  if (yyerrstatus)
++    yyerrstatus--;
++
++  /* Shift the lookahead token.  */
++  YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
++
++  /* Discard the shifted token.  */
++  yychar = YYEMPTY;
++
++  yystate = yyn;
++  YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
++  *++yyvsp = yylval;
++  YY_IGNORE_MAYBE_UNINITIALIZED_END
++
++  goto yynewstate;
++
++
++/*-----------------------------------------------------------.
++| yydefault -- do the default action for the current state.  |
++`-----------------------------------------------------------*/
++yydefault:
++  yyn = yydefact[yystate];
++  if (yyn == 0)
++    goto yyerrlab;
++  goto yyreduce;
++
++
++/*-----------------------------.
++| yyreduce -- Do a reduction.  |
++`-----------------------------*/
++yyreduce:
++  /* yyn is the number of a rule to reduce with.  */
++  yylen = yyr2[yyn];
++
++  /* If YYLEN is nonzero, implement the default value of the action:
++     '$$ = $1'.
++
++     Otherwise, the following line sets YYVAL to garbage.
++     This behavior is undocumented and Bison
++     users should not rely upon it.  Assigning to YYVAL
++     unconditionally makes the parser a bit smaller, and it avoids a
++     GCC warning that YYVAL may be used uninitialized.  */
++  yyval = yyvsp[1-yylen];
++
++
++  YY_REDUCE_PRINT (yyn);
++  switch (yyn)
++    {
++        case 2:
++#line 1708 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            if (!thd->bootstrap &&
++              (!(thd->lex->select_lex.options & OPTION_FOUND_COMMENT)))
++            {
++              my_message(ER_EMPTY_QUERY, ER(ER_EMPTY_QUERY), MYF(0));
++              MYSQL_YYABORT;
++            }
++            thd->lex->sql_command= SQLCOM_EMPTY_QUERY;
++            YYLIP->found_semicolon= NULL;
++          }
++#line 17264 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 3:
++#line 1719 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            Lex_input_stream *lip = YYLIP;
++
++            if ((thd->client_capabilities & CLIENT_MULTI_QUERIES) &&
++                lip->multi_statements &&
++                ! lip->eof())
++            {
++              /*
++                We found a well formed query, and multi queries are allowed:
++                - force the parser to stop after the ';'
++                - mark the start of the next query for the next invocation
++                  of the parser.
++              */
++              lip->next_state= MY_LEX_END;
++              lip->found_semicolon= lip->get_ptr();
++            }
++            else
++            {
++              /* Single query, terminated. */
++              lip->found_semicolon= NULL;
++            }
++          }
++#line 17291 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 5:
++#line 1744 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            /* Single query, not terminated. */
++            YYLIP->found_semicolon= NULL;
++          }
++#line 17300 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 63:
++#line 1819 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex= thd->lex;
++            lex->sql_command= SQLCOM_DEALLOCATE_PREPARE;
++            lex->prepared_stmt_name= (yyvsp[0].lex_str);
++          }
++#line 17310 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 66:
++#line 1833 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex= thd->lex;
++            lex->sql_command= SQLCOM_PREPARE;
++            lex->prepared_stmt_name= (yyvsp[-2].lex_str);
++          }
++#line 17320 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 67:
++#line 1842 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex= thd->lex;
++            lex->prepared_stmt_code= (yyvsp[0].lex_str);
++            lex->prepared_stmt_code_is_varref= FALSE;
++          }
++#line 17330 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 68:
++#line 1848 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex= thd->lex;
++            lex->prepared_stmt_code= (yyvsp[0].lex_str);
++            lex->prepared_stmt_code_is_varref= TRUE;
++          }
++#line 17340 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 69:
++#line 1857 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex= thd->lex;
++            lex->sql_command= SQLCOM_EXECUTE;
++            lex->prepared_stmt_name= (yyvsp[0].lex_str);
++          }
++#line 17350 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 70:
++#line 1863 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 17356 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 75:
++#line 1878 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex=Lex;
++            LEX_STRING *lexstr= (LEX_STRING*)sql_memdup(&(yyvsp[0].lex_str), sizeof(LEX_STRING));
++            if (!lexstr || lex->prepared_stmt_params.push_back(lexstr))
++              MYSQL_YYABORT;
++          }
++#line 17367 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 76:
++#line 1890 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            if (Lex->sphead)
++            {
++              my_error(ER_SP_BADSTATEMENT, MYF(0), "HELP");
++              MYSQL_YYABORT;
++            }
++          }
++#line 17379 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 77:
++#line 1898 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex= Lex;
++            lex->sql_command= SQLCOM_HELP;
++            lex->help_arg= (yyvsp[0].lex_str).str;
++          }
++#line 17389 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 78:
++#line 1909 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            Lex->sql_command = SQLCOM_CHANGE_MASTER;
++          }
++#line 17397 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 79:
++#line 1913 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 17403 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 82:
++#line 1923 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            Lex->mi.host = (yyvsp[0].lex_str).str;
++          }
++#line 17411 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 83:
++#line 1927 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            Lex->mi.user = (yyvsp[0].lex_str).str;
++          }
++#line 17419 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 84:
++#line 1931 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            Lex->mi.password = (yyvsp[0].lex_str).str;
++          }
++#line 17427 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 85:
++#line 1935 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            Lex->mi.port = (yyvsp[0].ulong_num);
++          }
++#line 17435 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 86:
++#line 1939 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            Lex->mi.connect_retry = (yyvsp[0].ulong_num);
++          }
++#line 17443 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 87:
++#line 1943 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            Lex->mi.ssl= (yyvsp[0].ulong_num) ? 
++              LEX_MASTER_INFO::LEX_MI_ENABLE : LEX_MASTER_INFO::LEX_MI_DISABLE;
++          }
++#line 17452 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 88:
++#line 1948 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            Lex->mi.ssl_ca= (yyvsp[0].lex_str).str;
++          }
++#line 17460 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 89:
++#line 1952 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            Lex->mi.ssl_capath= (yyvsp[0].lex_str).str;
++          }
++#line 17468 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 90:
++#line 1956 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            Lex->mi.ssl_cert= (yyvsp[0].lex_str).str;
++          }
++#line 17476 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 91:
++#line 1960 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            Lex->mi.ssl_cipher= (yyvsp[0].lex_str).str;
++          }
++#line 17484 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 92:
++#line 1964 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            Lex->mi.ssl_key= (yyvsp[0].lex_str).str;
++          }
++#line 17492 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 93:
++#line 1968 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            Lex->mi.ssl_verify_server_cert= (yyvsp[0].ulong_num) ?
++              LEX_MASTER_INFO::LEX_MI_ENABLE : LEX_MASTER_INFO::LEX_MI_DISABLE;
++          }
++#line 17501 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 94:
++#line 1974 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            Lex->mi.heartbeat_period= (float) (yyvsp[0].item_num)->val_real();
++            if (Lex->mi.heartbeat_period > SLAVE_MAX_HEARTBEAT_PERIOD ||
++                Lex->mi.heartbeat_period < 0.0)
++            {
++               const char format[]= "%d";
++               char buf[4*sizeof(SLAVE_MAX_HEARTBEAT_PERIOD) + sizeof(format)];
++               sprintf(buf, format, SLAVE_MAX_HEARTBEAT_PERIOD);
++               my_error(ER_SLAVE_HEARTBEAT_VALUE_OUT_OF_RANGE, MYF(0), buf);
++               MYSQL_YYABORT;
++            }
++            if (Lex->mi.heartbeat_period > slave_net_timeout)
++            {
++              push_warning_printf(thd, MYSQL_ERROR::WARN_LEVEL_WARN,
++                                  ER_SLAVE_HEARTBEAT_VALUE_OUT_OF_RANGE_MAX,
++                                  ER(ER_SLAVE_HEARTBEAT_VALUE_OUT_OF_RANGE_MAX));
++            }
++            if (Lex->mi.heartbeat_period < 0.001)
++            {
++              if (Lex->mi.heartbeat_period != 0.0)
++              {
++                push_warning_printf(thd, MYSQL_ERROR::WARN_LEVEL_WARN,
++                                    ER_SLAVE_HEARTBEAT_VALUE_OUT_OF_RANGE_MIN,
++                                    ER(ER_SLAVE_HEARTBEAT_VALUE_OUT_OF_RANGE_MIN));
++                Lex->mi.heartbeat_period= 0.0;
++              }
++              Lex->mi.heartbeat_opt=  LEX_MASTER_INFO::LEX_MI_DISABLE;
++            }
++            Lex->mi.heartbeat_opt=  LEX_MASTER_INFO::LEX_MI_ENABLE;
++          }
++#line 17536 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 95:
++#line 2005 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            Lex->mi.repl_ignore_server_ids_opt= LEX_MASTER_INFO::LEX_MI_ENABLE;
++           }
++#line 17544 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 100:
++#line 2020 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            insert_dynamic(&Lex->mi.repl_ignore_server_ids, (uchar*) &((yyvsp[0].ulong_num)));
++          }
++#line 17552 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 101:
++#line 2026 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            Lex->mi.log_file_name = (yyvsp[0].lex_str).str;
++          }
++#line 17560 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 102:
++#line 2030 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            Lex->mi.pos = (yyvsp[0].ulonglong_number);
++            /* 
++               If the user specified a value < BIN_LOG_HEADER_SIZE, adjust it
++               instead of causing subsequent errors. 
++               We need to do it in this file, because only there we know that 
++               MASTER_LOG_POS has been explicitely specified. On the contrary
++               in change_master() (sql_repl.cc) we cannot distinguish between 0
++               (MASTER_LOG_POS explicitely specified as 0) and 0 (unspecified),
++               whereas we want to distinguish (specified 0 means "read the binlog
++               from 0" (4 in fact), unspecified means "don't change the position
++               (keep the preceding value)").
++            */
++            Lex->mi.pos = max(BIN_LOG_HEADER_SIZE, Lex->mi.pos);
++          }
++#line 17580 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 103:
++#line 2046 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            Lex->mi.relay_log_name = (yyvsp[0].lex_str).str;
++          }
++#line 17588 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 104:
++#line 2050 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            Lex->mi.relay_log_pos = (yyvsp[0].ulong_num);
++            /* Adjust if < BIN_LOG_HEADER_SIZE (same comment as Lex->mi.pos) */
++            Lex->mi.relay_log_pos = max(BIN_LOG_HEADER_SIZE, Lex->mi.relay_log_pos);
++          }
++#line 17598 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 105:
++#line 2061 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex= thd->lex;
++            lex->sql_command= SQLCOM_CREATE_TABLE;
++            if (!lex->select_lex.add_table_to_list(thd, (yyvsp[0].table), NULL,
++                                                   TL_OPTION_UPDATING,
++                                                   TL_WRITE, MDL_EXCLUSIVE))
++              MYSQL_YYABORT;
++            /*
++              For CREATE TABLE, an non-existing table is not an error.
++              Instruct open_tables() to just take an MDL lock if the
++              table does not exist.
++            */
++            lex->query_tables->open_strategy= TABLE_LIST::OPEN_IF_EXISTS;
++            lex->alter_info.reset();
++            lex->col_list.empty();
++            lex->change=NullS;
++            bzero((char*) &lex->create_info,sizeof(lex->create_info));
++            lex->create_info.options=(yyvsp[-3].num) | (yyvsp[-1].num);
++            lex->create_info.default_table_charset= NULL;
++            lex->name.str= 0;
++            lex->name.length= 0;
++            lex->create_last_non_select_table= lex->last_table();
++          }
++#line 17626 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 106:
++#line 2085 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex= thd->lex;
++            lex->current_select= &lex->select_lex; 
++            if ((lex->create_info.used_fields & HA_CREATE_USED_ENGINE) &&
++                !lex->create_info.db_type)
++            {
++              lex->create_info.db_type= ha_default_handlerton(thd);
++              push_warning_printf(thd, MYSQL_ERROR::WARN_LEVEL_WARN,
++                                  ER_WARN_USING_OTHER_HANDLER,
++                                  ER(ER_WARN_USING_OTHER_HANDLER),
++                                  hton_name(lex->create_info.db_type)->str,
++                                  (yyvsp[-2].table)->table.str);
++            }
++            create_table_set_open_action_and_adjust_tables(lex);
++          }
++#line 17646 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 107:
++#line 2101 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            if (add_create_index_prepare(Lex, (yyvsp[0].table)))
++              MYSQL_YYABORT;
++          }
++#line 17655 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 108:
++#line 2106 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            if (add_create_index(Lex, (yyvsp[-10].key_type), (yyvsp[-8].lex_str)))
++              MYSQL_YYABORT;
++          }
++#line 17664 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 109:
++#line 2112 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            if (add_create_index_prepare(Lex, (yyvsp[0].table)))
++              MYSQL_YYABORT;
++          }
++#line 17673 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 110:
++#line 2117 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            if (add_create_index(Lex, (yyvsp[-10].key_type), (yyvsp[-8].lex_str)))
++              MYSQL_YYABORT;
++          }
++#line 17682 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 111:
++#line 2123 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            if (add_create_index_prepare(Lex, (yyvsp[0].table)))
++              MYSQL_YYABORT;
++          }
++#line 17691 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 112:
++#line 2128 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            if (add_create_index(Lex, (yyvsp[-10].key_type), (yyvsp[-8].lex_str)))
++              MYSQL_YYABORT;
++          }
++#line 17700 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 113:
++#line 2133 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            Lex->create_info.default_table_charset= NULL;
++            Lex->create_info.used_fields= 0;
++          }
++#line 17709 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 114:
++#line 2138 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex=Lex;
++            lex->sql_command=SQLCOM_CREATE_DB;
++            lex->name= (yyvsp[-2].lex_str);
++            lex->create_info.options=(yyvsp[-3].num);
++          }
++#line 17720 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 115:
++#line 2145 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            Lex->create_view_mode= VIEW_CREATE_NEW;
++            Lex->create_view_algorithm= DTYPE_ALGORITHM_UNDEFINED;
++            Lex->create_view_suid= TRUE;
++          }
++#line 17730 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 116:
++#line 2151 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 17736 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 117:
++#line 2153 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            Lex->sql_command = SQLCOM_CREATE_USER;
++          }
++#line 17744 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 118:
++#line 2157 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            Lex->alter_tablespace_info->ts_cmd_type= CREATE_LOGFILE_GROUP;
++          }
++#line 17752 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 119:
++#line 2161 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            Lex->alter_tablespace_info->ts_cmd_type= CREATE_TABLESPACE;
++          }
++#line 17760 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 120:
++#line 2165 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            Lex->sql_command= SQLCOM_CREATE_SERVER;
++          }
++#line 17768 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 121:
++#line 2176 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            Lex->server_options.server_name= (yyvsp[-8].lex_str).str;
++            Lex->server_options.server_name_length= (yyvsp[-8].lex_str).length;
++            Lex->server_options.scheme= (yyvsp[-4].lex_str).str;
++          }
++#line 17778 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 124:
++#line 2190 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            Lex->server_options.username= (yyvsp[0].lex_str).str;
++          }
++#line 17786 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 125:
++#line 2194 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            Lex->server_options.host= (yyvsp[0].lex_str).str;
++          }
++#line 17794 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 126:
++#line 2198 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            Lex->server_options.db= (yyvsp[0].lex_str).str;
++          }
++#line 17802 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 127:
++#line 2202 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            Lex->server_options.owner= (yyvsp[0].lex_str).str;
++          }
++#line 17810 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 128:
++#line 2206 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            Lex->server_options.password= (yyvsp[0].lex_str).str;
++          }
++#line 17818 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 129:
++#line 2210 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            Lex->server_options.socket= (yyvsp[0].lex_str).str;
++          }
++#line 17826 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 130:
++#line 2214 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            Lex->server_options.port= (yyvsp[0].ulong_num);
++          }
++#line 17834 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 131:
++#line 2221 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex=Lex;
++
++            lex->stmt_definition_begin= (yyvsp[-3].simple_string);
++            lex->create_info.options= (yyvsp[-1].num);
++            if (!(lex->event_parse_data= Event_parse_data::new_instance(thd)))
++              MYSQL_YYABORT;
++            lex->event_parse_data->identifier= (yyvsp[0].spname);
++            lex->event_parse_data->on_completion=
++                                  Event_parse_data::ON_COMPLETION_DROP;
++
++            lex->sql_command= SQLCOM_CREATE_EVENT;
++            /* We need that for disallowing subqueries */
++          }
++#line 17853 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 132:
++#line 2240 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            /*
++              sql_command is set here because some rules in ev_sql_stmt
++              can overwrite it
++            */
++            Lex->sql_command= SQLCOM_CREATE_EVENT;
++          }
++#line 17865 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 133:
++#line 2251 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            Lex->event_parse_data->item_expression= (yyvsp[-1].item);
++            Lex->event_parse_data->interval= (yyvsp[0].interval);
++          }
++#line 17874 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 135:
++#line 2258 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            Lex->event_parse_data->item_execute_at= (yyvsp[0].item);
++          }
++#line 17882 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 136:
++#line 2264 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.num)= 0; }
++#line 17888 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 137:
++#line 2266 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            Lex->event_parse_data->status= Event_parse_data::ENABLED;
++            Lex->event_parse_data->status_changed= true;
++            (yyval.num)= 1;
++          }
++#line 17898 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 138:
++#line 2272 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            Lex->event_parse_data->status= Event_parse_data::SLAVESIDE_DISABLED;
++            Lex->event_parse_data->status_changed= true; 
++            (yyval.num)= 1;
++          }
++#line 17908 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 139:
++#line 2278 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            Lex->event_parse_data->status= Event_parse_data::DISABLED;
++            Lex->event_parse_data->status_changed= true;
++            (yyval.num)= 1;
++          }
++#line 17918 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 140:
++#line 2287 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            Item *item= new (thd->mem_root) Item_func_now_local(0);
++            if (item == NULL)
++              MYSQL_YYABORT;
++            Lex->event_parse_data->item_starts= item;
++          }
++#line 17929 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 141:
++#line 2294 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            Lex->event_parse_data->item_starts= (yyvsp[0].item);
++          }
++#line 17937 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 143:
++#line 2302 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            Lex->event_parse_data->item_ends= (yyvsp[0].item);
++          }
++#line 17945 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 144:
++#line 2308 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.num)= 0; }
++#line 17951 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 146:
++#line 2314 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            Lex->event_parse_data->on_completion=
++                                  Event_parse_data::ON_COMPLETION_PRESERVE;
++            (yyval.num)= 1;
++          }
++#line 17961 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 147:
++#line 2320 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            Lex->event_parse_data->on_completion=
++                                  Event_parse_data::ON_COMPLETION_DROP;
++            (yyval.num)= 1;
++          }
++#line 17971 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 148:
++#line 2328 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.num)= 0; }
++#line 17977 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 149:
++#line 2330 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            Lex->comment= Lex->event_parse_data->comment= (yyvsp[0].lex_str);
++            (yyval.num)= 1;
++          }
++#line 17986 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 150:
++#line 2337 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex= thd->lex;
++            Lex_input_stream *lip= YYLIP;
++
++            /*
++              This stops the following :
++              - CREATE EVENT ... DO CREATE EVENT ...;
++              - ALTER  EVENT ... DO CREATE EVENT ...;
++              - CREATE EVENT ... DO ALTER EVENT DO ....;
++              - CREATE PROCEDURE ... BEGIN CREATE EVENT ... END|
++              This allows:
++              - CREATE EVENT ... DO DROP EVENT yyy;
++              - CREATE EVENT ... DO ALTER EVENT yyy;
++                (the nested ALTER EVENT can have anything but DO clause)
++              - ALTER  EVENT ... DO ALTER EVENT yyy;
++                (the nested ALTER EVENT can have anything but DO clause)
++              - ALTER  EVENT ... DO DROP EVENT yyy;
++              - CREATE PROCEDURE ... BEGIN ALTER EVENT ... END|
++                (the nested ALTER EVENT can have anything but DO clause)
++              - CREATE PROCEDURE ... BEGIN DROP EVENT ... END|
++            */
++            if (lex->sphead)
++            {
++              my_error(ER_EVENT_RECURSION_FORBIDDEN, MYF(0));
++              MYSQL_YYABORT;
++            }
++              
++            if (!(lex->sphead= new sp_head()))
++              MYSQL_YYABORT;
++
++            lex->sphead->reset_thd_mem_root(thd);
++            lex->sphead->init(lex);
++            lex->sphead->init_sp_name(thd, lex->event_parse_data->identifier);
++
++            lex->sphead->m_type= TYPE_ENUM_PROCEDURE;
++
++            bzero((char *)&lex->sp_chistics, sizeof(st_sp_chistics));
++            lex->sphead->m_chistics= &lex->sp_chistics;
++
++            lex->sphead->set_body_start(thd, lip->get_cpp_ptr());
++          }
++#line 18032 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 151:
++#line 2379 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex= thd->lex;
++
++            /* return back to the original memory root ASAP */
++            lex->sphead->set_stmt_end(thd);
++            lex->sphead->restore_thd_mem_root(thd);
++
++            lex->sp_chistics.suid= SP_IS_SUID;  //always the definer!
++
++            lex->event_parse_data->body_changed= TRUE;
++          }
++#line 18048 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 165:
++#line 2410 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++           LEX *lex=Lex;
++           lex->users_list.empty();
++           lex->columns.empty();
++           lex->grant= lex->grant_tot_col= 0;
++           lex->all_privileges= 0;
++           lex->select_lex.db= 0;
++           lex->ssl_type= SSL_TYPE_NOT_SPECIFIED;
++           lex->ssl_cipher= lex->x509_subject= lex->x509_issuer= 0;
++           bzero((char *)&(lex->mqh),sizeof(lex->mqh));
++         }
++#line 18064 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 166:
++#line 2425 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            if (!(yyvsp[-2].lex_str).str || check_db_name(&(yyvsp[-2].lex_str)))
++            {
++              my_error(ER_WRONG_DB_NAME, MYF(0), (yyvsp[-2].lex_str).str);
++              MYSQL_YYABORT;
++            }
++            if (check_routine_name(&(yyvsp[0].lex_str)))
++            {
++              MYSQL_YYABORT;
++            }
++            (yyval.spname)= new sp_name((yyvsp[-2].lex_str), (yyvsp[0].lex_str), true);
++            if ((yyval.spname) == NULL)
++              MYSQL_YYABORT;
++            (yyval.spname)->init_qname(thd);
++          }
++#line 18084 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 167:
++#line 2441 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex= thd->lex;
++            LEX_STRING db;
++            if (check_routine_name(&(yyvsp[0].lex_str)))
++            {
++              MYSQL_YYABORT;
++            }
++            if (lex->copy_db_to(&db.str, &db.length))
++              MYSQL_YYABORT;
++            (yyval.spname)= new sp_name(db, (yyvsp[0].lex_str), false);
++            if ((yyval.spname) == NULL)
++              MYSQL_YYABORT;
++            (yyval.spname)->init_qname(thd);
++          }
++#line 18103 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 168:
++#line 2458 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 18109 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 169:
++#line 2459 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 18115 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 170:
++#line 2463 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 18121 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 171:
++#line 2464 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 18127 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 172:
++#line 2470 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Lex->sp_chistics.comment= (yyvsp[0].lex_str); }
++#line 18133 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 173:
++#line 2472 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { /* Just parse it, we only have one language for now. */ }
++#line 18139 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 174:
++#line 2474 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Lex->sp_chistics.daccess= SP_NO_SQL; }
++#line 18145 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 175:
++#line 2476 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Lex->sp_chistics.daccess= SP_CONTAINS_SQL; }
++#line 18151 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 176:
++#line 2478 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Lex->sp_chistics.daccess= SP_READS_SQL_DATA; }
++#line 18157 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 177:
++#line 2480 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Lex->sp_chistics.daccess= SP_MODIFIES_SQL_DATA; }
++#line 18163 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 178:
++#line 2482 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 18169 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 179:
++#line 2487 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { }
++#line 18175 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 180:
++#line 2488 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Lex->sp_chistics.detistic= TRUE; }
++#line 18181 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 181:
++#line 2489 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Lex->sp_chistics.detistic= FALSE; }
++#line 18187 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 182:
++#line 2494 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            Lex->sp_chistics.suid= SP_IS_SUID;
++          }
++#line 18195 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 183:
++#line 2498 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            Lex->sp_chistics.suid= SP_IS_NOT_SUID;
++          }
++#line 18203 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 184:
++#line 2505 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex = Lex;
++
++            lex->sql_command= SQLCOM_CALL;
++            lex->spname= (yyvsp[0].spname);
++            lex->value_list.empty();
++            sp_add_used_routine(lex, thd, (yyvsp[0].spname), TYPE_ENUM_PROCEDURE);
++          }
++#line 18216 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 185:
++#line 2513 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 18222 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 190:
++#line 2529 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++           Lex->value_list.push_back((yyvsp[0].item));
++          }
++#line 18230 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 191:
++#line 2533 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            Lex->value_list.push_back((yyvsp[0].item));
++          }
++#line 18238 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 196:
++#line 2551 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex= Lex;
++
++            lex->length= 0;
++            lex->dec= 0;
++            lex->type= 0;
++
++            lex->default_value= 0;
++            lex->on_update_value= 0;
++
++            lex->comment= null_lex_str;
++            lex->charset= NULL;
++
++            lex->interval_list.empty();
++            lex->uint_geom_type= 0;
++            lex->vcol_info= 0;
++          }
++#line 18260 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 197:
++#line 2572 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex= Lex;
++            sp_pcontext *spc= lex->spcont;
++
++            if (spc->find_variable(&(yyvsp[-2].lex_str), TRUE))
++            {
++              my_error(ER_SP_DUP_PARAM, MYF(0), (yyvsp[-2].lex_str).str);
++              MYSQL_YYABORT;
++            }
++            sp_variable_t *spvar= spc->push_variable(&(yyvsp[-2].lex_str),
++                                                     (enum enum_field_types)(yyvsp[0].num),
++                                                     sp_param_in);
++
++            if (lex->sphead->fill_field_definition(thd, lex,
++                                                   (enum enum_field_types) (yyvsp[0].num),
++                                                   &spvar->field_def))
++            {
++              MYSQL_YYABORT;
++            }
++            spvar->field_def.field_name= spvar->name.str;
++            spvar->field_def.pack_flag |= FIELDFLAG_MAYBE_NULL;
++          }
++#line 18287 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 202:
++#line 2609 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex= Lex;
++            sp_pcontext *spc= lex->spcont;
++
++            if (spc->find_variable(&(yyvsp[-1].lex_str), TRUE))
++            {
++              my_error(ER_SP_DUP_PARAM, MYF(0), (yyvsp[-1].lex_str).str);
++              MYSQL_YYABORT;
++            }
++            sp_variable_t *spvar= spc->push_variable(&(yyvsp[-1].lex_str),
++                                                     (enum enum_field_types)(yyvsp[0].num),
++                                                     (sp_param_mode_t)(yyvsp[-3].num));
++
++            if (lex->sphead->fill_field_definition(thd, lex,
++                                                   (enum enum_field_types) (yyvsp[0].num),
++                                                   &spvar->field_def))
++            {
++              MYSQL_YYABORT;
++            }
++            spvar->field_def.field_name= spvar->name.str;
++            spvar->field_def.pack_flag |= FIELDFLAG_MAYBE_NULL;
++          }
++#line 18314 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 203:
++#line 2634 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.num)= sp_param_in; }
++#line 18320 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 204:
++#line 2635 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.num)= sp_param_in; }
++#line 18326 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 205:
++#line 2636 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.num)= sp_param_out; }
++#line 18332 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 206:
++#line 2637 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.num)= sp_param_inout; }
++#line 18338 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 207:
++#line 2641 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 18344 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 209:
++#line 2646 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 18350 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 211:
++#line 2652 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            (yyval.spblock).vars= (yyval.spblock).conds= (yyval.spblock).hndlrs= (yyval.spblock).curs= 0;
++          }
++#line 18358 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 212:
++#line 2656 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            /* We check for declarations out of (standard) order this way
++              because letting the grammar rules reflect it caused tricky
++               shift/reduce conflicts with the wrong result. (And we get
++               better error handling this way.) */
++            if (((yyvsp[-1].spblock).vars || (yyvsp[-1].spblock).conds) && ((yyvsp[-2].spblock).curs || (yyvsp[-2].spblock).hndlrs))
++            { /* Variable or condition following cursor or handler */
++              my_message(ER_SP_VARCOND_AFTER_CURSHNDLR,
++                         ER(ER_SP_VARCOND_AFTER_CURSHNDLR), MYF(0));
++              MYSQL_YYABORT;
++            }
++            if ((yyvsp[-1].spblock).curs && (yyvsp[-2].spblock).hndlrs)
++            { /* Cursor following handler */
++              my_message(ER_SP_CURSOR_AFTER_HANDLER,
++                         ER(ER_SP_CURSOR_AFTER_HANDLER), MYF(0));
++              MYSQL_YYABORT;
++            }
++            (yyval.spblock).vars= (yyvsp[-2].spblock).vars + (yyvsp[-1].spblock).vars;
++            (yyval.spblock).conds= (yyvsp[-2].spblock).conds + (yyvsp[-1].spblock).conds;
++            (yyval.spblock).hndlrs= (yyvsp[-2].spblock).hndlrs + (yyvsp[-1].spblock).hndlrs;
++            (yyval.spblock).curs= (yyvsp[-2].spblock).curs + (yyvsp[-1].spblock).curs;
++          }
++#line 18385 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 213:
++#line 2682 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex= Lex;
++
++            lex->sphead->reset_lex(thd);
++            lex->spcont->declare_var_boundary((yyvsp[0].num));
++          }
++#line 18396 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 214:
++#line 2690 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex= Lex;
++            sp_pcontext *pctx= lex->spcont;
++            uint num_vars= pctx->context_var_count();
++            enum enum_field_types var_type= (enum enum_field_types) (yyvsp[-1].num);
++            Item *dflt_value_item= (yyvsp[0].item);
++            
++            if (!dflt_value_item)
++            {
++              dflt_value_item= new (thd->mem_root) Item_null();
++              if (dflt_value_item == NULL)
++                MYSQL_YYABORT;
++              /* QQ Set to the var_type with null_value? */
++            }
++            
++            for (uint i = num_vars-(yyvsp[-3].num) ; i < num_vars ; i++)
++            {
++              uint var_idx= pctx->var_context2runtime(i);
++              sp_variable_t *spvar= pctx->find_variable(var_idx);
++            
++              if (!spvar)
++                MYSQL_YYABORT;
++            
++              spvar->type= var_type;
++              spvar->dflt= dflt_value_item;
++            
++              if (lex->sphead->fill_field_definition(thd, lex, var_type,
++                                                     &spvar->field_def))
++              {
++                MYSQL_YYABORT;
++              }
++            
++              spvar->field_def.field_name= spvar->name.str;
++              spvar->field_def.pack_flag |= FIELDFLAG_MAYBE_NULL;
++            
++              /* The last instruction is responsible for freeing LEX. */
++
++              sp_instr_set *is= new sp_instr_set(lex->sphead->instructions(),
++                                                 pctx,
++                                                 var_idx,
++                                                 dflt_value_item,
++                                                 var_type,
++                                                 lex,
++                                                 (i == num_vars - 1));
++              if (is == NULL ||
++                  lex->sphead->add_instr(is))
++                MYSQL_YYABORT;
++            }
++
++            pctx->declare_var_boundary(0);
++            if (lex->sphead->restore_lex(thd))
++              MYSQL_YYABORT;
++            (yyval.spblock).vars= (yyvsp[-3].num);
++            (yyval.spblock).conds= (yyval.spblock).hndlrs= (yyval.spblock).curs= 0;
++          }
++#line 18456 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 215:
++#line 2746 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex= Lex;
++            sp_pcontext *spc= lex->spcont;
++
++            if (spc->find_cond(&(yyvsp[-3].lex_str), TRUE))
++            {
++              my_error(ER_SP_DUP_COND, MYF(0), (yyvsp[-3].lex_str).str);
++              MYSQL_YYABORT;
++            }
++            if(thd->lex->spcont->push_cond(&(yyvsp[-3].lex_str), (yyvsp[0].spcondtype)))
++              MYSQL_YYABORT;
++            (yyval.spblock).vars= (yyval.spblock).hndlrs= (yyval.spblock).curs= 0;
++            (yyval.spblock).conds= 1;
++          }
++#line 18475 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 216:
++#line 2761 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex= Lex;
++            sp_head *sp= lex->sphead;
++
++            lex->spcont= lex->spcont->push_context(LABEL_HANDLER_SCOPE);
++
++            sp_pcontext *ctx= lex->spcont;
++            sp_instr_hpush_jump *i=
++              new sp_instr_hpush_jump(sp->instructions(), ctx, (yyvsp[-2].num),
++                                      ctx->current_var_count());
++            if (i == NULL || sp->add_instr(i))
++              MYSQL_YYABORT;
++
++            /* For continue handlers, mark end of handler scope. */
++            if ((yyvsp[-2].num) == SP_HANDLER_CONTINUE &&
++                sp->push_backpatch(i, ctx->last_label()))
++              MYSQL_YYABORT;
++
++            if (sp->push_backpatch(i, ctx->push_label(empty_c_string, 0)))
++              MYSQL_YYABORT;
++          }
++#line 18501 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 217:
++#line 2783 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex= Lex;
++            sp_head *sp= lex->sphead;
++            sp_pcontext *ctx= lex->spcont;
++            sp_label_t *hlab= lex->spcont->pop_label(); /* After this hdlr */
++            sp_instr_hreturn *i;
++
++            if ((yyvsp[-5].num) == SP_HANDLER_CONTINUE)
++            {
++              i= new sp_instr_hreturn(sp->instructions(), ctx,
++                                      ctx->current_var_count());
++              if (i == NULL ||
++                  sp->add_instr(i))
++                MYSQL_YYABORT;
++            }
++            else
++            {  /* EXIT or UNDO handler, just jump to the end of the block */
++              i= new sp_instr_hreturn(sp->instructions(), ctx, 0);
++              if (i == NULL ||
++                  sp->add_instr(i) ||
++                  sp->push_backpatch(i, lex->spcont->last_label())) /* Block end */
++                MYSQL_YYABORT;
++            }
++            lex->sphead->backpatch(hlab);
++
++            lex->spcont= ctx->pop_context();
++
++            (yyval.spblock).vars= (yyval.spblock).conds= (yyval.spblock).curs= 0;
++            (yyval.spblock).hndlrs= (yyvsp[-1].num);
++            lex->spcont->add_handlers((yyvsp[-1].num));
++          }
++#line 18537 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 218:
++#line 2815 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex= Lex;
++            sp_head *sp= lex->sphead;
++            sp_pcontext *ctx= lex->spcont;
++            uint offp;
++            sp_instr_cpush *i;
++
++            if (ctx->find_cursor(&(yyvsp[-3].lex_str), &offp, TRUE))
++            {
++              my_error(ER_SP_DUP_CURS, MYF(0), (yyvsp[-3].lex_str).str);
++              delete (yyvsp[0].lex);
++              MYSQL_YYABORT;
++            }
++            i= new sp_instr_cpush(sp->instructions(), ctx, (yyvsp[0].lex),
++                                  ctx->current_cursor_count());
++            if (i == NULL ||
++                sp->add_instr(i) ||
++                ctx->push_cursor(&(yyvsp[-3].lex_str)))
++              MYSQL_YYABORT;
++            (yyval.spblock).vars= (yyval.spblock).conds= (yyval.spblock).hndlrs= 0;
++            (yyval.spblock).curs= 1;
++          }
++#line 18564 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 219:
++#line 2840 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            Lex->sphead->reset_lex(thd);
++          }
++#line 18572 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 220:
++#line 2844 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex= Lex;
++
++            DBUG_ASSERT(lex->sql_command == SQLCOM_SELECT);
++
++            if (lex->result)
++            {
++              my_message(ER_SP_BAD_CURSOR_SELECT, ER(ER_SP_BAD_CURSOR_SELECT),
++                         MYF(0));
++              MYSQL_YYABORT;
++            }
++            lex->sp_lex_in_use= TRUE;
++            (yyval.lex)= lex;
++            if (lex->sphead->restore_lex(thd))
++              MYSQL_YYABORT;
++          }
++#line 18593 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 221:
++#line 2863 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.num)= SP_HANDLER_EXIT; }
++#line 18599 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 222:
++#line 2864 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.num)= SP_HANDLER_CONTINUE; }
++#line 18605 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 223:
++#line 2870 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.num)= 1; }
++#line 18611 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 224:
++#line 2872 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.num)+= 1; }
++#line 18617 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 225:
++#line 2877 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex= Lex;
++            sp_head *sp= lex->sphead;
++            sp_pcontext *ctx= lex->spcont->parent_context();
++
++            if (ctx->find_handler((yyvsp[0].spcondtype)))
++            {
++              my_message(ER_SP_DUP_HANDLER, ER(ER_SP_DUP_HANDLER), MYF(0));
++              MYSQL_YYABORT;
++            }
++            else
++            {
++              sp_instr_hpush_jump *i=
++                (sp_instr_hpush_jump *)sp->last_instruction();
++
++              i->add_condition((yyvsp[0].spcondtype));
++              ctx->push_handler((yyvsp[0].spcondtype));
++            }
++          }
++#line 18641 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 226:
++#line 2900 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { /* mysql errno */
++            if ((yyvsp[0].ulong_num) == 0)
++            {
++              my_error(ER_WRONG_VALUE, MYF(0), "CONDITION", "0");
++              MYSQL_YYABORT;
++            }
++            (yyval.spcondtype)= (sp_cond_type_t *) thd->alloc(sizeof(sp_cond_type_t));
++            if ((yyval.spcondtype) == NULL)
++              MYSQL_YYABORT;
++            (yyval.spcondtype)->type= sp_cond_type_t::number;
++            (yyval.spcondtype)->mysqlerr= (yyvsp[0].ulong_num);
++          }
++#line 18658 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 228:
++#line 2917 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { /* SQLSTATE */
++            if (!sp_cond_check(&(yyvsp[0].lex_str)))
++            {
++              my_error(ER_SP_BAD_SQLSTATE, MYF(0), (yyvsp[0].lex_str).str);
++              MYSQL_YYABORT;
++            }
++            (yyval.spcondtype)= (sp_cond_type_t *) thd->alloc(sizeof(sp_cond_type_t));
++            if ((yyval.spcondtype) == NULL)
++              MYSQL_YYABORT;
++            (yyval.spcondtype)->type= sp_cond_type_t::state;
++            memcpy((yyval.spcondtype)->sqlstate, (yyvsp[0].lex_str).str, SQLSTATE_LENGTH);
++            (yyval.spcondtype)->sqlstate[SQLSTATE_LENGTH]= '\0';
++          }
++#line 18676 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 229:
++#line 2933 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 18682 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 230:
++#line 2934 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 18688 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 231:
++#line 2939 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            (yyval.spcondtype)= (yyvsp[0].spcondtype);
++          }
++#line 18696 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 232:
++#line 2943 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            (yyval.spcondtype)= Lex->spcont->find_cond(&(yyvsp[0].lex_str));
++            if ((yyval.spcondtype) == NULL)
++            {
++              my_error(ER_SP_COND_MISMATCH, MYF(0), (yyvsp[0].lex_str).str);
++              MYSQL_YYABORT;
++            }
++          }
++#line 18709 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 233:
++#line 2952 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            (yyval.spcondtype)= (sp_cond_type_t *) thd->alloc(sizeof(sp_cond_type_t));
++            if ((yyval.spcondtype) == NULL)
++              MYSQL_YYABORT;
++            (yyval.spcondtype)->type= sp_cond_type_t::warning;
++          }
++#line 18720 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 234:
++#line 2959 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            (yyval.spcondtype)= (sp_cond_type_t *) thd->alloc(sizeof(sp_cond_type_t));
++            if ((yyval.spcondtype) == NULL)
++              MYSQL_YYABORT;
++            (yyval.spcondtype)->type= sp_cond_type_t::notfound;
++          }
++#line 18731 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 235:
++#line 2966 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            (yyval.spcondtype)= (sp_cond_type_t *) thd->alloc(sizeof(sp_cond_type_t));
++            if ((yyval.spcondtype) == NULL)
++              MYSQL_YYABORT;
++            (yyval.spcondtype)->type= sp_cond_type_t::exception;
++          }
++#line 18742 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 236:
++#line 2976 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex= thd->lex;
++            Yacc_state *state= & thd->m_parser_state->m_yacc;
++
++            lex->sql_command= SQLCOM_SIGNAL;
++            lex->m_stmt= new (thd->mem_root) Signal_statement(lex, (yyvsp[-1].spcondtype),
++                                                      state->m_set_signal_info);
++            if (lex->m_stmt == NULL)
++              MYSQL_YYABORT;
++          }
++#line 18757 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 237:
++#line 2990 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex= Lex;
++            sp_cond_type_t *cond;
++            if (lex->spcont == NULL)
++            {
++              /* SIGNAL foo cannot be used outside of stored programs */
++              my_error(ER_SP_COND_MISMATCH, MYF(0), (yyvsp[0].lex_str).str);
++              MYSQL_YYABORT;
++            }
++            cond= lex->spcont->find_cond(&(yyvsp[0].lex_str));
++            if (cond == NULL)
++            {
++              my_error(ER_SP_COND_MISMATCH, MYF(0), (yyvsp[0].lex_str).str);
++              MYSQL_YYABORT;
++            }
++            if (cond->type != sp_cond_type_t::state)
++            {
++              my_error(ER_SIGNAL_BAD_CONDITION_TYPE, MYF(0));
++              MYSQL_YYABORT;
++            }
++            (yyval.spcondtype)= cond;
++          }
++#line 18784 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 238:
++#line 3013 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.spcondtype)= (yyvsp[0].spcondtype); }
++#line 18790 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 239:
++#line 3018 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.spcondtype)= NULL; }
++#line 18796 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 240:
++#line 3020 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.spcondtype)= (yyvsp[0].spcondtype); }
++#line 18802 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 241:
++#line 3025 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            thd->m_parser_state->m_yacc.m_set_signal_info.clear();
++          }
++#line 18810 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 243:
++#line 3033 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            Set_signal_information *info;
++            info= &thd->m_parser_state->m_yacc.m_set_signal_info;
++            int index= (int) (yyvsp[-2].diag_condition_item_name);
++            info->clear();
++            info->m_item[index]= (yyvsp[0].item);
++          }
++#line 18822 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 244:
++#line 3042 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            Set_signal_information *info;
++            info= &thd->m_parser_state->m_yacc.m_set_signal_info;
++            int index= (int) (yyvsp[-2].diag_condition_item_name);
++            if (info->m_item[index] != NULL)
++            {
++              my_error(ER_DUP_SIGNAL_SET, MYF(0),
++                       Diag_condition_item_names[index].str);
++              MYSQL_YYABORT;
++            }
++            info->m_item[index]= (yyvsp[0].item);
++          }
++#line 18839 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 245:
++#line 3061 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.item)= (yyvsp[0].item); }
++#line 18845 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 246:
++#line 3063 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            if ((yyvsp[0].item)->type() == Item::FUNC_ITEM)
++            {
++              Item_func *item= (Item_func*) (yyvsp[0].item);
++              if (item->functype() == Item_func::SUSERVAR_FUNC)
++              {
++                /*
++                  Don't allow the following syntax:
++                    SIGNAL/RESIGNAL ...
++                    SET <signal condition item name> = @foo := expr
++                */
++                my_parse_error(ER(ER_SYNTAX_ERROR));
++                MYSQL_YYABORT;
++              }
++            }
++            (yyval.item)= (yyvsp[0].item);
++          }
++#line 18867 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 247:
++#line 3081 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.item)= (yyvsp[0].item); }
++#line 18873 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 248:
++#line 3087 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.diag_condition_item_name)= DIAG_CLASS_ORIGIN; }
++#line 18879 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 249:
++#line 3089 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.diag_condition_item_name)= DIAG_SUBCLASS_ORIGIN; }
++#line 18885 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 250:
++#line 3091 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.diag_condition_item_name)= DIAG_CONSTRAINT_CATALOG; }
++#line 18891 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 251:
++#line 3093 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.diag_condition_item_name)= DIAG_CONSTRAINT_SCHEMA; }
++#line 18897 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 252:
++#line 3095 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.diag_condition_item_name)= DIAG_CONSTRAINT_NAME; }
++#line 18903 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 253:
++#line 3097 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.diag_condition_item_name)= DIAG_CATALOG_NAME; }
++#line 18909 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 254:
++#line 3099 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.diag_condition_item_name)= DIAG_SCHEMA_NAME; }
++#line 18915 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 255:
++#line 3101 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.diag_condition_item_name)= DIAG_TABLE_NAME; }
++#line 18921 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 256:
++#line 3103 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.diag_condition_item_name)= DIAG_COLUMN_NAME; }
++#line 18927 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 257:
++#line 3105 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.diag_condition_item_name)= DIAG_CURSOR_NAME; }
++#line 18933 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 258:
++#line 3107 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.diag_condition_item_name)= DIAG_MESSAGE_TEXT; }
++#line 18939 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 259:
++#line 3109 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.diag_condition_item_name)= DIAG_MYSQL_ERRNO; }
++#line 18945 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 260:
++#line 3114 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex= thd->lex;
++            Yacc_state *state= & thd->m_parser_state->m_yacc;
++
++            lex->sql_command= SQLCOM_RESIGNAL;
++            lex->m_stmt= new (thd->mem_root) Resignal_statement(lex, (yyvsp[-1].spcondtype),
++                                                      state->m_set_signal_info);
++            if (lex->m_stmt == NULL)
++              MYSQL_YYABORT;
++          }
++#line 18960 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 261:
++#line 3128 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            /* NOTE: field definition is filled in sp_decl section. */
++
++            LEX *lex= Lex;
++            sp_pcontext *spc= lex->spcont;
++
++            if (spc->find_variable(&(yyvsp[0].lex_str), TRUE))
++            {
++              my_error(ER_SP_DUP_VAR, MYF(0), (yyvsp[0].lex_str).str);
++              MYSQL_YYABORT;
++            }
++            spc->push_variable(&(yyvsp[0].lex_str), (enum_field_types)0, sp_param_in);
++            (yyval.num)= 1;
++          }
++#line 18979 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 262:
++#line 3143 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            /* NOTE: field definition is filled in sp_decl section. */
++
++            LEX *lex= Lex;
++            sp_pcontext *spc= lex->spcont;
++
++            if (spc->find_variable(&(yyvsp[0].lex_str), TRUE))
++            {
++              my_error(ER_SP_DUP_VAR, MYF(0), (yyvsp[0].lex_str).str);
++              MYSQL_YYABORT;
++            }
++            spc->push_variable(&(yyvsp[0].lex_str), (enum_field_types)0, sp_param_in);
++            (yyval.num)= (yyvsp[-2].num) + 1;
++          }
++#line 18998 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 263:
++#line 3160 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.item) = NULL; }
++#line 19004 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 264:
++#line 3161 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.item) = (yyvsp[0].item); }
++#line 19010 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 278:
++#line 3182 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Lex->sphead->new_cont_backpatch(NULL); }
++#line 19016 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 279:
++#line 3184 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Lex->sphead->do_cont_backpatch(); }
++#line 19022 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 280:
++#line 3188 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex= thd->lex;
++            Lex_input_stream *lip= YYLIP;
++
++            lex->sphead->reset_lex(thd);
++            lex->sphead->m_tmp_query= lip->get_tok_start();
++          }
++#line 19034 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 281:
++#line 3196 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex= thd->lex;
++            Lex_input_stream *lip= YYLIP;
++            sp_head *sp= lex->sphead;
++
++            sp->m_flags|= sp_get_flags_for_command(lex);
++            if (lex->sql_command == SQLCOM_CHANGE_DB)
++            { /* "USE db" doesn't work in a procedure */
++              my_error(ER_SP_BADSTATEMENT, MYF(0), "USE");
++              MYSQL_YYABORT;
++            }
++            /*
++              Don't add an instruction for SET statements, since all
++              instructions for them were already added during processing
++              of "set" rule.
++            */
++            DBUG_ASSERT(lex->sql_command != SQLCOM_SET_OPTION ||
++                        lex->var_list.is_empty());
++            if (lex->sql_command != SQLCOM_SET_OPTION)
++            {
++              sp_instr_stmt *i=new sp_instr_stmt(sp->instructions(),
++                                                 lex->spcont, lex);
++              if (i == NULL)
++                MYSQL_YYABORT;
++
++              /*
++                Extract the query statement from the tokenizer.  The
++                end is either lex->ptr, if there was no lookahead,
++                lex->tok_end otherwise.
++              */
++              if (yychar == YYEMPTY)
++                i->m_query.length= lip->get_ptr() - sp->m_tmp_query;
++              else
++                i->m_query.length= lip->get_tok_end() - sp->m_tmp_query;
++              if (!(i->m_query.str= strmake_root(thd->mem_root,
++                                                 sp->m_tmp_query,
++                                                 i->m_query.length)) ||
++                    sp->add_instr(i))
++                MYSQL_YYABORT;
++            }
++            if (sp->restore_lex(thd))
++              MYSQL_YYABORT;
++          }
++#line 19082 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 282:
++#line 3243 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Lex->sphead->reset_lex(thd); }
++#line 19088 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 283:
++#line 3245 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex= Lex;
++            sp_head *sp= lex->sphead;
++
++            if (sp->m_type != TYPE_ENUM_FUNCTION)
++            {
++              my_message(ER_SP_BADRETURN, ER(ER_SP_BADRETURN), MYF(0));
++              MYSQL_YYABORT;
++            }
++            else
++            {
++              sp_instr_freturn *i;
++
++              i= new sp_instr_freturn(sp->instructions(), lex->spcont, (yyvsp[0].item),
++                                      sp->m_return_field_def.sql_type, lex);
++              if (i == NULL ||
++                  sp->add_instr(i))
++                MYSQL_YYABORT;
++              sp->m_flags|= sp_head::HAS_RETURN;
++            }
++            if (sp->restore_lex(thd))
++              MYSQL_YYABORT;
++          }
++#line 19116 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 284:
++#line 3271 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { /* Unlabeled controls get a secret label. */
++            LEX *lex= Lex;
++
++            lex->spcont->push_label((char *)"", lex->sphead->instructions());
++          }
++#line 19126 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 285:
++#line 3277 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex= Lex;
++
++            lex->sphead->backpatch(lex->spcont->pop_label());
++          }
++#line 19136 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 286:
++#line 3286 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex= Lex;
++            sp_head *sp = lex->sphead;
++            sp_pcontext *ctx= lex->spcont;
++            sp_label_t *lab= ctx->find_label((yyvsp[0].lex_str).str);
++
++            if (! lab)
++            {
++              my_error(ER_SP_LILABEL_MISMATCH, MYF(0), "LEAVE", (yyvsp[0].lex_str).str);
++              MYSQL_YYABORT;
++            }
++            else
++            {
++              sp_instr_jump *i;
++              uint ip= sp->instructions();
++              uint n;
++              /*
++                When jumping to a BEGIN-END block end, the target jump
++                points to the block hpop/cpop cleanup instructions,
++                so we should exclude the block context here.
++                When jumping to something else (i.e., SP_LAB_ITER),
++                there are no hpop/cpop at the jump destination,
++                so we should include the block context here for cleanup.
++              */
++              bool exclusive= (lab->type == SP_LAB_BEGIN);
++
++              n= ctx->diff_handlers(lab->ctx, exclusive);
++              if (n)
++              {
++                sp_instr_hpop *hpop= new sp_instr_hpop(ip++, ctx, n);
++                if (hpop == NULL)
++                  MYSQL_YYABORT;
++                sp->add_instr(hpop);
++              }
++              n= ctx->diff_cursors(lab->ctx, exclusive);
++              if (n)
++              {
++                sp_instr_cpop *cpop= new sp_instr_cpop(ip++, ctx, n);
++                if (cpop == NULL)
++                  MYSQL_YYABORT;
++                sp->add_instr(cpop);
++              }
++              i= new sp_instr_jump(ip, ctx);
++              if (i == NULL)
++                MYSQL_YYABORT;
++              sp->push_backpatch(i, lab);  /* Jumping forward */
++              sp->add_instr(i);
++            }
++          }
++#line 19190 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 287:
++#line 3339 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex= Lex;
++            sp_head *sp= lex->sphead;
++            sp_pcontext *ctx= lex->spcont;
++            sp_label_t *lab= ctx->find_label((yyvsp[0].lex_str).str);
++
++            if (! lab || lab->type != SP_LAB_ITER)
++            {
++              my_error(ER_SP_LILABEL_MISMATCH, MYF(0), "ITERATE", (yyvsp[0].lex_str).str);
++              MYSQL_YYABORT;
++            }
++            else
++            {
++              sp_instr_jump *i;
++              uint ip= sp->instructions();
++              uint n;
++
++              n= ctx->diff_handlers(lab->ctx, FALSE);  /* Inclusive the dest. */
++              if (n)
++              {
++                sp_instr_hpop *hpop= new sp_instr_hpop(ip++, ctx, n);
++                if (hpop == NULL ||
++                    sp->add_instr(hpop))
++                  MYSQL_YYABORT;
++              }
++              n= ctx->diff_cursors(lab->ctx, FALSE);  /* Inclusive the dest. */
++              if (n)
++              {
++                sp_instr_cpop *cpop= new sp_instr_cpop(ip++, ctx, n);
++                if (cpop == NULL ||
++                    sp->add_instr(cpop))
++                  MYSQL_YYABORT;
++              }
++              i= new sp_instr_jump(ip, ctx, lab->ip); /* Jump back */
++              if (i == NULL ||
++                  sp->add_instr(i))
++                MYSQL_YYABORT;
++            }
++          }
++#line 19234 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 288:
++#line 3382 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex= Lex;
++            sp_head *sp= lex->sphead;
++            uint offset;
++            sp_instr_copen *i;
++
++            if (! lex->spcont->find_cursor(&(yyvsp[0].lex_str), &offset))
++            {
++              my_error(ER_SP_CURSOR_MISMATCH, MYF(0), (yyvsp[0].lex_str).str);
++              MYSQL_YYABORT;
++            }
++            i= new sp_instr_copen(sp->instructions(), lex->spcont, offset);
++            if (i == NULL ||
++                sp->add_instr(i))
++              MYSQL_YYABORT;
++          }
++#line 19255 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 289:
++#line 3402 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex= Lex;
++            sp_head *sp= lex->sphead;
++            uint offset;
++            sp_instr_cfetch *i;
++
++            if (! lex->spcont->find_cursor(&(yyvsp[-1].lex_str), &offset))
++            {
++              my_error(ER_SP_CURSOR_MISMATCH, MYF(0), (yyvsp[-1].lex_str).str);
++              MYSQL_YYABORT;
++            }
++            i= new sp_instr_cfetch(sp->instructions(), lex->spcont, offset);
++            if (i == NULL ||
++                sp->add_instr(i))
++              MYSQL_YYABORT;
++          }
++#line 19276 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 290:
++#line 3419 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 19282 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 291:
++#line 3424 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex= Lex;
++            sp_head *sp= lex->sphead;
++            uint offset;
++            sp_instr_cclose *i;
++
++            if (! lex->spcont->find_cursor(&(yyvsp[0].lex_str), &offset))
++            {
++              my_error(ER_SP_CURSOR_MISMATCH, MYF(0), (yyvsp[0].lex_str).str);
++              MYSQL_YYABORT;
++            }
++            i= new sp_instr_cclose(sp->instructions(), lex->spcont,  offset);
++            if (i == NULL ||
++                sp->add_instr(i))
++              MYSQL_YYABORT;
++          }
++#line 19303 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 295:
++#line 3450 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex= Lex;
++            sp_head *sp= lex->sphead;
++            sp_pcontext *spc= lex->spcont;
++            sp_variable_t *spv;
++
++            if (!spc || !(spv = spc->find_variable(&(yyvsp[0].lex_str))))
++            {
++              my_error(ER_SP_UNDECLARED_VAR, MYF(0), (yyvsp[0].lex_str).str);
++              MYSQL_YYABORT;
++            }
++            else
++            {
++              /* An SP local variable */
++              sp_instr_cfetch *i= (sp_instr_cfetch *)sp->last_instruction();
++
++              i->add_to_varlist(spv);
++            }
++          }
++#line 19327 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 296:
++#line 3470 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex= Lex;
++            sp_head *sp= lex->sphead;
++            sp_pcontext *spc= lex->spcont;
++            sp_variable_t *spv;
++
++            if (!spc || !(spv = spc->find_variable(&(yyvsp[0].lex_str))))
++            {
++              my_error(ER_SP_UNDECLARED_VAR, MYF(0), (yyvsp[0].lex_str).str);
++              MYSQL_YYABORT;
++            }
++            else
++            {
++              /* An SP local variable */
++              sp_instr_cfetch *i= (sp_instr_cfetch *)sp->last_instruction();
++
++              i->add_to_varlist(spv);
++            }
++          }
++#line 19351 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 297:
++#line 3492 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Lex->sphead->reset_lex(thd); }
++#line 19357 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 298:
++#line 3494 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex= Lex;
++            sp_head *sp= lex->sphead;
++            sp_pcontext *ctx= lex->spcont;
++            uint ip= sp->instructions();
++            sp_instr_jump_if_not *i = new sp_instr_jump_if_not(ip, ctx,
++                                                               (yyvsp[-1].item), lex);
++            if (i == NULL ||
++                sp->push_backpatch(i, ctx->push_label((char *)"", 0)) ||
++                sp->add_cont_backpatch(i) ||
++                sp->add_instr(i))
++              MYSQL_YYABORT;
++            if (sp->restore_lex(thd))
++              MYSQL_YYABORT;
++          }
++#line 19377 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 299:
++#line 3510 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            sp_head *sp= Lex->sphead;
++            sp_pcontext *ctx= Lex->spcont;
++            uint ip= sp->instructions();
++            sp_instr_jump *i = new sp_instr_jump(ip, ctx);
++            if (i == NULL ||
++                sp->add_instr(i))
++              MYSQL_YYABORT;
++            sp->backpatch(ctx->pop_label());
++            sp->push_backpatch(i, ctx->push_label((char *)"", 0));
++          }
++#line 19393 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 300:
++#line 3522 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex= Lex;
++
++            lex->sphead->backpatch(lex->spcont->pop_label());
++          }
++#line 19403 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 306:
++#line 3542 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex= Lex;
++            case_stmt_action_case(lex);
++            lex->sphead->reset_lex(thd); /* For expr $3 */
++          }
++#line 19413 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 307:
++#line 3548 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex= Lex;
++            if (case_stmt_action_expr(lex, (yyvsp[0].item)))
++              MYSQL_YYABORT;
++
++            /* For expr $3 */
++            if (lex->sphead->restore_lex(thd))
++              MYSQL_YYABORT;
++          }
++#line 19427 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 308:
++#line 3561 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex= Lex;
++            case_stmt_action_end_case(lex, true);
++          }
++#line 19436 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 309:
++#line 3569 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex= Lex;
++            case_stmt_action_case(lex);
++          }
++#line 19445 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 310:
++#line 3577 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex= Lex;
++            case_stmt_action_end_case(lex, false);
++          }
++#line 19454 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 315:
++#line 3595 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            Lex->sphead->reset_lex(thd); /* For expr $3 */
++          }
++#line 19462 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 316:
++#line 3599 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            /* Simple case: <caseval> = <whenval> */
++
++            LEX *lex= Lex;
++            if (case_stmt_action_when(lex, (yyvsp[0].item), true))
++              MYSQL_YYABORT;
++            /* For expr $3 */
++            if (lex->sphead->restore_lex(thd))
++              MYSQL_YYABORT;
++          }
++#line 19477 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 317:
++#line 3611 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex= Lex;
++            if (case_stmt_action_then(lex))
++              MYSQL_YYABORT;
++          }
++#line 19487 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 318:
++#line 3620 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            Lex->sphead->reset_lex(thd); /* For expr $3 */
++          }
++#line 19495 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 319:
++#line 3624 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex= Lex;
++            if (case_stmt_action_when(lex, (yyvsp[0].item), false))
++              MYSQL_YYABORT;
++            /* For expr $3 */
++            if (lex->sphead->restore_lex(thd))
++              MYSQL_YYABORT;
++          }
++#line 19508 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 320:
++#line 3634 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex= Lex;
++            if (case_stmt_action_then(lex))
++              MYSQL_YYABORT;
++          }
++#line 19518 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 321:
++#line 3643 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex= Lex;
++            sp_head *sp= lex->sphead;
++            uint ip= sp->instructions();
++            sp_instr_error *i= new sp_instr_error(ip, lex->spcont,
++                                                  ER_SP_CASE_NOT_FOUND);
++            if (i == NULL ||
++                sp->add_instr(i))
++              MYSQL_YYABORT;
++          }
++#line 19533 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 323:
++#line 3658 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex= Lex;
++            sp_pcontext *ctx= lex->spcont;
++            sp_label_t *lab= ctx->find_label((yyvsp[-1].lex_str).str);
++
++            if (lab)
++            {
++              my_error(ER_SP_LABEL_REDEFINE, MYF(0), (yyvsp[-1].lex_str).str);
++              MYSQL_YYABORT;
++            }
++            else
++            {
++              lab= lex->spcont->push_label((yyvsp[-1].lex_str).str,
++                                           lex->sphead->instructions());
++              lab->type= SP_LAB_ITER;
++            }
++          }
++#line 19555 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 324:
++#line 3676 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex= Lex;
++            sp_label_t *lab= lex->spcont->pop_label();
++
++            if ((yyvsp[0].lex_str).str)
++            {
++              if (my_strcasecmp(system_charset_info, (yyvsp[0].lex_str).str, lab->name) != 0)
++              {
++                my_error(ER_SP_LABEL_MISMATCH, MYF(0), (yyvsp[0].lex_str).str);
++                MYSQL_YYABORT;
++              }
++            }
++            lex->sphead->backpatch(lab);
++          }
++#line 19574 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 325:
++#line 3693 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.lex_str)= null_lex_str; }
++#line 19580 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 326:
++#line 3694 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.lex_str)= (yyvsp[0].lex_str); }
++#line 19586 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 327:
++#line 3699 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex= Lex;
++            sp_pcontext *ctx= lex->spcont;
++            sp_label_t *lab= ctx->find_label((yyvsp[-1].lex_str).str);
++
++            if (lab)
++            {
++              my_error(ER_SP_LABEL_REDEFINE, MYF(0), (yyvsp[-1].lex_str).str);
++              MYSQL_YYABORT;
++            }
++
++            lab= lex->spcont->push_label((yyvsp[-1].lex_str).str,
++                                         lex->sphead->instructions());
++            lab->type= SP_LAB_BEGIN;
++          }
++#line 19606 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 328:
++#line 3715 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex= Lex;
++            sp_label_t *lab= lex->spcont->pop_label();
++
++            if ((yyvsp[0].lex_str).str)
++            {
++              if (my_strcasecmp(system_charset_info, (yyvsp[0].lex_str).str, lab->name) != 0)
++              {
++                my_error(ER_SP_LABEL_MISMATCH, MYF(0), (yyvsp[0].lex_str).str);
++                MYSQL_YYABORT;
++              }
++            }
++          }
++#line 19624 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 329:
++#line 3731 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { /* Unlabeled blocks get a secret label. */
++            LEX *lex= Lex;
++            uint ip= lex->sphead->instructions();
++            sp_label_t *lab= lex->spcont->push_label((char *)"", ip);
++            lab->type= SP_LAB_BEGIN;
++          }
++#line 19635 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 330:
++#line 3738 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex= Lex;
++            lex->spcont->pop_label();
++          }
++#line 19644 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 331:
++#line 3746 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { /* QQ This is just a dummy for grouping declarations and statements
++              together. No [[NOT] ATOMIC] yet, and we need to figure out how
++              make it coexist with the existing BEGIN COMMIT/ROLLBACK. */
++            LEX *lex= Lex;
++            lex->spcont= lex->spcont->push_context(LABEL_DEFAULT_SCOPE);
++          }
++#line 19655 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 332:
++#line 3755 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex= Lex;
++            sp_head *sp= lex->sphead;
++            sp_pcontext *ctx= lex->spcont;
++            sp_instr *i;
++
++            sp->backpatch(ctx->last_label()); /* We always have a label */
++            if ((yyvsp[-2].spblock).hndlrs)
++            {
++              i= new sp_instr_hpop(sp->instructions(), ctx, (yyvsp[-2].spblock).hndlrs);
++              if (i == NULL ||
++                  sp->add_instr(i))
++                MYSQL_YYABORT;
++            }
++            if ((yyvsp[-2].spblock).curs)
++            {
++              i= new sp_instr_cpop(sp->instructions(), ctx, (yyvsp[-2].spblock).curs);
++              if (i == NULL ||
++                  sp->add_instr(i))
++                MYSQL_YYABORT;
++            }
++            lex->spcont= ctx->pop_context();
++          }
++#line 19683 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 333:
++#line 3783 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex= Lex;
++            uint ip= lex->sphead->instructions();
++            sp_label_t *lab= lex->spcont->last_label();  /* Jumping back */
++            sp_instr_jump *i = new sp_instr_jump(ip, lex->spcont, lab->ip);
++            if (i == NULL ||
++                lex->sphead->add_instr(i))
++              MYSQL_YYABORT;
++          }
++#line 19697 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 334:
++#line 3793 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Lex->sphead->reset_lex(thd); }
++#line 19703 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 335:
++#line 3795 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex= Lex;
++            sp_head *sp= lex->sphead;
++            uint ip= sp->instructions();
++            sp_instr_jump_if_not *i = new sp_instr_jump_if_not(ip, lex->spcont,
++                                                               (yyvsp[-1].item), lex);
++            if (i == NULL ||
++                /* Jumping forward */
++                sp->push_backpatch(i, lex->spcont->last_label()) ||
++                sp->new_cont_backpatch(i) ||
++                sp->add_instr(i))
++              MYSQL_YYABORT;
++            if (sp->restore_lex(thd))
++              MYSQL_YYABORT;
++          }
++#line 19723 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 336:
++#line 3811 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex= Lex;
++            uint ip= lex->sphead->instructions();
++            sp_label_t *lab= lex->spcont->last_label();  /* Jumping back */
++            sp_instr_jump *i = new sp_instr_jump(ip, lex->spcont, lab->ip);
++            if (i == NULL ||
++                lex->sphead->add_instr(i))
++              MYSQL_YYABORT;
++            lex->sphead->do_cont_backpatch();
++          }
++#line 19738 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 337:
++#line 3822 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Lex->sphead->reset_lex(thd); }
++#line 19744 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 338:
++#line 3824 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex= Lex;
++            uint ip= lex->sphead->instructions();
++            sp_label_t *lab= lex->spcont->last_label();  /* Jumping back */
++            sp_instr_jump_if_not *i = new sp_instr_jump_if_not(ip, lex->spcont,
++                                                               (yyvsp[-2].item), lab->ip,
++                                                               lex);
++            if (i == NULL ||
++                lex->sphead->add_instr(i))
++              MYSQL_YYABORT;
++            if (lex->sphead->restore_lex(thd))
++              MYSQL_YYABORT;
++            /* We can shortcut the cont_backpatch here */
++            i->m_cont_dest= ip+1;
++          }
++#line 19764 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 339:
++#line 3843 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Lex->trg_chistics.action_time= TRG_ACTION_BEFORE; }
++#line 19770 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 340:
++#line 3845 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Lex->trg_chistics.action_time= TRG_ACTION_AFTER; }
++#line 19776 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 341:
++#line 3850 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Lex->trg_chistics.event= TRG_EVENT_INSERT; }
++#line 19782 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 342:
++#line 3852 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Lex->trg_chistics.event= TRG_EVENT_UPDATE; }
++#line 19788 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 343:
++#line 3854 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Lex->trg_chistics.event= TRG_EVENT_DELETE; }
++#line 19794 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 347:
++#line 3888 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 19800 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 348:
++#line 3890 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex= Lex;
++            lex->alter_tablespace_info->logfile_group_name= (yyvsp[0].lex_str).str;
++          }
++#line 19809 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 349:
++#line 3900 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { 
++            Lex->alter_tablespace_info->ts_alter_tablespace_type= ALTER_TABLESPACE_ADD_FILE; 
++          }
++#line 19817 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 350:
++#line 3906 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { 
++            Lex->alter_tablespace_info->ts_alter_tablespace_type= ALTER_TABLESPACE_DROP_FILE; 
++          }
++#line 19825 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 355:
++#line 3929 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 19831 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 402:
++#line 4023 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex= Lex;
++            lex->alter_tablespace_info->data_file_name= (yyvsp[0].lex_str).str;
++          }
++#line 19840 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 403:
++#line 4031 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex= Lex;
++            lex->alter_tablespace_info->undo_file_name= (yyvsp[0].lex_str).str;
++          }
++#line 19849 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 404:
++#line 4039 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex= Lex;
++            lex->alter_tablespace_info->redo_file_name= (yyvsp[0].lex_str).str;
++          }
++#line 19858 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 405:
++#line 4047 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex= Lex;
++            lex->alter_tablespace_info= new st_alter_tablespace();
++            if (lex->alter_tablespace_info == NULL)
++              MYSQL_YYABORT;
++            lex->alter_tablespace_info->tablespace_name= (yyvsp[0].lex_str).str;
++            lex->sql_command= SQLCOM_ALTER_TABLESPACE;
++          }
++#line 19871 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 406:
++#line 4059 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex= Lex;
++            lex->alter_tablespace_info= new st_alter_tablespace();
++            if (lex->alter_tablespace_info == NULL)
++              MYSQL_YYABORT;
++            lex->alter_tablespace_info->logfile_group_name= (yyvsp[0].lex_str).str;
++            lex->sql_command= SQLCOM_ALTER_TABLESPACE;
++          }
++#line 19884 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 407:
++#line 4071 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex= Lex;
++            lex->alter_tablespace_info->ts_access_mode= TS_READ_ONLY;
++          }
++#line 19893 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 408:
++#line 4076 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex= Lex;
++            lex->alter_tablespace_info->ts_access_mode= TS_READ_WRITE;
++          }
++#line 19902 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 409:
++#line 4081 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex= Lex;
++            lex->alter_tablespace_info->ts_access_mode= TS_NOT_ACCESSIBLE;
++          }
++#line 19911 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 410:
++#line 4089 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex= Lex;
++            lex->alter_tablespace_info->initial_size= (yyvsp[0].ulonglong_number);
++          }
++#line 19920 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 411:
++#line 4097 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex= Lex;
++            lex->alter_tablespace_info->autoextend_size= (yyvsp[0].ulonglong_number);
++          }
++#line 19929 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 412:
++#line 4105 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex= Lex;
++            lex->alter_tablespace_info->max_size= (yyvsp[0].ulonglong_number);
++          }
++#line 19938 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 413:
++#line 4113 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex= Lex;
++            lex->alter_tablespace_info->extent_size= (yyvsp[0].ulonglong_number);
++          }
++#line 19947 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 414:
++#line 4121 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex= Lex;
++            lex->alter_tablespace_info->undo_buffer_size= (yyvsp[0].ulonglong_number);
++          }
++#line 19956 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 415:
++#line 4129 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex= Lex;
++            lex->alter_tablespace_info->redo_buffer_size= (yyvsp[0].ulonglong_number);
++          }
++#line 19965 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 416:
++#line 4137 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex= Lex;
++            if (lex->alter_tablespace_info->nodegroup_id != UNDEF_NODEGROUP)
++            {
++              my_error(ER_FILEGROUP_OPTION_ONLY_ONCE,MYF(0),"NODEGROUP");
++              MYSQL_YYABORT;
++            }
++            lex->alter_tablespace_info->nodegroup_id= (yyvsp[0].ulong_num);
++          }
++#line 19979 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 417:
++#line 4150 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex= Lex;
++            if (lex->alter_tablespace_info->ts_comment != NULL)
++            {
++              my_error(ER_FILEGROUP_OPTION_ONLY_ONCE,MYF(0),"COMMENT");
++              MYSQL_YYABORT;
++            }
++            lex->alter_tablespace_info->ts_comment= (yyvsp[0].lex_str).str;
++          }
++#line 19993 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 418:
++#line 4163 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex= Lex;
++            if (lex->alter_tablespace_info->storage_engine != NULL)
++            {
++              my_error(ER_FILEGROUP_OPTION_ONLY_ONCE,MYF(0),
++                       "STORAGE ENGINE");
++              MYSQL_YYABORT;
++            }
++            lex->alter_tablespace_info->storage_engine= (yyvsp[0].db_type);
++          }
++#line 20008 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 421:
++#line 4182 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex= Lex;
++            lex->alter_tablespace_info->wait_until_completed= TRUE;
++          }
++#line 20017 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 422:
++#line 4187 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex= Lex;
++            if (!(lex->alter_tablespace_info->wait_until_completed))
++            {
++              my_error(ER_FILEGROUP_OPTION_ONLY_ONCE,MYF(0),"NO_WAIT");
++              MYSQL_YYABORT;
++            }
++            lex->alter_tablespace_info->wait_until_completed= FALSE;
++          }
++#line 20031 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 423:
++#line 4199 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.ulonglong_number)= (yyvsp[0].ulonglong_number);}
++#line 20037 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 424:
++#line 4201 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            ulonglong number;
++            uint text_shift_number= 0;
++            longlong prefix_number;
++            char *start_ptr= (yyvsp[0].lex_str).str;
++            uint str_len= (yyvsp[0].lex_str).length;
++            char *end_ptr= start_ptr + str_len;
++            int error;
++            prefix_number= my_strtoll10(start_ptr, &end_ptr, &error);
++            if ((start_ptr + str_len - 1) == end_ptr)
++            {
++              switch (end_ptr[0])
++              {
++                case 'g':
++                case 'G':
++                  text_shift_number+=10;
++                case 'm':
++                case 'M':
++                  text_shift_number+=10;
++                case 'k':
++                case 'K':
++                  text_shift_number+=10;
++                  break;
++                default:
++                {
++                  my_error(ER_WRONG_SIZE_NUMBER, MYF(0));
++                  MYSQL_YYABORT;
++                }
++              }
++              if (prefix_number >> 31)
++              {
++                my_error(ER_SIZE_OVERFLOW_ERROR, MYF(0));
++                MYSQL_YYABORT;
++              }
++              number= prefix_number << text_shift_number;
++            }
++            else
++            {
++              my_error(ER_WRONG_SIZE_NUMBER, MYF(0));
++              MYSQL_YYABORT;
++            }
++            (yyval.ulonglong_number)= number;
++          }
++#line 20085 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 425:
++#line 4251 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 20091 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 426:
++#line 4254 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 20097 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 427:
++#line 4256 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            TABLE_LIST *src_table;
++            LEX *lex= thd->lex;
++
++            lex->create_info.options|= HA_LEX_CREATE_TABLE_LIKE;
++            src_table= lex->select_lex.add_table_to_list(thd, (yyvsp[0].table), NULL, 0,
++                                                         TL_READ,
++                                                         MDL_SHARED_READ);
++            if (! src_table)
++              MYSQL_YYABORT;
++            /* CREATE TABLE ... LIKE is not allowed for views. */
++            src_table->required_type= FRMTYPE_TABLE;
++          }
++#line 20115 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 428:
++#line 4270 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            TABLE_LIST *src_table;
++            LEX *lex= thd->lex;
++
++            lex->create_info.options|= HA_LEX_CREATE_TABLE_LIKE;
++            src_table= lex->select_lex.add_table_to_list(thd, (yyvsp[-1].table), NULL, 0,
++                                                         TL_READ,
++                                                         MDL_SHARED_READ);
++            if (! src_table)
++              MYSQL_YYABORT;
++            /* CREATE TABLE ... LIKE is not allowed for views. */
++            src_table->required_type= FRMTYPE_TABLE;
++          }
++#line 20133 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 429:
++#line 4287 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            Lex->create_info.option_list= NULL;
++          }
++#line 20141 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 430:
++#line 4292 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 20147 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 431:
++#line 4295 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Select->set_braces(1);}
++#line 20153 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 432:
++#line 4296 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 20159 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 433:
++#line 4300 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 20165 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 434:
++#line 4302 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Select->set_braces(0);}
++#line 20171 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 435:
++#line 4303 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 20177 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 436:
++#line 4305 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Select->set_braces(1);}
++#line 20183 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 437:
++#line 4306 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 20189 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 438:
++#line 4311 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            /*
++              Remove all tables used in PARTITION clause from the global table
++              list. Partitioning with subqueries is not allowed anyway.
++            */
++            TABLE_LIST *last_non_sel_table= Lex->create_last_non_select_table;
++            last_non_sel_table->next_global= 0;
++            Lex->query_tables_last= &last_non_sel_table->next_global;
++          }
++#line 20203 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 439:
++#line 4347 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 20209 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 441:
++#line 4353 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex= Lex;
++            lex->part_info= new partition_info();
++            if (!lex->part_info)
++            {
++              mem_alloc_error(sizeof(partition_info));
++              MYSQL_YYABORT;
++            }
++            if (lex->sql_command == SQLCOM_ALTER_TABLE)
++            {
++              lex->alter_info.flags|= ALTER_PARTITION;
++            }
++          }
++#line 20227 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 443:
++#line 4371 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++#ifdef WITH_PARTITION_STORAGE_ENGINE
++            LEX_STRING partition_name={C_STRING_WITH_LEN("partition")};
++            if (!plugin_is_ready(&partition_name, MYSQL_STORAGE_ENGINE_PLUGIN))
++            {
++              my_error(ER_OPTION_PREVENTS_STATEMENT, MYF(0),
++                      "--skip-partition");
++              MYSQL_YYABORT;
++            }
++#else
++            my_error(ER_FEATURE_DISABLED, MYF(0), "partitioning",
++                    "--with-plugin-partition");
++            MYSQL_YYABORT;
++#endif
++          }
++#line 20247 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 444:
++#line 4390 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex= Lex;
++            if (!lex->part_info)
++            {
++              my_parse_error(ER(ER_PARTITION_ENTRY_ERROR));
++              MYSQL_YYABORT;
++            }
++            /*
++              We enter here when opening the frm file to translate
++              partition info string into part_info data structure.
++            */
++          }
++#line 20264 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 445:
++#line 4402 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 20270 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 447:
++#line 4411 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            partition_info *part_info= Lex->part_info;
++            part_info->list_of_part_fields= TRUE;
++            part_info->column_list= FALSE;
++            part_info->part_type= HASH_PARTITION;
++          }
++#line 20281 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 448:
++#line 4418 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Lex->part_info->part_type= HASH_PARTITION; }
++#line 20287 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 449:
++#line 4419 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 20293 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 450:
++#line 4421 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Lex->part_info->part_type= RANGE_PARTITION; }
++#line 20299 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 451:
++#line 4423 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Lex->part_info->part_type= RANGE_PARTITION; }
++#line 20305 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 452:
++#line 4425 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Lex->part_info->part_type= LIST_PARTITION; }
++#line 20311 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 453:
++#line 4427 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Lex->part_info->part_type= LIST_PARTITION; }
++#line 20317 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 454:
++#line 4431 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 20323 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 455:
++#line 4433 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Lex->part_info->linear_hash_ind= TRUE;}
++#line 20329 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 456:
++#line 4438 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Lex->part_info->key_algorithm= partition_info::KEY_ALGORITHM_NONE;}
++#line 20335 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 457:
++#line 4440 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            switch ((yyvsp[0].ulong_num)) {
++            case 1:
++              Lex->part_info->key_algorithm= partition_info::KEY_ALGORITHM_51;
++              break;
++            case 2:
++              Lex->part_info->key_algorithm= partition_info::KEY_ALGORITHM_55;
++              break;
++            default:
++              my_parse_error(ER(ER_SYNTAX_ERROR));
++              MYSQL_YYABORT;
++            }
++          }
++#line 20353 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 458:
++#line 4456 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 20359 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 459:
++#line 4457 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 20365 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 460:
++#line 4461 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 20371 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 461:
++#line 4462 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 20377 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 462:
++#line 4467 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            partition_info *part_info= Lex->part_info;
++            part_info->num_columns++;
++            if (part_info->part_field_list.push_back((yyvsp[0].lex_str).str))
++            {
++              mem_alloc_error(1);
++              MYSQL_YYABORT;
++            }
++            if (part_info->num_columns > MAX_REF_PARTS)
++            {
++              my_error(ER_TOO_MANY_PARTITION_FUNC_FIELDS_ERROR, MYF(0),
++                       "list of partition fields");
++              MYSQL_YYABORT;
++            }
++          }
++#line 20397 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 463:
++#line 4486 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            partition_info *part_info= Lex->part_info;
++            part_info->column_list= TRUE;
++            part_info->list_of_part_fields= TRUE;
++          }
++#line 20407 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 464:
++#line 4496 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            partition_info *part_info= Lex->part_info;
++            if (part_info->set_part_expr((yyvsp[-3].simple_string)+1, (yyvsp[-2].item), (yyvsp[-1].simple_string), FALSE))
++            { MYSQL_YYABORT; }
++            part_info->num_columns= 1;
++            part_info->column_list= FALSE;
++          }
++#line 20419 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 465:
++#line 4507 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            if (Lex->part_info->set_part_expr((yyvsp[-3].simple_string)+1, (yyvsp[-2].item), (yyvsp[-1].simple_string), TRUE))
++            { MYSQL_YYABORT; }
++          }
++#line 20428 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 466:
++#line 4515 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 20434 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 467:
++#line 4517 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { 
++            uint num_parts= (yyvsp[0].ulong_num);
++            partition_info *part_info= Lex->part_info;
++            if (num_parts == 0)
++            {
++              my_error(ER_NO_PARTS_ERROR, MYF(0), "partitions");
++              MYSQL_YYABORT;
++            }
++
++            part_info->num_parts= num_parts;
++            part_info->use_default_num_partitions= FALSE;
++          }
++#line 20451 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 468:
++#line 4532 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 20457 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 469:
++#line 4534 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Lex->part_info->subpart_type= HASH_PARTITION; }
++#line 20463 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 470:
++#line 4535 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 20469 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 471:
++#line 4538 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            partition_info *part_info= Lex->part_info;
++            part_info->subpart_type= HASH_PARTITION;
++            part_info->list_of_subpart_fields= TRUE;
++          }
++#line 20479 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 472:
++#line 4543 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 20485 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 473:
++#line 4547 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 20491 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 474:
++#line 4548 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 20497 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 475:
++#line 4553 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            partition_info *part_info= Lex->part_info;
++            if (part_info->subpart_field_list.push_back((yyvsp[0].lex_str).str))
++            {
++              mem_alloc_error(1);
++              MYSQL_YYABORT;
++            }
++            if (part_info->subpart_field_list.elements > MAX_REF_PARTS)
++            {
++              my_error(ER_TOO_MANY_PARTITION_FUNC_FIELDS_ERROR, MYF(0),
++                       "list of subpartition fields");
++              MYSQL_YYABORT;
++            }
++          }
++#line 20516 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 476:
++#line 4571 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex= Lex;
++            bool not_corr_func;
++            not_corr_func= !lex->safe_to_cache_query;
++            lex->safe_to_cache_query= 1;
++            if (not_corr_func)
++            {
++              my_parse_error(ER(ER_WRONG_EXPR_IN_PARTITION_FUNC_ERROR));
++              MYSQL_YYABORT;
++            }
++            (yyval.item)=(yyvsp[0].item);
++          }
++#line 20533 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 477:
++#line 4586 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 20539 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 478:
++#line 4588 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            uint num_parts= (yyvsp[0].ulong_num);
++            LEX *lex= Lex;
++            if (num_parts == 0)
++            {
++              my_error(ER_NO_PARTS_ERROR, MYF(0), "subpartitions");
++              MYSQL_YYABORT;
++            }
++            lex->part_info->num_subparts= num_parts;
++            lex->part_info->use_default_num_subpartitions= FALSE;
++          }
++#line 20555 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 479:
++#line 4603 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            partition_info *part_info= Lex->part_info;
++            if (part_info->part_type == RANGE_PARTITION)
++            {
++              my_error(ER_PARTITIONS_MUST_BE_DEFINED_ERROR, MYF(0),
++                       "RANGE");
++              MYSQL_YYABORT;
++            }
++            else if (part_info->part_type == LIST_PARTITION)
++            {
++              my_error(ER_PARTITIONS_MUST_BE_DEFINED_ERROR, MYF(0),
++                       "LIST");
++              MYSQL_YYABORT;
++            }
++          }
++#line 20575 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 480:
++#line 4619 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            partition_info *part_info= Lex->part_info;
++            uint count_curr_parts= part_info->partitions.elements;
++            if (part_info->num_parts != 0)
++            {
++              if (part_info->num_parts !=
++                  count_curr_parts)
++              {
++                my_parse_error(ER(ER_PARTITION_WRONG_NO_PART_ERROR));
++                MYSQL_YYABORT;
++              }
++            }
++            else if (count_curr_parts > 0)
++            {
++              part_info->num_parts= count_curr_parts;
++            }
++            part_info->count_curr_subparts= 0;
++          }
++#line 20598 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 481:
++#line 4640 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 20604 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 482:
++#line 4641 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 20610 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 483:
++#line 4646 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            partition_info *part_info= Lex->part_info;
++            partition_element *p_elem= new partition_element();
++
++            if (!p_elem || part_info->partitions.push_back(p_elem))
++            {
++              mem_alloc_error(sizeof(partition_element));
++              MYSQL_YYABORT;
++            }
++            p_elem->part_state= PART_NORMAL;
++            part_info->curr_part_elem= p_elem;
++            part_info->current_partition= p_elem;
++            part_info->use_default_partitions= FALSE;
++            part_info->use_default_num_partitions= FALSE;
++          }
++#line 20630 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 484:
++#line 4665 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 20636 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 485:
++#line 4670 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            partition_info *part_info= Lex->part_info;
++            partition_element *p_elem= part_info->curr_part_elem;
++            if (check_ident_length(&(yyvsp[0].lex_str)))
++              MYSQL_YYABORT;
++            p_elem->partition_name= (yyvsp[0].lex_str).str;
++          }
++#line 20648 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 486:
++#line 4681 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex= Lex;
++            partition_info *part_info= lex->part_info;
++            if (! lex->is_partition_management())
++            {
++              if (part_info->part_type == RANGE_PARTITION)
++              {
++                my_error(ER_PARTITION_REQUIRES_VALUES_ERROR, MYF(0),
++                         "RANGE", "LESS THAN");
++                MYSQL_YYABORT;
++              }
++              if (part_info->part_type == LIST_PARTITION)
++              {
++                my_error(ER_PARTITION_REQUIRES_VALUES_ERROR, MYF(0),
++                         "LIST", "IN");
++                MYSQL_YYABORT;
++              }
++            }
++            else
++              part_info->part_type= HASH_PARTITION;
++          }
++#line 20674 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 487:
++#line 4703 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex= Lex;
++            partition_info *part_info= lex->part_info;
++            if (! lex->is_partition_management())
++            {
++              if (part_info->part_type != RANGE_PARTITION)
++              {
++                my_error(ER_PARTITION_WRONG_VALUES_ERROR, MYF(0),
++                         "RANGE", "LESS THAN");
++                MYSQL_YYABORT;
++              }
++            }
++            else
++              part_info->part_type= RANGE_PARTITION;
++          }
++#line 20694 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 488:
++#line 4718 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 20700 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 489:
++#line 4720 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex= Lex;
++            partition_info *part_info= lex->part_info;
++            if (! lex->is_partition_management())
++            {
++              if (part_info->part_type != LIST_PARTITION)
++              {
++                my_error(ER_PARTITION_WRONG_VALUES_ERROR, MYF(0),
++                               "LIST", "IN");
++                MYSQL_YYABORT;
++              }
++            }
++            else
++              part_info->part_type= LIST_PARTITION;
++          }
++#line 20720 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 490:
++#line 4735 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 20726 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 491:
++#line 4740 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            partition_info *part_info= Lex->part_info;
++
++            if (part_info->num_columns &&
++                part_info->num_columns != 1U)
++            {
++              part_info->print_debug("Kilroy II", NULL);
++              my_parse_error(ER(ER_PARTITION_COLUMN_LIST_ERROR));
++              MYSQL_YYABORT;
++            }
++            else
++              part_info->num_columns= 1U;
++            if (part_info->init_column_part())
++            {
++              MYSQL_YYABORT;
++            }
++            if (part_info->add_max_value())
++            {
++              MYSQL_YYABORT;
++            }
++          }
++#line 20752 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 492:
++#line 4761 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 20758 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 493:
++#line 4766 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex= Lex;
++            partition_info *part_info= lex->part_info;
++            part_info->print_debug("part_values_in: part_value_item", NULL);
++
++            if (part_info->num_columns != 1U)
++            {
++              if (!lex->is_partition_management() ||
++                  part_info->num_columns == 0 ||
++                  part_info->num_columns > MAX_REF_PARTS)
++              {
++                part_info->print_debug("Kilroy III", NULL);
++                my_parse_error(ER(ER_PARTITION_COLUMN_LIST_ERROR));
++                MYSQL_YYABORT;
++              }
++              /*
++                Reorganize the current large array into a list of small
++                arrays with one entry in each array. This can happen
++                in the first partition of an ALTER TABLE statement where
++                we ADD or REORGANIZE partitions. Also can only happen
++                for LIST partitions.
++              */
++              if (part_info->reorganize_into_single_field_col_val())
++              {
++                MYSQL_YYABORT;
++              }
++            }
++          }
++#line 20791 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 494:
++#line 4795 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            partition_info *part_info= Lex->part_info;
++            if (part_info->num_columns < 2U)
++            {
++              my_parse_error(ER(ER_ROW_SINGLE_PARTITION_FIELD_ERROR));
++              MYSQL_YYABORT;
++            }
++          }
++#line 20804 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 495:
++#line 4806 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 20810 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 496:
++#line 4807 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 20816 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 497:
++#line 4812 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            partition_info *part_info= Lex->part_info;
++            part_info->print_debug("( part_value_item", NULL);
++            /* Initialisation code needed for each list of value expressions */
++            if (!(part_info->part_type == LIST_PARTITION &&
++                  part_info->num_columns == 1U) &&
++                 part_info->init_column_part())
++            {
++              MYSQL_YYABORT;
++            }
++          }
++#line 20832 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 498:
++#line 4823 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 20838 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 499:
++#line 4825 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            partition_info *part_info= Lex->part_info;
++            part_info->print_debug(") part_value_item", NULL);
++            if (part_info->num_columns == 0)
++              part_info->num_columns= part_info->curr_list_object;
++            if (part_info->num_columns != part_info->curr_list_object)
++            {
++              /*
++                All value items lists must be of equal length, in some cases
++                which is covered by the above if-statement we don't know yet
++                how many columns is in the partition so the assignment above
++                ensures that we only report errors when we know we have an
++                error.
++              */
++              part_info->print_debug("Kilroy I", NULL);
++              my_parse_error(ER(ER_PARTITION_COLUMN_LIST_ERROR));
++              MYSQL_YYABORT;
++            }
++            part_info->curr_list_object= 0;
++          }
++#line 20863 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 500:
++#line 4848 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 20869 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 501:
++#line 4849 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 20875 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 502:
++#line 4854 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            partition_info *part_info= Lex->part_info;
++            if (part_info->part_type == LIST_PARTITION)
++            {
++              my_parse_error(ER(ER_MAXVALUE_IN_VALUES_IN));
++              MYSQL_YYABORT;
++            }
++            if (part_info->add_max_value())
++            {
++              MYSQL_YYABORT;
++            }
++          }
++#line 20892 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 503:
++#line 4867 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex= Lex;
++            partition_info *part_info= lex->part_info;
++            Item *part_expr= (yyvsp[0].item);
++
++            if (!lex->safe_to_cache_query)
++            {
++              my_parse_error(ER(ER_WRONG_EXPR_IN_PARTITION_FUNC_ERROR));
++              MYSQL_YYABORT;
++            }
++            if (part_info->add_column_list_value(thd, part_expr))
++            {
++              MYSQL_YYABORT;
++            }
++          }
++#line 20912 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 504:
++#line 4887 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            partition_info *part_info= Lex->part_info;
++            if (part_info->num_subparts != 0 &&
++                !part_info->use_default_subpartitions)
++            {
++              /*
++                We come here when we have defined subpartitions on the first
++                partition but not on all the subsequent partitions. 
++              */
++              my_parse_error(ER(ER_PARTITION_WRONG_NO_SUBPART_ERROR));
++              MYSQL_YYABORT;
++            }
++          }
++#line 20930 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 505:
++#line 4901 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            partition_info *part_info= Lex->part_info;
++            if (part_info->num_subparts != 0)
++            {
++              if (part_info->num_subparts !=
++                  part_info->count_curr_subparts)
++              {
++                my_parse_error(ER(ER_PARTITION_WRONG_NO_SUBPART_ERROR));
++                MYSQL_YYABORT;
++              }
++            }
++            else if (part_info->count_curr_subparts > 0)
++            {
++              if (part_info->partitions.elements > 1)
++              {
++                my_parse_error(ER(ER_PARTITION_WRONG_NO_SUBPART_ERROR));
++                MYSQL_YYABORT;
++              }
++              part_info->num_subparts= part_info->count_curr_subparts;
++            }
++            part_info->count_curr_subparts= 0;
++          }
++#line 20957 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 506:
++#line 4926 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 20963 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 507:
++#line 4927 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 20969 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 508:
++#line 4932 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            partition_info *part_info= Lex->part_info;
++            partition_element *curr_part= part_info->current_partition;
++            partition_element *sub_p_elem= new partition_element(curr_part);
++            if (part_info->use_default_subpartitions &&
++                part_info->partitions.elements >= 2)
++            {
++              /*
++                create table t1 (a int)
++                partition by list (a) subpartition by hash (a)
++                (partition p0 values in (1),
++                 partition p1 values in (2) subpartition sp11);
++                causes use to arrive since we are on the second
++                partition, but still use_default_subpartitions
++                is set. When we come here we're processing at least
++                the second partition (the current partition processed
++                have already been put into the partitions list.
++              */
++              my_parse_error(ER(ER_PARTITION_WRONG_NO_SUBPART_ERROR));
++              MYSQL_YYABORT;
++            }
++            if (!sub_p_elem ||
++             curr_part->subpartitions.push_back(sub_p_elem))
++            {
++              mem_alloc_error(sizeof(partition_element));
++              MYSQL_YYABORT;
++            }
++            part_info->curr_part_elem= sub_p_elem;
++            part_info->use_default_subpartitions= FALSE;
++            part_info->use_default_num_subpartitions= FALSE;
++            part_info->count_curr_subparts++;
++          }
++#line 21006 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 509:
++#line 4964 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 21012 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 510:
++#line 4969 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            if (check_ident_length(&(yyvsp[0].lex_str)))
++              MYSQL_YYABORT;
++            Lex->part_info->curr_part_elem->partition_name= (yyvsp[0].lex_str).str;
++          }
++#line 21022 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 511:
++#line 4977 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 21028 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 512:
++#line 4978 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 21034 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 513:
++#line 4982 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 21040 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 514:
++#line 4983 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 21046 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 515:
++#line 4988 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Lex->part_info->curr_part_elem->tablespace_name= (yyvsp[0].lex_str).str; }
++#line 21052 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 516:
++#line 4990 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            partition_info *part_info= Lex->part_info;
++            part_info->curr_part_elem->engine_type= (yyvsp[0].db_type);
++            part_info->default_engine_type= (yyvsp[0].db_type);
++          }
++#line 21062 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 517:
++#line 4996 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex= Lex;
++            lex->part_info->curr_part_elem->connect_string.str= (yyvsp[0].lex_str).str;
++            lex->part_info->curr_part_elem->connect_string.length= (yyvsp[0].lex_str).length;
++          }
++#line 21072 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 518:
++#line 5002 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Lex->part_info->curr_part_elem->nodegroup_id= (uint16) (yyvsp[0].ulong_num); }
++#line 21078 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 519:
++#line 5004 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Lex->part_info->curr_part_elem->part_max_rows= (ha_rows) (yyvsp[0].ulonglong_number); }
++#line 21084 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 520:
++#line 5006 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Lex->part_info->curr_part_elem->part_min_rows= (ha_rows) (yyvsp[0].ulonglong_number); }
++#line 21090 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 521:
++#line 5008 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Lex->part_info->curr_part_elem->data_file_name= (yyvsp[0].lex_str).str; }
++#line 21096 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 522:
++#line 5010 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Lex->part_info->curr_part_elem->index_file_name= (yyvsp[0].lex_str).str; }
++#line 21102 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 523:
++#line 5012 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Lex->part_info->curr_part_elem->part_comment= (yyvsp[0].lex_str).str; }
++#line 21108 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 524:
++#line 5021 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex=Lex;
++            if (lex->sql_command == SQLCOM_INSERT)
++              lex->sql_command= SQLCOM_INSERT_SELECT;
++            else if (lex->sql_command == SQLCOM_REPLACE)
++              lex->sql_command= SQLCOM_REPLACE_SELECT;
++            /*
++              The following work only with the local list, the global list
++              is created correctly in this case
++            */
++            lex->current_select->table_list.save_and_clear(&lex->save_list);
++            mysql_init_select(lex);
++            lex->current_select->parsing_place= SELECT_LIST;
++          }
++#line 21127 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 525:
++#line 5036 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            Select->parsing_place= NO_MATTER;
++          }
++#line 21135 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 526:
++#line 5040 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            /*
++              The following work only with the local list, the global list
++              is created correctly in this case
++            */
++            Lex->current_select->table_list.push_front(&Lex->save_list);
++          }
++#line 21147 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 527:
++#line 5050 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 21153 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 528:
++#line 5051 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 21159 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 529:
++#line 5055 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 21165 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 530:
++#line 5056 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 21171 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 531:
++#line 5060 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 21177 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 532:
++#line 5061 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 21183 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 533:
++#line 5065 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 21189 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 534:
++#line 5066 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 21195 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 535:
++#line 5070 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.num)= 0; }
++#line 21201 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 536:
++#line 5071 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.num)= (yyvsp[0].num);}
++#line 21207 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 537:
++#line 5075 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.num)=(yyvsp[0].num); }
++#line 21213 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 538:
++#line 5076 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.num)= (yyvsp[-1].num) | (yyvsp[0].num); }
++#line 21219 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 539:
++#line 5080 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.num)=HA_LEX_CREATE_TMP_TABLE; }
++#line 21225 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 540:
++#line 5084 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.num)= 0; }
++#line 21231 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 541:
++#line 5085 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.num)=HA_LEX_CREATE_IF_NOT_EXISTS; }
++#line 21237 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 549:
++#line 5106 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            Lex->create_info.db_type= (yyvsp[0].db_type);
++            Lex->create_info.used_fields|= HA_CREATE_USED_ENGINE;
++          }
++#line 21246 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 550:
++#line 5111 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            Lex->create_info.max_rows= (yyvsp[0].ulonglong_number);
++            Lex->create_info.used_fields|= HA_CREATE_USED_MAX_ROWS;
++          }
++#line 21255 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 551:
++#line 5116 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            Lex->create_info.min_rows= (yyvsp[0].ulonglong_number);
++            Lex->create_info.used_fields|= HA_CREATE_USED_MIN_ROWS;
++          }
++#line 21264 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 552:
++#line 5121 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            Lex->create_info.avg_row_length=(yyvsp[0].ulong_num);
++            Lex->create_info.used_fields|= HA_CREATE_USED_AVG_ROW_LENGTH;
++          }
++#line 21273 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 553:
++#line 5126 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            Lex->create_info.password=(yyvsp[0].lex_str).str;
++            Lex->create_info.used_fields|= HA_CREATE_USED_PASSWORD;
++          }
++#line 21282 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 554:
++#line 5131 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            Lex->create_info.comment=(yyvsp[0].lex_str);
++            Lex->create_info.used_fields|= HA_CREATE_USED_COMMENT;
++          }
++#line 21291 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 555:
++#line 5136 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            Lex->create_info.auto_increment_value=(yyvsp[0].ulonglong_number);
++            Lex->create_info.used_fields|= HA_CREATE_USED_AUTO;
++          }
++#line 21300 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 556:
++#line 5141 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            switch((yyvsp[0].ulong_num)) {
++            case 0:
++                Lex->create_info.table_options|= HA_OPTION_NO_PACK_KEYS;
++                break;
++            case 1:
++                Lex->create_info.table_options|= HA_OPTION_PACK_KEYS;
++                break;
++            default:
++                my_parse_error(ER(ER_SYNTAX_ERROR));
++                MYSQL_YYABORT;
++            }
++            Lex->create_info.used_fields|= HA_CREATE_USED_PACK_KEYS;
++          }
++#line 21319 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 557:
++#line 5156 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            Lex->create_info.table_options&=
++              ~(HA_OPTION_PACK_KEYS | HA_OPTION_NO_PACK_KEYS);
++            Lex->create_info.used_fields|= HA_CREATE_USED_PACK_KEYS;
++          }
++#line 21329 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 558:
++#line 5162 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            Lex->create_info.table_options|= (yyvsp[0].ulong_num) ? HA_OPTION_CHECKSUM : HA_OPTION_NO_CHECKSUM;
++            Lex->create_info.used_fields|= HA_CREATE_USED_CHECKSUM;
++          }
++#line 21338 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 559:
++#line 5167 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++             Lex->create_info.table_options|= (yyvsp[0].ulong_num) ? HA_OPTION_CHECKSUM : HA_OPTION_NO_CHECKSUM;
++             Lex->create_info.used_fields|= HA_CREATE_USED_CHECKSUM;
++          }
++#line 21347 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 560:
++#line 5172 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            Lex->create_info.used_fields|= HA_CREATE_USED_PAGE_CHECKSUM;
++            Lex->create_info.page_checksum= (yyvsp[0].choice);
++          }
++#line 21356 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 561:
++#line 5177 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            Lex->create_info.table_options|= (yyvsp[0].ulong_num) ? HA_OPTION_DELAY_KEY_WRITE : HA_OPTION_NO_DELAY_KEY_WRITE;
++            Lex->create_info.used_fields|= HA_CREATE_USED_DELAY_KEY_WRITE;
++          }
++#line 21365 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 562:
++#line 5182 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            Lex->create_info.row_type= (yyvsp[0].row_type);
++            Lex->create_info.used_fields|= HA_CREATE_USED_ROW_FORMAT;
++          }
++#line 21374 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 563:
++#line 5187 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            Lex->select_lex.table_list.save_and_clear(&Lex->save_list);
++          }
++#line 21382 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 564:
++#line 5191 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            /*
++              Move the union list to the merge_list and exclude its tables
++              from the global list.
++            */
++            LEX *lex=Lex;
++            lex->create_info.merge_list= lex->select_lex.table_list;
++            lex->select_lex.table_list= lex->save_list;
++            /*
++              When excluding union list from the global list we assume that
++              elements of the former immediately follow elements which represent
++              table being created/altered and parent tables.
++            */
++            TABLE_LIST *last_non_sel_table= lex->create_last_non_select_table;
++            DBUG_ASSERT(last_non_sel_table->next_global ==
++                        lex->create_info.merge_list.first);
++            last_non_sel_table->next_global= 0;
++            Lex->query_tables_last= &last_non_sel_table->next_global;
++
++            lex->create_info.used_fields|= HA_CREATE_USED_UNION;
++          }
++#line 21408 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 567:
++#line 5215 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            Lex->create_info.merge_insert_method= (yyvsp[0].ulong_num);
++            Lex->create_info.used_fields|= HA_CREATE_USED_INSERT_METHOD;
++          }
++#line 21417 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 568:
++#line 5220 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            Lex->create_info.data_file_name= (yyvsp[0].lex_str).str;
++            Lex->create_info.used_fields|= HA_CREATE_USED_DATADIR;
++          }
++#line 21426 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 569:
++#line 5225 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            Lex->create_info.index_file_name= (yyvsp[0].lex_str).str;
++            Lex->create_info.used_fields|= HA_CREATE_USED_INDEXDIR;
++          }
++#line 21435 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 570:
++#line 5230 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {Lex->create_info.tablespace= (yyvsp[0].lex_str).str;}
++#line 21441 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 571:
++#line 5232 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {Lex->create_info.storage_media= HA_SM_DISK;}
++#line 21447 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 572:
++#line 5234 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {Lex->create_info.storage_media= HA_SM_MEMORY;}
++#line 21453 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 573:
++#line 5236 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            Lex->create_info.connect_string.str= (yyvsp[0].lex_str).str;
++            Lex->create_info.connect_string.length= (yyvsp[0].lex_str).length;
++            Lex->create_info.used_fields|= HA_CREATE_USED_CONNECTION;
++          }
++#line 21463 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 574:
++#line 5242 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            Lex->create_info.used_fields|= HA_CREATE_USED_KEY_BLOCK_SIZE;
++            Lex->create_info.key_block_size= (yyvsp[0].ulong_num);
++          }
++#line 21472 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 575:
++#line 5247 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++	    Lex->create_info.used_fields|= HA_CREATE_USED_TRANSACTIONAL;
++            Lex->create_info.transactional= (yyvsp[0].choice);
++          }
++#line 21481 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 576:
++#line 5252 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            new (thd->mem_root)
++              engine_option_value((yyvsp[-2].lex_str), (yyvsp[0].lex_str), true, &Lex->create_info.option_list,
++                                  &Lex->option_list_last);
++          }
++#line 21491 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 577:
++#line 5258 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            new (thd->mem_root)
++              engine_option_value((yyvsp[-2].lex_str), (yyvsp[0].lex_str), false, &Lex->create_info.option_list,
++                                  &Lex->option_list_last);
++          }
++#line 21501 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 578:
++#line 5264 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            new (thd->mem_root)
++              engine_option_value((yyvsp[-2].lex_str), (yyvsp[0].ulonglong_number), &Lex->create_info.option_list,
++                                  &Lex->option_list_last, thd->mem_root);
++          }
++#line 21511 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 579:
++#line 5270 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            new (thd->mem_root)
++              engine_option_value((yyvsp[-2].lex_str), &Lex->create_info.option_list,
++                                  &Lex->option_list_last);
++          }
++#line 21521 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 580:
++#line 5279 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            HA_CREATE_INFO *cinfo= &Lex->create_info;
++            if ((cinfo->used_fields & HA_CREATE_USED_DEFAULT_CHARSET) &&
++                 cinfo->default_table_charset && (yyvsp[0].charset) &&
++                 !my_charset_same(cinfo->default_table_charset,(yyvsp[0].charset)))
++            {
++              my_error(ER_CONFLICTING_DECLARATIONS, MYF(0),
++                       "CHARACTER SET ", cinfo->default_table_charset->csname,
++                       "CHARACTER SET ", (yyvsp[0].charset)->csname);
++              MYSQL_YYABORT;
++            }
++            Lex->create_info.default_table_charset= (yyvsp[0].charset);
++            Lex->create_info.used_fields|= HA_CREATE_USED_DEFAULT_CHARSET;
++          }
++#line 21540 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 581:
++#line 5297 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            HA_CREATE_INFO *cinfo= &Lex->create_info;
++            if ((cinfo->used_fields & HA_CREATE_USED_DEFAULT_CHARSET) &&
++                 cinfo->default_table_charset && (yyvsp[0].charset) &&
++                 !((yyvsp[0].charset)= merge_charset_and_collation(cinfo->default_table_charset,
++                                                   (yyvsp[0].charset))))
++            {
++              MYSQL_YYABORT;
++            }
++
++            Lex->create_info.default_table_charset= (yyvsp[0].charset);
++            Lex->create_info.used_fields|= HA_CREATE_USED_DEFAULT_CHARSET;
++          }
++#line 21558 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 582:
++#line 5314 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            plugin_ref plugin= ha_resolve_by_name(thd, &(yyvsp[0].lex_str));
++
++            if (plugin)
++              (yyval.db_type)= plugin_data(plugin, handlerton*);
++            else
++            {
++              if (thd->variables.sql_mode & MODE_NO_ENGINE_SUBSTITUTION)
++              {
++                my_error(ER_UNKNOWN_STORAGE_ENGINE, MYF(0), (yyvsp[0].lex_str).str);
++                MYSQL_YYABORT;
++              }
++              (yyval.db_type)= 0;
++              push_warning_printf(thd, MYSQL_ERROR::WARN_LEVEL_WARN,
++                                  ER_UNKNOWN_STORAGE_ENGINE,
++                                  ER(ER_UNKNOWN_STORAGE_ENGINE),
++                                  (yyvsp[0].lex_str).str);
++            }
++          }
++#line 21582 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 583:
++#line 5337 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            plugin_ref plugin;
++            if ((plugin= ha_resolve_by_name(thd, &(yyvsp[0].lex_str))))
++              (yyval.db_type)= plugin_data(plugin, handlerton*);
++            else
++            {
++              my_error(ER_UNKNOWN_STORAGE_ENGINE, MYF(0), (yyvsp[0].lex_str).str);
++              MYSQL_YYABORT;
++            }
++          }
++#line 21597 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 584:
++#line 5350 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.row_type)= ROW_TYPE_DEFAULT; }
++#line 21603 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 585:
++#line 5351 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.row_type)= ROW_TYPE_FIXED; }
++#line 21609 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 586:
++#line 5352 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.row_type)= ROW_TYPE_DYNAMIC; }
++#line 21615 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 587:
++#line 5353 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.row_type)= ROW_TYPE_COMPRESSED; }
++#line 21621 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 588:
++#line 5354 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.row_type)= ROW_TYPE_REDUNDANT; }
++#line 21627 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 589:
++#line 5355 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.row_type)= ROW_TYPE_COMPACT; }
++#line 21633 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 590:
++#line 5356 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.row_type)= ROW_TYPE_PAGE; }
++#line 21639 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 591:
++#line 5360 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.ulong_num)= MERGE_INSERT_DISABLED; }
++#line 21645 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 592:
++#line 5361 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.ulong_num)= MERGE_INSERT_TO_FIRST; }
++#line 21651 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 593:
++#line 5362 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.ulong_num)= MERGE_INSERT_TO_LAST; }
++#line 21657 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 594:
++#line 5366 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 21663 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 596:
++#line 5371 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {(yyval.num) = (int) STRING_RESULT; }
++#line 21669 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 597:
++#line 5372 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {(yyval.num) = (int) REAL_RESULT; }
++#line 21675 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 598:
++#line 5373 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {(yyval.num) = (int) DECIMAL_RESULT; }
++#line 21681 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 599:
++#line 5374 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {(yyval.num) = (int) INT_RESULT; }
++#line 21687 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 600:
++#line 5380 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++          Lex->create_last_non_select_table= Lex->last_table();
++        }
++#line 21695 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 606:
++#line 5398 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            Lex->col_list.empty(); /* Alloced by sql_alloc */
++          }
++#line 21703 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 607:
++#line 5405 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Lex->option_list= NULL; }
++#line 21709 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 608:
++#line 5407 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            if (add_create_index (Lex, (yyvsp[-7].key_type), (yyvsp[-6].lex_str)))
++              MYSQL_YYABORT;
++          }
++#line 21718 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 609:
++#line 5413 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Lex->option_list= NULL; }
++#line 21724 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 610:
++#line 5415 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            if (add_create_index (Lex, (yyvsp[-8].key_type), (yyvsp[-6].lex_str)))
++              MYSQL_YYABORT;
++          }
++#line 21733 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 611:
++#line 5421 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Lex->option_list= NULL; }
++#line 21739 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 612:
++#line 5423 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            if (add_create_index (Lex, (yyvsp[-8].key_type), (yyvsp[-6].lex_str)))
++              MYSQL_YYABORT;
++          }
++#line 21748 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 613:
++#line 5429 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Lex->option_list= NULL; }
++#line 21754 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 614:
++#line 5431 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            if (add_create_index (Lex, (yyvsp[-7].key_type), (yyvsp[-6].lex_str).str ? (yyvsp[-6].lex_str) : (yyvsp[-8].lex_str)))
++              MYSQL_YYABORT;
++          }
++#line 21763 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 615:
++#line 5436 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex=Lex;
++            Key *key= new Foreign_key((yyvsp[-4].lex_str).str ? (yyvsp[-4].lex_str) : (yyvsp[-7].lex_str), lex->col_list,
++                                      (yyvsp[0].table),
++                                      lex->ref_list,
++                                      lex->fk_delete_opt,
++                                      lex->fk_update_opt,
++                                      lex->fk_match_option);
++            if (key == NULL)
++              MYSQL_YYABORT;
++            lex->alter_info.key_list.push_back(key);
++            lex->option_list= NULL;
++            if (add_create_index (lex, Key::MULTIPLE, (yyvsp[-7].lex_str).str ? (yyvsp[-7].lex_str) : (yyvsp[-4].lex_str),
++                                  &default_key_create_info, 1))
++              MYSQL_YYABORT;
++            /* Only used for ALTER TABLE. Ignored otherwise. */
++            lex->alter_info.flags|= ALTER_FOREIGN_KEY;
++          }
++#line 21786 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 616:
++#line 5455 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            Lex->col_list.empty(); /* Alloced by sql_alloc */
++          }
++#line 21794 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 620:
++#line 5470 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.lex_str)= null_lex_str; }
++#line 21800 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 621:
++#line 5471 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.lex_str)= (yyvsp[0].lex_str); }
++#line 21806 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 622:
++#line 5475 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.lex_str)=(yyvsp[0].lex_str); }
++#line 21812 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 623:
++#line 5480 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex=Lex;
++            lex->length=lex->dec=0;
++            lex->type=0;
++            lex->default_value= lex->on_update_value= 0;
++            lex->comment=null_lex_str;
++            lex->charset=NULL;
++	    lex->vcol_info= 0;
++            lex->option_list= NULL;
++          }
++#line 21827 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 624:
++#line 5491 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex=Lex;
++            if (add_field_to_list(lex->thd, &(yyvsp[-2].lex_str), (yyvsp[0].lex_type).type,
++                                  (yyvsp[0].lex_type).length, (yyvsp[0].lex_type).dec, lex->type,
++                                  lex->default_value, lex->on_update_value, 
++                                  &lex->comment,
++                                  lex->change, &lex->interval_list, (yyvsp[0].lex_type).charset,
++                                  lex->uint_geom_type,
++                                  lex->vcol_info, lex->option_list))
++              MYSQL_YYABORT;
++          }
++#line 21843 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 625:
++#line 5506 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.lex_type).set((yyvsp[-1].num), Lex->length, Lex->dec, Lex->charset); }
++#line 21849 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 626:
++#line 5508 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.lex_type).set((yyvsp[-2].num), Lex->length, Lex->dec, Lex->charset); }
++#line 21855 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 627:
++#line 5510 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            (yyval.lex_type)= (yyvsp[-5].lex_type);
++            Lex->vcol_info->set_field_type((yyval.lex_type).type);
++            (yyval.lex_type).type= (enum enum_field_types)MYSQL_TYPE_VIRTUAL;
++          }
++#line 21865 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 629:
++#line 5519 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 21871 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 630:
++#line 5524 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            Lex->vcol_info->set_stored_in_db_flag(FALSE);
++          }
++#line 21879 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 631:
++#line 5528 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            Lex->vcol_info->set_stored_in_db_flag(FALSE);
++          }
++#line 21887 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 632:
++#line 5532 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            Lex->vcol_info->set_stored_in_db_flag(TRUE);
++          }
++#line 21895 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 633:
++#line 5538 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 21901 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 634:
++#line 5539 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 21907 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 635:
++#line 5543 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 21913 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 637:
++#line 5549 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex=Lex;
++            lex->type|= UNIQUE_FLAG;
++            lex->alter_info.flags|= ALTER_ADD_INDEX;
++          }
++#line 21923 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 638:
++#line 5555 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex=Lex;
++            lex->type|= UNIQUE_KEY_FLAG;
++            lex->alter_info.flags|= ALTER_ADD_INDEX;
++          }
++#line 21933 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 639:
++#line 5560 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Lex->comment= (yyvsp[0].lex_str); }
++#line 21939 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 640:
++#line 5565 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            /*
++              "PARSE_VCOL_EXPR" can only be used by the SQL server
++              when reading a '*.frm' file.
++              Prevent the end user from invoking this command.
++            */
++            if (!Lex->parse_vcol_expr)
++            {
++              my_message(ER_SYNTAX_ERROR, ER(ER_SYNTAX_ERROR), MYF(0));
++              MYSQL_YYABORT;
++            }
++          }
++#line 21956 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 641:
++#line 5581 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            Lex->vcol_info= new Virtual_column_info();
++            if (!Lex->vcol_info)
++            {
++              mem_alloc_error(sizeof(Virtual_column_info));
++              MYSQL_YYABORT;
++            }
++            uint expr_len= (uint)((yyvsp[0].simple_string) - (yyvsp[-2].simple_string)) - 1;
++            Lex->vcol_info->expr_str.str= (char* ) sql_memdup((yyvsp[-2].simple_string) + 1, expr_len);
++            Lex->vcol_info->expr_str.length= expr_len;
++            Lex->vcol_info->expr_item= (yyvsp[-1].item);
++          }
++#line 21973 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 642:
++#line 5596 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.num)=(yyvsp[-2].num); }
++#line 21979 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 643:
++#line 5597 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.num)=(yyvsp[-2].num); }
++#line 21985 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 644:
++#line 5598 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.num)=MYSQL_TYPE_FLOAT; }
++#line 21991 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 645:
++#line 5600 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            Lex->length= (char*) "1";
++            (yyval.num)=MYSQL_TYPE_BIT;
++          }
++#line 22000 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 646:
++#line 5605 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            (yyval.num)=MYSQL_TYPE_BIT;
++          }
++#line 22008 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 647:
++#line 5609 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            Lex->length= (char*) "1";
++            (yyval.num)=MYSQL_TYPE_TINY;
++          }
++#line 22017 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 648:
++#line 5614 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            Lex->length= (char*) "1";
++            (yyval.num)=MYSQL_TYPE_TINY;
++          }
++#line 22026 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 649:
++#line 5619 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            (yyval.num)=MYSQL_TYPE_STRING;
++          }
++#line 22034 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 650:
++#line 5623 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            Lex->length= (char*) "1";
++            (yyval.num)=MYSQL_TYPE_STRING;
++          }
++#line 22043 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 651:
++#line 5628 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            (yyval.num)=MYSQL_TYPE_STRING;
++            Lex->charset=national_charset_info;
++          }
++#line 22052 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 652:
++#line 5633 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            Lex->length= (char*) "1";
++            (yyval.num)=MYSQL_TYPE_STRING;
++            Lex->charset=national_charset_info;
++          }
++#line 22062 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 653:
++#line 5639 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            Lex->charset=&my_charset_bin;
++            (yyval.num)=MYSQL_TYPE_STRING;
++          }
++#line 22071 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 654:
++#line 5644 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            Lex->length= (char*) "1";
++            Lex->charset=&my_charset_bin;
++            (yyval.num)=MYSQL_TYPE_STRING;
++          }
++#line 22081 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 655:
++#line 5650 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            (yyval.num)= MYSQL_TYPE_VARCHAR;
++          }
++#line 22089 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 656:
++#line 5654 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            (yyval.num)= MYSQL_TYPE_VARCHAR;
++            Lex->charset=national_charset_info;
++          }
++#line 22098 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 657:
++#line 5659 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            Lex->charset=&my_charset_bin;
++            (yyval.num)= MYSQL_TYPE_VARCHAR;
++          }
++#line 22107 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 658:
++#line 5664 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            if (Lex->length)
++            {
++              errno= 0;
++              ulong length= strtoul(Lex->length, NULL, 10);
++              if (errno == 0 && length <= MAX_FIELD_BLOBLENGTH && length != 4)
++              {
++                char buff[sizeof("YEAR()") + MY_INT64_NUM_DECIMAL_DIGITS + 1];
++                my_snprintf(buff, sizeof(buff), "YEAR(%lu)", length);
++                push_warning_printf(thd, MYSQL_ERROR::WARN_LEVEL_NOTE,
++                                    ER_WARN_DEPRECATED_SYNTAX,
++                                    ER(ER_WARN_DEPRECATED_SYNTAX),
++                                    buff, "YEAR(4)");
++              }
++            }
++            (yyval.num)=MYSQL_TYPE_YEAR;
++          }
++#line 22129 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 659:
++#line 5682 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.num)=MYSQL_TYPE_DATE; }
++#line 22135 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 660:
++#line 5684 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.num)=MYSQL_TYPE_TIME; }
++#line 22141 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 661:
++#line 5686 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            if (thd->variables.sql_mode & MODE_MAXDB)
++              (yyval.num)=MYSQL_TYPE_DATETIME;
++            else
++            {
++              /* 
++                Unlike other types TIMESTAMP fields are NOT NULL by default.
++              */
++              Lex->type|= NOT_NULL_FLAG;
++              (yyval.num)=MYSQL_TYPE_TIMESTAMP;
++            }
++          }
++#line 22158 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 662:
++#line 5699 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.num)=MYSQL_TYPE_DATETIME; }
++#line 22164 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 663:
++#line 5701 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            Lex->charset=&my_charset_bin;
++            (yyval.num)=MYSQL_TYPE_TINY_BLOB;
++          }
++#line 22173 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 664:
++#line 5706 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            Lex->charset=&my_charset_bin;
++            (yyval.num)=MYSQL_TYPE_BLOB;
++          }
++#line 22182 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 665:
++#line 5711 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++#ifdef HAVE_SPATIAL
++            Lex->charset=&my_charset_bin;
++            Lex->uint_geom_type= (uint)(yyvsp[0].num);
++            (yyval.num)=MYSQL_TYPE_GEOMETRY;
++#else
++            my_error(ER_FEATURE_DISABLED, MYF(0),
++                     sym_group_geom.name, sym_group_geom.needed_define);
++            MYSQL_YYABORT;
++#endif
++          }
++#line 22198 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 666:
++#line 5723 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            Lex->charset=&my_charset_bin;
++            (yyval.num)=MYSQL_TYPE_MEDIUM_BLOB;
++          }
++#line 22207 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 667:
++#line 5728 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            Lex->charset=&my_charset_bin;
++            (yyval.num)=MYSQL_TYPE_LONG_BLOB;
++          }
++#line 22216 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 668:
++#line 5733 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            Lex->charset=&my_charset_bin;
++            (yyval.num)=MYSQL_TYPE_MEDIUM_BLOB;
++          }
++#line 22225 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 669:
++#line 5738 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.num)=MYSQL_TYPE_MEDIUM_BLOB; }
++#line 22231 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 670:
++#line 5740 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.num)=MYSQL_TYPE_TINY_BLOB; }
++#line 22237 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 671:
++#line 5742 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.num)=MYSQL_TYPE_BLOB; }
++#line 22243 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 672:
++#line 5744 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.num)=MYSQL_TYPE_MEDIUM_BLOB; }
++#line 22249 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 673:
++#line 5746 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.num)=MYSQL_TYPE_LONG_BLOB; }
++#line 22255 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 674:
++#line 5748 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.num)=MYSQL_TYPE_NEWDECIMAL;}
++#line 22261 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 675:
++#line 5750 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.num)=MYSQL_TYPE_NEWDECIMAL;}
++#line 22267 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 676:
++#line 5752 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.num)=MYSQL_TYPE_NEWDECIMAL;}
++#line 22273 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 677:
++#line 5754 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {Lex->interval_list.empty();}
++#line 22279 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 678:
++#line 5756 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.num)=MYSQL_TYPE_ENUM; }
++#line 22285 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 679:
++#line 5758 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Lex->interval_list.empty();}
++#line 22291 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 680:
++#line 5760 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.num)=MYSQL_TYPE_SET; }
++#line 22297 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 681:
++#line 5762 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.num)=MYSQL_TYPE_MEDIUM_BLOB; }
++#line 22303 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 682:
++#line 5764 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            (yyval.num)=MYSQL_TYPE_LONGLONG;
++            Lex->type|= (AUTO_INCREMENT_FLAG | NOT_NULL_FLAG | UNSIGNED_FLAG |
++              UNIQUE_FLAG);
++          }
++#line 22313 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 683:
++#line 5772 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.num)= Field::GEOM_GEOMETRY; }
++#line 22319 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 684:
++#line 5773 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.num)= Field::GEOM_GEOMETRYCOLLECTION; }
++#line 22325 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 685:
++#line 5775 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            Lex->length= const_cast<char*>(STRINGIFY_ARG
++                                           (MAX_LEN_GEOM_POINT_FIELD));
++            (yyval.num)= Field::GEOM_POINT;
++          }
++#line 22335 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 686:
++#line 5780 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.num)= Field::GEOM_MULTIPOINT; }
++#line 22341 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 687:
++#line 5781 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.num)= Field::GEOM_LINESTRING; }
++#line 22347 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 688:
++#line 5782 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.num)= Field::GEOM_MULTILINESTRING; }
++#line 22353 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 689:
++#line 5783 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.num)= Field::GEOM_POLYGON; }
++#line 22359 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 690:
++#line 5784 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.num)= Field::GEOM_MULTIPOLYGON; }
++#line 22365 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 691:
++#line 5788 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 22371 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 692:
++#line 5792 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 22377 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 693:
++#line 5793 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 22383 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 694:
++#line 5797 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 22389 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 695:
++#line 5798 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 22395 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 696:
++#line 5802 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 22401 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 697:
++#line 5803 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 22407 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 698:
++#line 5804 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 22413 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 699:
++#line 5805 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 22419 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 700:
++#line 5806 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 22425 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 701:
++#line 5810 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.num)=MYSQL_TYPE_LONG; }
++#line 22431 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 702:
++#line 5811 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.num)=MYSQL_TYPE_TINY; }
++#line 22437 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 703:
++#line 5812 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.num)=MYSQL_TYPE_SHORT; }
++#line 22443 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 704:
++#line 5813 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.num)=MYSQL_TYPE_INT24; }
++#line 22449 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 705:
++#line 5814 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.num)=MYSQL_TYPE_LONGLONG; }
++#line 22455 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 706:
++#line 5819 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            (yyval.num)= thd->variables.sql_mode & MODE_REAL_AS_FLOAT ?
++              MYSQL_TYPE_FLOAT : MYSQL_TYPE_DOUBLE;
++          }
++#line 22464 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 707:
++#line 5824 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.num)=MYSQL_TYPE_DOUBLE; }
++#line 22470 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 708:
++#line 5826 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.num)=MYSQL_TYPE_DOUBLE; }
++#line 22476 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 709:
++#line 5831 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Lex->dec=Lex->length= (char*)0; }
++#line 22482 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 710:
++#line 5833 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Lex->dec= (char*)0; }
++#line 22488 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 711:
++#line 5835 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 22494 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 712:
++#line 5840 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex=Lex;
++            lex->length=(yyvsp[-3].lex_str).str;
++            lex->dec=(yyvsp[-1].lex_str).str;
++          }
++#line 22504 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 713:
++#line 5848 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 22510 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 714:
++#line 5849 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 22516 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 715:
++#line 5853 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 22522 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 716:
++#line 5854 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 22528 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 717:
++#line 5858 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 22534 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 718:
++#line 5859 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Lex->type|= UNSIGNED_FLAG;}
++#line 22540 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 719:
++#line 5860 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Lex->type|= UNSIGNED_FLAG | ZEROFILL_FLAG; }
++#line 22546 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 720:
++#line 5864 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Lex->length= (yyvsp[-1].lex_str).str; }
++#line 22552 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 721:
++#line 5865 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Lex->length= (yyvsp[-1].lex_str).str; }
++#line 22558 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 722:
++#line 5866 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Lex->length= (yyvsp[-1].lex_str).str; }
++#line 22564 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 723:
++#line 5867 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Lex->length= (yyvsp[-1].lex_str).str; }
++#line 22570 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 724:
++#line 5870 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Lex->length=(char*) 0; /* use default length */ }
++#line 22576 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 725:
++#line 5871 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { }
++#line 22582 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 726:
++#line 5875 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 22588 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 727:
++#line 5876 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 22594 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 728:
++#line 5880 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 22600 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 729:
++#line 5881 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 22606 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 730:
++#line 5885 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 22612 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 732:
++#line 5890 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Lex->type&= ~ NOT_NULL_FLAG; }
++#line 22618 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 733:
++#line 5891 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Lex->type|= NOT_NULL_FLAG; }
++#line 22624 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 734:
++#line 5892 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Lex->default_value=(yyvsp[0].item); }
++#line 22630 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 735:
++#line 5894 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            Item *item= new (thd->mem_root) Item_func_now_local(6);
++            if (item == NULL)
++              MYSQL_YYABORT;
++            Lex->on_update_value= item;
++          }
++#line 22641 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 736:
++#line 5900 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Lex->type|= AUTO_INCREMENT_FLAG | NOT_NULL_FLAG; }
++#line 22647 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 737:
++#line 5902 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { 
++            LEX *lex=Lex;
++            lex->type|= AUTO_INCREMENT_FLAG | NOT_NULL_FLAG | UNIQUE_FLAG;
++            lex->alter_info.flags|= ALTER_ADD_INDEX;
++          }
++#line 22657 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 738:
++#line 5908 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex=Lex;
++            lex->type|= PRI_KEY_FLAG | NOT_NULL_FLAG;
++            lex->alter_info.flags|= ALTER_ADD_INDEX;
++          }
++#line 22667 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 739:
++#line 5914 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex=Lex;
++            lex->type|= UNIQUE_FLAG; 
++            lex->alter_info.flags|= ALTER_ADD_INDEX;
++          }
++#line 22677 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 740:
++#line 5920 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex=Lex;
++            lex->type|= UNIQUE_KEY_FLAG; 
++            lex->alter_info.flags|= ALTER_ADD_INDEX; 
++          }
++#line 22687 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 741:
++#line 5925 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Lex->comment= (yyvsp[0].lex_str); }
++#line 22693 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 742:
++#line 5927 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            if (Lex->charset && !my_charset_same(Lex->charset,(yyvsp[0].charset)))
++            {
++              my_error(ER_COLLATION_CHARSET_MISMATCH, MYF(0),
++                       (yyvsp[0].charset)->name,Lex->charset->csname);
++              MYSQL_YYABORT;
++            }
++            else
++            {
++              Lex->charset=(yyvsp[0].charset);
++            }
++          }
++#line 22710 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 743:
++#line 5940 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            new (thd->mem_root)
++              engine_option_value((yyvsp[-2].lex_str), (yyvsp[0].lex_str), true, &Lex->option_list,
++                                  &Lex->option_list_last);
++          }
++#line 22720 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 744:
++#line 5946 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            new (thd->mem_root)
++              engine_option_value((yyvsp[-2].lex_str), (yyvsp[0].lex_str), false, &Lex->option_list,
++                                  &Lex->option_list_last);
++          }
++#line 22730 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 745:
++#line 5952 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            new (thd->mem_root)
++              engine_option_value((yyvsp[-2].lex_str), (yyvsp[0].ulonglong_number), &Lex->option_list,
++                                  &Lex->option_list_last, thd->mem_root);
++          }
++#line 22740 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 746:
++#line 5958 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            new (thd->mem_root)
++              engine_option_value((yyvsp[-2].lex_str), &Lex->option_list, &Lex->option_list_last);
++          }
++#line 22749 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 747:
++#line 5967 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++          (yyval.num)= (yyvsp[-1].num);
++
++          if (Lex->charset) /* Lex->charset is scanned in "type" */
++          {
++            if (!(Lex->charset= merge_charset_and_collation(Lex->charset, (yyvsp[0].charset))))
++              MYSQL_YYABORT;
++          }
++          else if ((yyvsp[0].charset))
++          {
++            my_error(ER_NOT_SUPPORTED_YET, MYF(0),
++                     "COLLATE with no CHARACTER SET "
++                     "in SP parameters, RETURNS, DECLARE");
++            MYSQL_YYABORT;
++          }
++        }
++#line 22770 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 748:
++#line 5988 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            (yyval.item)= new (thd->mem_root) Item_func_now_local(6);
++            if ((yyval.item) == NULL)
++              MYSQL_YYABORT;
++          }
++#line 22780 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 749:
++#line 5994 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.item)=(yyvsp[0].item); }
++#line 22786 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 750:
++#line 5998 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 22792 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 751:
++#line 5999 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 22798 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 752:
++#line 6003 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 22804 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 753:
++#line 6004 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 22810 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 754:
++#line 6009 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            if (!((yyval.charset)=get_charset_by_csname((yyvsp[0].lex_str).str,MY_CS_PRIMARY,MYF(0))))
++            {
++              my_error(ER_UNKNOWN_CHARACTER_SET, MYF(0), (yyvsp[0].lex_str).str);
++              MYSQL_YYABORT;
++            }
++          }
++#line 22822 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 755:
++#line 6016 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.charset)= &my_charset_bin; }
++#line 22828 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 756:
++#line 6020 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.charset)=(yyvsp[0].charset);   }
++#line 22834 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 757:
++#line 6021 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.charset)=NULL; }
++#line 22840 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 758:
++#line 6025 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.charset)= NULL; }
++#line 22846 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 759:
++#line 6026 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.charset)= (yyvsp[0].charset); }
++#line 22852 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 760:
++#line 6031 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            if (!((yyval.charset)=get_charset_by_csname((yyvsp[0].lex_str).str,MY_CS_PRIMARY,MYF(0))) &&
++                !((yyval.charset)=get_old_charset_by_name((yyvsp[0].lex_str).str)))
++            {
++              my_error(ER_UNKNOWN_CHARACTER_SET, MYF(0), (yyvsp[0].lex_str).str);
++              MYSQL_YYABORT;
++            }
++          }
++#line 22865 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 761:
++#line 6039 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.charset)= &my_charset_bin; }
++#line 22871 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 762:
++#line 6043 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.charset)=(yyvsp[0].charset);   }
++#line 22877 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 763:
++#line 6044 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.charset)=NULL; }
++#line 22883 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 764:
++#line 6049 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            if (!((yyval.charset)=get_charset_by_name((yyvsp[0].lex_str).str,MYF(0))))
++            {
++              my_error(ER_UNKNOWN_COLLATION, MYF(0), (yyvsp[0].lex_str).str);
++              MYSQL_YYABORT;
++            }
++          }
++#line 22895 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 765:
++#line 6059 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.charset)=NULL; }
++#line 22901 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 766:
++#line 6060 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.charset)=(yyvsp[0].charset); }
++#line 22907 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 767:
++#line 6064 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.charset)=(yyvsp[0].charset); }
++#line 22913 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 768:
++#line 6065 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.charset)=NULL; }
++#line 22919 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 769:
++#line 6069 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 22925 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 770:
++#line 6070 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 22931 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 771:
++#line 6075 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Lex->charset= &my_charset_latin1; }
++#line 22937 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 772:
++#line 6077 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            Lex->charset= &my_charset_latin1_bin;
++          }
++#line 22945 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 773:
++#line 6081 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            Lex->charset= &my_charset_latin1_bin;
++          }
++#line 22953 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 774:
++#line 6088 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            if (!(Lex->charset=get_charset_by_csname("ucs2",
++                                                     MY_CS_PRIMARY,MYF(0))))
++            {
++              my_error(ER_UNKNOWN_CHARACTER_SET, MYF(0), "ucs2");
++              MYSQL_YYABORT;
++            }
++          }
++#line 22966 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 775:
++#line 6097 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            if (!(Lex->charset=get_charset_by_name("ucs2_bin", MYF(0))))
++            {
++              my_error(ER_UNKNOWN_COLLATION, MYF(0), "ucs2_bin");
++              MYSQL_YYABORT;
++            }
++          }
++#line 22978 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 776:
++#line 6105 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            if (!(Lex->charset=get_charset_by_name("ucs2_bin", MYF(0))))
++            {
++              my_error(ER_UNKNOWN_COLLATION, MYF(0), "ucs2_bin");
++              MYSQL_YYABORT;
++            }
++          }
++#line 22990 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 777:
++#line 6115 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Lex->charset=NULL; }
++#line 22996 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 780:
++#line 6118 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Lex->charset=&my_charset_bin; }
++#line 23002 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 781:
++#line 6119 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Lex->charset=(yyvsp[-1].charset); }
++#line 23008 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 782:
++#line 6121 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            Lex->charset= NULL;
++            Lex->type|= BINCMP_FLAG;
++          }
++#line 23017 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 783:
++#line 6126 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            Lex->charset= (yyvsp[0].charset);
++            Lex->type|= BINCMP_FLAG;
++          }
++#line 23026 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 784:
++#line 6133 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { }
++#line 23032 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 785:
++#line 6134 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Lex->type|= BINCMP_FLAG; }
++#line 23038 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 788:
++#line 6149 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            (yyval.table)=(yyvsp[-3].table);
++          }
++#line 23046 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 789:
++#line 6156 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Lex->ref_list.empty(); }
++#line 23052 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 791:
++#line 6162 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            Key_part_spec *key= new Key_part_spec((yyvsp[0].lex_str), 0);
++            if (key == NULL)
++              MYSQL_YYABORT;
++            Lex->ref_list.push_back(key);
++          }
++#line 23063 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 792:
++#line 6169 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            Key_part_spec *key= new Key_part_spec((yyvsp[0].lex_str), 0);
++            if (key == NULL)
++              MYSQL_YYABORT;
++            LEX *lex= Lex;
++            lex->ref_list.empty();
++            lex->ref_list.push_back(key);
++          }
++#line 23076 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 793:
++#line 6181 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Lex->fk_match_option= Foreign_key::FK_MATCH_UNDEF; }
++#line 23082 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 794:
++#line 6183 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Lex->fk_match_option= Foreign_key::FK_MATCH_FULL; }
++#line 23088 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 795:
++#line 6185 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Lex->fk_match_option= Foreign_key::FK_MATCH_PARTIAL; }
++#line 23094 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 796:
++#line 6187 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Lex->fk_match_option= Foreign_key::FK_MATCH_SIMPLE; }
++#line 23100 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 797:
++#line 6192 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex= Lex;
++            lex->fk_update_opt= Foreign_key::FK_OPTION_UNDEF;
++            lex->fk_delete_opt= Foreign_key::FK_OPTION_UNDEF;
++          }
++#line 23110 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 798:
++#line 6198 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex= Lex;
++            lex->fk_update_opt= (yyvsp[0].m_fk_option);
++            lex->fk_delete_opt= Foreign_key::FK_OPTION_UNDEF;
++          }
++#line 23120 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 799:
++#line 6204 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex= Lex;
++            lex->fk_update_opt= Foreign_key::FK_OPTION_UNDEF;
++            lex->fk_delete_opt= (yyvsp[0].m_fk_option);
++          }
++#line 23130 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 800:
++#line 6211 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex= Lex;
++            lex->fk_update_opt= (yyvsp[-3].m_fk_option);
++            lex->fk_delete_opt= (yyvsp[0].m_fk_option);
++          }
++#line 23140 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 801:
++#line 6218 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex= Lex;
++            lex->fk_update_opt= (yyvsp[0].m_fk_option);
++            lex->fk_delete_opt= (yyvsp[-3].m_fk_option);
++          }
++#line 23150 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 802:
++#line 6226 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.m_fk_option)= Foreign_key::FK_OPTION_RESTRICT; }
++#line 23156 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 803:
++#line 6227 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.m_fk_option)= Foreign_key::FK_OPTION_CASCADE; }
++#line 23162 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 804:
++#line 6228 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.m_fk_option)= Foreign_key::FK_OPTION_SET_NULL; }
++#line 23168 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 805:
++#line 6229 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.m_fk_option)= Foreign_key::FK_OPTION_NO_ACTION; }
++#line 23174 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 806:
++#line 6230 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.m_fk_option)= Foreign_key::FK_OPTION_DEFAULT;  }
++#line 23180 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 807:
++#line 6234 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.key_type)= Key::MULTIPLE; }
++#line 23186 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 808:
++#line 6238 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.key_type)= Key::PRIMARY; }
++#line 23192 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 809:
++#line 6239 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.key_type)= Key::UNIQUE; }
++#line 23198 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 810:
++#line 6243 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 23204 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 811:
++#line 6244 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 23210 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 812:
++#line 6248 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 23216 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 814:
++#line 6253 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 23222 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 815:
++#line 6254 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 23228 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 816:
++#line 6255 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 23234 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 817:
++#line 6259 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.key_type)= Key::MULTIPLE; }
++#line 23240 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 818:
++#line 6260 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.key_type)= Key::UNIQUE; }
++#line 23246 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 819:
++#line 6264 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.key_type)= Key::FULLTEXT;}
++#line 23252 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 820:
++#line 6269 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++#ifdef HAVE_SPATIAL
++            (yyval.key_type)= Key::SPATIAL;
++#else
++            my_error(ER_FEATURE_DISABLED, MYF(0),
++                     sym_group_geom.name, sym_group_geom.needed_define);
++            MYSQL_YYABORT;
++#endif
++          }
++#line 23266 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 821:
++#line 6281 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            Lex->key_create_info= default_key_create_info;
++          }
++#line 23274 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 824:
++#line 6298 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 23280 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 826:
++#line 6303 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 23286 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 828:
++#line 6308 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 23292 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 836:
++#line 6328 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Lex->key_create_info.algorithm= (yyvsp[0].key_alg); }
++#line 23298 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 837:
++#line 6329 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Lex->key_create_info.algorithm= (yyvsp[0].key_alg); }
++#line 23304 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 838:
++#line 6334 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Lex->key_create_info.block_size= (yyvsp[0].ulong_num); }
++#line 23310 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 839:
++#line 6335 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Lex->key_create_info.comment= (yyvsp[0].lex_str); }
++#line 23316 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 840:
++#line 6337 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            new (thd->mem_root)
++              engine_option_value((yyvsp[-2].lex_str), (yyvsp[0].lex_str), true, &Lex->option_list,
++                                  &Lex->option_list_last);
++          }
++#line 23326 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 841:
++#line 6343 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            new (thd->mem_root)
++              engine_option_value((yyvsp[-2].lex_str), (yyvsp[0].lex_str), false, &Lex->option_list,
++                                  &Lex->option_list_last);
++          }
++#line 23336 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 842:
++#line 6349 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            new (thd->mem_root)
++              engine_option_value((yyvsp[-2].lex_str), (yyvsp[0].ulonglong_number), &Lex->option_list,
++                                  &Lex->option_list_last, thd->mem_root);
++          }
++#line 23346 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 843:
++#line 6355 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            new (thd->mem_root)
++              engine_option_value((yyvsp[-2].lex_str), &Lex->option_list, &Lex->option_list_last);
++          }
++#line 23355 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 848:
++#line 6373 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            if (plugin_is_ready(&(yyvsp[0].lex_str), MYSQL_FTPARSER_PLUGIN))
++              Lex->key_create_info.parser_name= (yyvsp[0].lex_str);
++            else
++            {
++              my_error(ER_FUNCTION_NOT_DEFINED, MYF(0), (yyvsp[0].lex_str).str);
++              MYSQL_YYABORT;
++            }
++          }
++#line 23369 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 849:
++#line 6385 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.key_alg)= HA_KEY_ALG_BTREE; }
++#line 23375 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 850:
++#line 6386 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.key_alg)= HA_KEY_ALG_RTREE; }
++#line 23381 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 851:
++#line 6387 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.key_alg)= HA_KEY_ALG_HASH; }
++#line 23387 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 852:
++#line 6391 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Lex->col_list.push_back((yyvsp[-1].key_part)); }
++#line 23393 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 853:
++#line 6392 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Lex->col_list.push_back((yyvsp[-1].key_part)); }
++#line 23399 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 854:
++#line 6397 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            (yyval.key_part)= new Key_part_spec((yyvsp[0].lex_str), 0);
++            if ((yyval.key_part) == NULL)
++              MYSQL_YYABORT;
++          }
++#line 23409 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 855:
++#line 6403 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            int key_part_len= atoi((yyvsp[-1].lex_str).str);
++            if (!key_part_len)
++            {
++              my_error(ER_KEY_PART_0, MYF(0), (yyvsp[-3].lex_str).str);
++            }
++            (yyval.key_part)= new Key_part_spec((yyvsp[-3].lex_str), (uint) key_part_len);
++            if ((yyval.key_part) == NULL)
++              MYSQL_YYABORT;
++          }
++#line 23424 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 856:
++#line 6416 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.lex_str)= null_lex_str; }
++#line 23430 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 857:
++#line 6417 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.lex_str)= (yyvsp[0].lex_str); }
++#line 23436 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 858:
++#line 6421 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.lex_str)= null_lex_str; }
++#line 23442 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 859:
++#line 6422 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.lex_str)= (yyvsp[0].lex_str); }
++#line 23448 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 860:
++#line 6426 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Lex->interval_list.push_back((yyvsp[0].string)); }
++#line 23454 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 861:
++#line 6427 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Lex->interval_list.push_back((yyvsp[0].string)); }
++#line 23460 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 862:
++#line 6435 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex= thd->lex;
++            lex->name.str= 0;
++            lex->name.length= 0;
++            lex->sql_command= SQLCOM_ALTER_TABLE;
++            lex->duplicates= DUP_ERROR; 
++            if (!lex->select_lex.add_table_to_list(thd, (yyvsp[0].table), NULL,
++                                                   TL_OPTION_UPDATING,
++                                                   TL_READ_NO_INSERT,
++                                                   MDL_SHARED_NO_WRITE))
++              MYSQL_YYABORT;
++            lex->col_list.empty();
++            lex->select_lex.init_order();
++            lex->select_lex.db= (lex->select_lex.table_list.first)->db;
++            bzero((char*) &lex->create_info,sizeof(lex->create_info));
++            lex->create_info.db_type= 0;
++            lex->create_info.default_table_charset= NULL;
++            lex->create_info.row_type= ROW_TYPE_NOT_USED;
++            lex->alter_info.reset();
++            lex->no_write_to_binlog= 0;
++            lex->create_info.storage_media= HA_SM_DEFAULT;
++            lex->create_last_non_select_table= lex->last_table();
++            DBUG_ASSERT(!lex->m_stmt);
++          }
++#line 23489 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 863:
++#line 6460 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex= thd->lex;
++            if (!lex->m_stmt)
++            {
++              /* Create a generic ALTER TABLE statment. */
++              lex->m_stmt= new (thd->mem_root) Alter_table_statement(lex);
++              if (lex->m_stmt == NULL)
++                MYSQL_YYABORT;
++            }
++          }
++#line 23504 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 864:
++#line 6471 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            Lex->create_info.default_table_charset= NULL;
++            Lex->create_info.used_fields= 0;
++          }
++#line 23513 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 865:
++#line 6476 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex=Lex;
++            lex->sql_command=SQLCOM_ALTER_DB;
++            lex->name= (yyvsp[-2].lex_str);
++            if (lex->name.str == NULL &&
++                lex->copy_db_to(&lex->name.str, &lex->name.length))
++              MYSQL_YYABORT;
++          }
++#line 23526 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 866:
++#line 6485 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex= Lex;
++            if (lex->sphead)
++            {
++              my_error(ER_SP_NO_DROP_SP, MYF(0), "DATABASE");
++              MYSQL_YYABORT;
++            }
++            lex->sql_command= SQLCOM_ALTER_DB_UPGRADE;
++            lex->name= (yyvsp[-4].lex_str);
++          }
++#line 23541 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 867:
++#line 6496 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex= Lex;
++
++            if (lex->sphead)
++            {
++              my_error(ER_SP_NO_DROP_SP, MYF(0), "PROCEDURE");
++              MYSQL_YYABORT;
++            }
++            bzero((char *)&lex->sp_chistics, sizeof(st_sp_chistics));
++          }
++#line 23556 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 868:
++#line 6507 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex=Lex;
++
++            lex->sql_command= SQLCOM_ALTER_PROCEDURE;
++            lex->spname= (yyvsp[-2].spname);
++          }
++#line 23567 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 869:
++#line 6514 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex= Lex;
++
++            if (lex->sphead)
++            {
++              my_error(ER_SP_NO_DROP_SP, MYF(0), "FUNCTION");
++              MYSQL_YYABORT;
++            }
++            bzero((char *)&lex->sp_chistics, sizeof(st_sp_chistics));
++          }
++#line 23582 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 870:
++#line 6525 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex=Lex;
++
++            lex->sql_command= SQLCOM_ALTER_FUNCTION;
++            lex->spname= (yyvsp[-2].spname);
++          }
++#line 23593 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 871:
++#line 6532 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex= Lex;
++
++            if (lex->sphead)
++            {
++              my_error(ER_SP_BADSTATEMENT, MYF(0), "ALTER VIEW");
++              MYSQL_YYABORT;
++            }
++            lex->create_view_mode= VIEW_ALTER;
++          }
++#line 23608 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 872:
++#line 6543 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 23614 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 873:
++#line 6550 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex= Lex;
++
++            if (lex->sphead)
++            {
++              my_error(ER_SP_BADSTATEMENT, MYF(0), "ALTER VIEW");
++              MYSQL_YYABORT;
++            }
++            lex->create_view_algorithm= VIEW_ALGORITHM_INHERIT;
++            lex->create_view_mode= VIEW_ALTER;
++          }
++#line 23630 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 874:
++#line 6562 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 23636 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 875:
++#line 6564 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            /* 
++              It is safe to use Lex->spname because
++              ALTER EVENT xxx RENATE TO yyy DO ALTER EVENT RENAME TO
++              is not allowed. Lex->spname is used in the case of RENAME TO
++              If it had to be supported spname had to be added to
++              Event_parse_data.
++            */
++
++            if (!(Lex->event_parse_data= Event_parse_data::new_instance(thd)))
++              MYSQL_YYABORT;
++            Lex->event_parse_data->identifier= (yyvsp[0].spname);
++
++            Lex->sql_command= SQLCOM_ALTER_EVENT;
++          }
++#line 23656 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 876:
++#line 6584 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            if (!((yyvsp[-4].num) || (yyvsp[-3].num) || (yyvsp[-2].num) || (yyvsp[-1].num) || (yyvsp[0].num)))
++            {
++              my_parse_error(ER(ER_SYNTAX_ERROR));
++              MYSQL_YYABORT;
++            }
++            /*
++              sql_command is set here because some rules in ev_sql_stmt
++              can overwrite it
++            */
++            Lex->sql_command= SQLCOM_ALTER_EVENT;
++          }
++#line 23673 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 877:
++#line 6597 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex= Lex;
++            lex->alter_tablespace_info->ts_cmd_type= ALTER_TABLESPACE;
++          }
++#line 23682 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 878:
++#line 6602 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex= Lex;
++            lex->alter_tablespace_info->ts_cmd_type= ALTER_LOGFILE_GROUP;
++          }
++#line 23691 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 879:
++#line 6607 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex= Lex;
++            lex->alter_tablespace_info->ts_cmd_type= CHANGE_FILE_TABLESPACE;
++          }
++#line 23700 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 880:
++#line 6612 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex= Lex;
++            lex->alter_tablespace_info->ts_cmd_type= ALTER_ACCESS_MODE_TABLESPACE;
++          }
++#line 23709 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 881:
++#line 6617 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex= Lex;
++            lex->sql_command= SQLCOM_ALTER_SERVER;
++            lex->server_options.server_name= (yyvsp[-4].lex_str).str;
++            lex->server_options.server_name_length= (yyvsp[-4].lex_str).length;
++          }
++#line 23720 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 882:
++#line 6626 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.num)= 0;}
++#line 23726 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 883:
++#line 6627 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.num)= 1; }
++#line 23732 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 884:
++#line 6628 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.num)= 1; }
++#line 23738 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 885:
++#line 6629 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.num)= 1; }
++#line 23744 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 886:
++#line 6633 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.num)= 0;}
++#line 23750 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 887:
++#line 6635 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            /*
++              Use lex's spname to hold the new name.
++              The original name is in the Event_parse_data object
++            */
++            Lex->spname= (yyvsp[0].spname); 
++            (yyval.num)= 1;
++          }
++#line 23763 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 888:
++#line 6646 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.num)= 0;}
++#line 23769 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 889:
++#line 6647 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.num)= 1; }
++#line 23775 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 890:
++#line 6651 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.lex_str).str= 0; (yyval.lex_str).length= 0; }
++#line 23781 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 891:
++#line 6652 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.lex_str)= (yyvsp[0].lex_str); }
++#line 23787 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 893:
++#line 6657 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Lex->alter_info.tablespace_op= DISCARD_TABLESPACE; }
++#line 23793 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 894:
++#line 6658 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Lex->alter_info.tablespace_op= IMPORT_TABLESPACE; }
++#line 23799 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 900:
++#line 6675 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            Lex->alter_info.flags|= ALTER_DROP_PARTITION;
++          }
++#line 23807 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 901:
++#line 6680 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex= Lex;
++            lex->alter_info.flags|= ALTER_REBUILD_PARTITION;
++            lex->no_write_to_binlog= (yyvsp[-1].num);
++          }
++#line 23817 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 902:
++#line 6687 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex= thd->lex;
++            lex->no_write_to_binlog= (yyvsp[-1].num);
++            lex->check_opt.init();
++            DBUG_ASSERT(!lex->m_stmt);
++            lex->m_stmt= new (thd->mem_root)
++                          Alter_table_optimize_partition_statement(lex);
++            if (lex->m_stmt == NULL)
++              MYSQL_YYABORT;
++          }
++#line 23832 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 904:
++#line 6700 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex= thd->lex;
++            lex->no_write_to_binlog= (yyvsp[-1].num);
++            lex->check_opt.init();
++            DBUG_ASSERT(!lex->m_stmt);
++            lex->m_stmt= new (thd->mem_root)
++                          Alter_table_analyze_partition_statement(lex);
++            if (lex->m_stmt == NULL)
++              MYSQL_YYABORT;
++          }
++#line 23847 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 905:
++#line 6711 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex= thd->lex;
++            lex->check_opt.init();
++            DBUG_ASSERT(!lex->m_stmt);
++            lex->m_stmt= new (thd->mem_root)
++                          Alter_table_check_partition_statement(lex);
++            if (lex->m_stmt == NULL)
++              MYSQL_YYABORT;
++          }
++#line 23861 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 907:
++#line 6723 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex= thd->lex;
++            lex->no_write_to_binlog= (yyvsp[-1].num);
++            lex->check_opt.init();
++            DBUG_ASSERT(!lex->m_stmt);
++            lex->m_stmt= new (thd->mem_root)
++                          Alter_table_repair_partition_statement(lex);
++            if (lex->m_stmt == NULL)
++              MYSQL_YYABORT;
++          }
++#line 23876 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 909:
++#line 6735 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex= Lex;
++            lex->alter_info.flags|= ALTER_COALESCE_PARTITION;
++            lex->no_write_to_binlog= (yyvsp[-1].num);
++            lex->alter_info.num_parts= (yyvsp[0].ulong_num);
++          }
++#line 23887 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 910:
++#line 6742 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex= thd->lex;
++            lex->check_opt.init();
++            DBUG_ASSERT(!lex->m_stmt);
++            lex->m_stmt= new (thd->mem_root)
++                          Alter_table_truncate_partition_statement(lex);
++            if (lex->m_stmt == NULL)
++              MYSQL_YYABORT;
++          }
++#line 23901 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 912:
++#line 6756 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            Lex->alter_info.flags|= ALTER_REMOVE_PARTITIONING;
++          }
++#line 23909 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 913:
++#line 6763 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            Lex->alter_info.flags|= ALTER_ALL_PARTITION;
++          }
++#line 23917 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 915:
++#line 6771 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex= Lex;
++            lex->part_info= new partition_info();
++            if (!lex->part_info)
++            {
++              mem_alloc_error(sizeof(partition_info));
++              MYSQL_YYABORT;
++            }
++            lex->alter_info.flags|= ALTER_ADD_PARTITION;
++            lex->no_write_to_binlog= (yyvsp[0].num);
++          }
++#line 23933 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 916:
++#line 6783 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 23939 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 918:
++#line 6789 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex= Lex;
++            lex->part_info->num_parts= lex->part_info->partitions.elements;
++          }
++#line 23948 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 919:
++#line 6794 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            Lex->part_info->num_parts= (yyvsp[0].ulong_num);
++          }
++#line 23956 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 920:
++#line 6801 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex= Lex;
++            lex->part_info= new partition_info();
++            if (!lex->part_info)
++            {
++              mem_alloc_error(sizeof(partition_info));
++              MYSQL_YYABORT;
++            }
++            lex->no_write_to_binlog= (yyvsp[0].num);
++          }
++#line 23971 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 922:
++#line 6816 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            Lex->alter_info.flags|= ALTER_TABLE_REORG;
++          }
++#line 23979 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 923:
++#line 6820 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            Lex->alter_info.flags|= ALTER_REORGANIZE_PARTITION;
++          }
++#line 23987 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 924:
++#line 6824 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            partition_info *part_info= Lex->part_info;
++            part_info->num_parts= part_info->partitions.elements;
++          }
++#line 23996 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 925:
++#line 6831 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 24002 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 926:
++#line 6832 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 24008 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 927:
++#line 6837 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            if (Lex->alter_info.partition_names.push_back((yyvsp[0].lex_str).str))
++            {
++              mem_alloc_error(1);
++              MYSQL_YYABORT;
++            }
++          }
++#line 24020 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 930:
++#line 6857 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex=Lex;
++            lex->change=0;
++            lex->alter_info.flags|= ALTER_ADD_COLUMN;
++          }
++#line 24030 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 931:
++#line 6866 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            Lex->create_last_non_select_table= Lex->last_table();
++          }
++#line 24038 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 932:
++#line 6870 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            Lex->create_last_non_select_table= Lex->last_table();
++            Lex->alter_info.flags|= ALTER_ADD_INDEX;
++          }
++#line 24047 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 933:
++#line 6875 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            Lex->alter_info.flags|= ALTER_ADD_COLUMN | ALTER_ADD_INDEX;
++          }
++#line 24055 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 934:
++#line 6879 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex=Lex;
++            lex->change= (yyvsp[0].lex_str).str;
++            lex->alter_info.flags|= ALTER_CHANGE_COLUMN;
++            lex->option_list= NULL;
++          }
++#line 24066 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 935:
++#line 6886 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            Lex->create_last_non_select_table= Lex->last_table();
++          }
++#line 24074 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 936:
++#line 6890 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex=Lex;
++            lex->length=lex->dec=0; lex->type=0;
++            lex->default_value= lex->on_update_value= 0;
++            lex->comment=null_lex_str;
++            lex->charset= NULL;
++            lex->alter_info.flags|= ALTER_CHANGE_COLUMN;
++	    lex->vcol_info= 0;
++            lex->option_list= NULL;
++          }
++#line 24089 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 937:
++#line 6901 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex=Lex;
++            if (add_field_to_list(lex->thd,&(yyvsp[-2].lex_str),
++                                  (yyvsp[0].lex_type).type,
++                                  (yyvsp[0].lex_type).length, (yyvsp[0].lex_type).dec, lex->type,
++                                  lex->default_value, lex->on_update_value,
++                                  &lex->comment,
++                                  (yyvsp[-2].lex_str).str, &lex->interval_list, (yyvsp[0].lex_type).charset,
++                                  lex->uint_geom_type,
++                                  lex->vcol_info, lex->option_list))
++              MYSQL_YYABORT;
++          }
++#line 24106 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 938:
++#line 6914 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            Lex->create_last_non_select_table= Lex->last_table();
++          }
++#line 24114 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 939:
++#line 6918 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex=Lex;
++            Alter_drop *ad= new Alter_drop(Alter_drop::COLUMN, (yyvsp[-1].lex_str).str);
++            if (ad == NULL)
++              MYSQL_YYABORT;
++            lex->alter_info.drop_list.push_back(ad);
++            lex->alter_info.flags|= ALTER_DROP_COLUMN;
++          }
++#line 24127 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 940:
++#line 6927 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            Lex->alter_info.flags|= ALTER_DROP_INDEX | ALTER_FOREIGN_KEY;
++          }
++#line 24135 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 941:
++#line 6931 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex=Lex;
++            Alter_drop *ad= new Alter_drop(Alter_drop::KEY, primary_key_name);
++            if (ad == NULL)
++              MYSQL_YYABORT;
++            lex->alter_info.drop_list.push_back(ad);
++            lex->alter_info.flags|= ALTER_DROP_INDEX;
++          }
++#line 24148 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 942:
++#line 6940 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex=Lex;
++            Alter_drop *ad= new Alter_drop(Alter_drop::KEY, (yyvsp[0].lex_str).str);
++            if (ad == NULL)
++              MYSQL_YYABORT;
++            lex->alter_info.drop_list.push_back(ad);
++            lex->alter_info.flags|= ALTER_DROP_INDEX;
++          }
++#line 24161 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 943:
++#line 6949 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex=Lex;
++            lex->alter_info.keys_onoff= DISABLE;
++            lex->alter_info.flags|= ALTER_KEYS_ONOFF;
++          }
++#line 24171 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 944:
++#line 6955 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex=Lex;
++            lex->alter_info.keys_onoff= ENABLE;
++            lex->alter_info.flags|= ALTER_KEYS_ONOFF;
++          }
++#line 24181 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 945:
++#line 6961 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex=Lex;
++            Alter_column *ac= new Alter_column((yyvsp[-3].lex_str).str,(yyvsp[0].item));
++            if (ac == NULL)
++              MYSQL_YYABORT;
++            lex->alter_info.alter_list.push_back(ac);
++            lex->alter_info.flags|= ALTER_CHANGE_COLUMN_DEFAULT;
++          }
++#line 24194 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 946:
++#line 6970 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex=Lex;
++            Alter_column *ac= new Alter_column((yyvsp[-2].lex_str).str, (Item*) 0);
++            if (ac == NULL)
++              MYSQL_YYABORT;
++            lex->alter_info.alter_list.push_back(ac);
++            lex->alter_info.flags|= ALTER_CHANGE_COLUMN_DEFAULT;
++          }
++#line 24207 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 947:
++#line 6979 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex=Lex;
++            size_t dummy;
++            lex->select_lex.db=(yyvsp[0].table)->db.str;
++            if (lex->select_lex.db == NULL &&
++                lex->copy_db_to(&lex->select_lex.db, &dummy))
++            {
++              MYSQL_YYABORT;
++            }
++            if (check_table_name((yyvsp[0].table)->table.str,(yyvsp[0].table)->table.length, FALSE) ||
++                ((yyvsp[0].table)->db.str && check_db_name(&(yyvsp[0].table)->db)))
++            {
++              my_error(ER_WRONG_TABLE_NAME, MYF(0), (yyvsp[0].table)->table.str);
++              MYSQL_YYABORT;
++            }
++            lex->name= (yyvsp[0].table)->table;
++            lex->alter_info.flags|= ALTER_RENAME;
++          }
++#line 24230 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 948:
++#line 6998 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            if (!(yyvsp[-1].charset))
++            {
++              (yyvsp[-1].charset)= thd->variables.collation_database;
++            }
++            (yyvsp[0].charset)= (yyvsp[0].charset) ? (yyvsp[0].charset) : (yyvsp[-1].charset);
++            if (!my_charset_same((yyvsp[-1].charset),(yyvsp[0].charset)))
++            {
++              my_error(ER_COLLATION_CHARSET_MISMATCH, MYF(0),
++                       (yyvsp[0].charset)->name, (yyvsp[-1].charset)->csname);
++              MYSQL_YYABORT;
++            }
++            LEX *lex= Lex;
++            lex->create_info.table_charset=
++            lex->create_info.default_table_charset= (yyvsp[0].charset);
++            lex->create_info.used_fields|= (HA_CREATE_USED_CHARSET |
++              HA_CREATE_USED_DEFAULT_CHARSET);
++            lex->alter_info.flags|= ALTER_CONVERT;
++          }
++#line 24254 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 949:
++#line 7018 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex=Lex;
++            lex->alter_info.flags|= ALTER_OPTIONS;
++            if ((lex->create_info.used_fields & HA_CREATE_USED_ENGINE) &&
++                !lex->create_info.db_type)
++            {
++              lex->create_info.used_fields&= ~HA_CREATE_USED_ENGINE;
++            }
++          }
++#line 24268 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 950:
++#line 7028 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            Lex->alter_info.flags|= ALTER_RECREATE;
++          }
++#line 24276 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 951:
++#line 7032 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex=Lex;
++            lex->alter_info.flags|= ALTER_ORDER;
++          }
++#line 24285 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 952:
++#line 7039 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 24291 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 953:
++#line 7040 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 24297 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 954:
++#line 7044 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Lex->ignore= 0;}
++#line 24303 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 955:
++#line 7045 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Lex->ignore= 1;}
++#line 24309 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 956:
++#line 7049 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Lex->ignore= Lex->online= 0;}
++#line 24315 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 962:
++#line 7063 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Lex->ignore= 1;}
++#line 24321 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 963:
++#line 7064 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Lex->online= 1;}
++#line 24327 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 964:
++#line 7068 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Lex->drop_mode= DROP_DEFAULT; }
++#line 24333 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 965:
++#line 7069 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Lex->drop_mode= DROP_RESTRICT; }
++#line 24339 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 966:
++#line 7070 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Lex->drop_mode= DROP_CASCADE; }
++#line 24345 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 967:
++#line 7074 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 24351 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 968:
++#line 7075 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { store_position_for_column((yyvsp[0].lex_str).str); }
++#line 24357 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 969:
++#line 7076 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { store_position_for_column(first_keyword); }
++#line 24363 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 970:
++#line 7080 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 24369 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 971:
++#line 7081 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 24375 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 972:
++#line 7082 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 24381 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 973:
++#line 7083 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 24387 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 974:
++#line 7092 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex=Lex;
++            lex->sql_command = SQLCOM_SLAVE_START;
++            lex->type = 0;
++            /* If you change this code don't forget to update SLAVE START too */
++          }
++#line 24398 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 975:
++#line 7099 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 24404 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 976:
++#line 7101 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex=Lex;
++            lex->sql_command = SQLCOM_SLAVE_STOP;
++            lex->type = 0;
++            /* If you change this code don't forget to update SLAVE STOP too */
++          }
++#line 24415 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 977:
++#line 7108 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex=Lex;
++            lex->sql_command = SQLCOM_SLAVE_START;
++            lex->type = 0;
++          }
++#line 24425 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 978:
++#line 7114 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 24431 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 979:
++#line 7116 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex=Lex;
++            lex->sql_command = SQLCOM_SLAVE_STOP;
++            lex->type = 0;
++          }
++#line 24441 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 980:
++#line 7125 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex= Lex;
++            lex->sql_command= SQLCOM_BEGIN;
++            lex->start_transaction_opt= (yyvsp[0].num);
++          }
++#line 24451 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 981:
++#line 7133 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.num) = 0; }
++#line 24457 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 982:
++#line 7135 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            (yyval.num)= MYSQL_START_TRANS_OPT_WITH_CONS_SNAPSHOT;
++          }
++#line 24465 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 983:
++#line 7141 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Lex->slave_thd_opt= 0; }
++#line 24471 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 984:
++#line 7143 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 24477 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 987:
++#line 7152 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 24483 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 988:
++#line 7153 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Lex->slave_thd_opt|=SLAVE_SQL; }
++#line 24489 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 989:
++#line 7154 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Lex->slave_thd_opt|=SLAVE_IO; }
++#line 24495 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 990:
++#line 7158 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 24501 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 991:
++#line 7160 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex=Lex;
++            if (((lex->mi.log_file_name || lex->mi.pos) &&
++                 (lex->mi.relay_log_name || lex->mi.relay_log_pos)) ||
++                !((lex->mi.log_file_name && lex->mi.pos) ||
++                  (lex->mi.relay_log_name && lex->mi.relay_log_pos)))
++            {
++               my_message(ER_BAD_SLAVE_UNTIL_COND,
++                          ER(ER_BAD_SLAVE_UNTIL_COND), MYF(0));
++               MYSQL_YYABORT;
++            }
++          }
++#line 24518 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 994:
++#line 7181 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex=Lex;
++            lex->sql_command = SQLCOM_CHECKSUM;
++            /* Will be overriden during execution. */
++            YYPS->m_lock_type= TL_UNLOCK;
++          }
++#line 24529 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 995:
++#line 7188 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 24535 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 996:
++#line 7192 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Lex->check_opt.flags= 0; }
++#line 24541 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 997:
++#line 7193 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Lex->check_opt.flags= T_QUICK; }
++#line 24547 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 998:
++#line 7194 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Lex->check_opt.flags= T_EXTEND; }
++#line 24553 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1000:
++#line 7199 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Lex->only_view= TRUE; }
++#line 24559 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1002:
++#line 7204 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex=Lex;
++            lex->sql_command = SQLCOM_REPAIR;
++            lex->no_write_to_binlog= (yyvsp[0].num);
++            lex->check_opt.init();
++            lex->alter_info.reset();
++            /* Will be overriden during execution. */
++            YYPS->m_lock_type= TL_UNLOCK;
++          }
++#line 24573 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1003:
++#line 7214 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX* lex= thd->lex;
++            DBUG_ASSERT(!lex->m_stmt);
++            lex->m_stmt= new (thd->mem_root) Repair_table_statement(lex);
++            if (lex->m_stmt == NULL)
++              MYSQL_YYABORT;
++          }
++#line 24585 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1004:
++#line 7224 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Lex->check_opt.flags = T_MEDIUM; }
++#line 24591 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1005:
++#line 7225 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 24597 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1006:
++#line 7229 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 24603 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1007:
++#line 7230 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 24609 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1008:
++#line 7234 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Lex->check_opt.flags|= T_QUICK; }
++#line 24615 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1009:
++#line 7235 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Lex->check_opt.flags|= T_EXTEND; }
++#line 24621 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1010:
++#line 7236 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Lex->check_opt.sql_flags|= TT_USEFRM; }
++#line 24627 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1011:
++#line 7240 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { }
++#line 24633 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1012:
++#line 7241 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Lex->check_opt.sql_flags|= TT_FROM_MYSQL; }
++#line 24639 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1013:
++#line 7246 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex=Lex;
++            lex->sql_command = SQLCOM_ANALYZE;
++            lex->no_write_to_binlog= (yyvsp[-1].num);
++            lex->check_opt.init();
++            lex->alter_info.reset();
++            /* Will be overriden during execution. */
++            YYPS->m_lock_type= TL_UNLOCK;
++          }
++#line 24653 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1014:
++#line 7256 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX* lex= thd->lex;
++            DBUG_ASSERT(!lex->m_stmt);
++            lex->m_stmt= new (thd->mem_root) Analyze_table_statement(lex);
++            if (lex->m_stmt == NULL)
++              MYSQL_YYABORT;
++          }
++#line 24665 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1015:
++#line 7267 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            Lex->sql_command = SQLCOM_BINLOG_BASE64_EVENT;
++            Lex->comment= (yyvsp[0].lex_str);
++          }
++#line 24674 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1017:
++#line 7275 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Lex->only_view= TRUE; }
++#line 24680 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1019:
++#line 7279 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex=Lex;
++
++            lex->sql_command = SQLCOM_CHECK;
++            lex->check_opt.init();
++            lex->alter_info.reset();
++            /* Will be overriden during execution. */
++            YYPS->m_lock_type= TL_UNLOCK;
++          }
++#line 24694 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1020:
++#line 7289 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX* lex= thd->lex;
++            if (lex->sphead)
++            {
++              my_error(ER_SP_BADSTATEMENT, MYF(0), "CHECK");
++              MYSQL_YYABORT;
++            }
++            DBUG_ASSERT(!lex->m_stmt);
++            lex->m_stmt= new (thd->mem_root) Check_table_statement(lex);
++            if (lex->m_stmt == NULL)
++              MYSQL_YYABORT;
++          }
++#line 24711 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1021:
++#line 7304 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Lex->check_opt.flags = T_MEDIUM; }
++#line 24717 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1022:
++#line 7305 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 24723 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1023:
++#line 7309 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 24729 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1024:
++#line 7310 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 24735 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1025:
++#line 7314 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Lex->check_opt.flags|= T_QUICK; }
++#line 24741 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1026:
++#line 7315 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Lex->check_opt.flags|= T_FAST; }
++#line 24747 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1027:
++#line 7316 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Lex->check_opt.flags|= T_MEDIUM; }
++#line 24753 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1028:
++#line 7317 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Lex->check_opt.flags|= T_EXTEND; }
++#line 24759 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1029:
++#line 7318 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Lex->check_opt.flags|= T_CHECK_ONLY_CHANGED; }
++#line 24765 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1030:
++#line 7319 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Lex->check_opt.sql_flags|= TT_FOR_UPGRADE; }
++#line 24771 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1031:
++#line 7323 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { }
++#line 24777 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1032:
++#line 7324 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Lex->check_opt.sql_flags|= TT_FOR_UPGRADE; }
++#line 24783 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1033:
++#line 7329 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex=Lex;
++            lex->sql_command = SQLCOM_OPTIMIZE;
++            lex->no_write_to_binlog= (yyvsp[-1].num);
++            lex->check_opt.init();
++            lex->alter_info.reset();
++            /* Will be overriden during execution. */
++            YYPS->m_lock_type= TL_UNLOCK;
++          }
++#line 24797 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1034:
++#line 7339 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX* lex= thd->lex;
++            DBUG_ASSERT(!lex->m_stmt);
++            lex->m_stmt= new (thd->mem_root) Optimize_table_statement(lex);
++            if (lex->m_stmt == NULL)
++              MYSQL_YYABORT;
++          }
++#line 24809 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1035:
++#line 7349 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.num)= 0; }
++#line 24815 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1036:
++#line 7350 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.num)= 1; }
++#line 24821 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1037:
++#line 7351 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.num)= 1; }
++#line 24827 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1038:
++#line 7356 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            Lex->sql_command= SQLCOM_RENAME_TABLE;
++          }
++#line 24835 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1039:
++#line 7360 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 24841 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1040:
++#line 7362 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            Lex->sql_command = SQLCOM_RENAME_USER;
++          }
++#line 24849 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1041:
++#line 7369 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            if (Lex->users_list.push_back((yyvsp[-2].lex_user)) || Lex->users_list.push_back((yyvsp[0].lex_user)))
++              MYSQL_YYABORT;
++          }
++#line 24858 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1042:
++#line 7374 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            if (Lex->users_list.push_back((yyvsp[-2].lex_user)) || Lex->users_list.push_back((yyvsp[0].lex_user)))
++              MYSQL_YYABORT;
++          }
++#line 24867 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1045:
++#line 7387 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex=Lex;
++            SELECT_LEX *sl= lex->current_select;
++            if (!sl->add_table_to_list(lex->thd, (yyvsp[-2].table),NULL,TL_OPTION_UPDATING,
++                                       TL_IGNORE, MDL_EXCLUSIVE) ||
++                !sl->add_table_to_list(lex->thd, (yyvsp[0].table),NULL,TL_OPTION_UPDATING,
++                                       TL_IGNORE, MDL_EXCLUSIVE))
++              MYSQL_YYABORT;
++          }
++#line 24881 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1046:
++#line 7400 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            Lex->alter_info.reset();
++          }
++#line 24889 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1047:
++#line 7404 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex=Lex;
++            lex->sql_command= SQLCOM_ASSIGN_TO_KEYCACHE;
++            lex->ident= (yyvsp[0].lex_str);
++          }
++#line 24899 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1052:
++#line 7423 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            if (!Select->add_table_to_list(thd, (yyvsp[-1].table), NULL, 0, TL_READ,
++                                           MDL_SHARED_READ,
++                                           Select->pop_index_hints()))
++              MYSQL_YYABORT;
++          }
++#line 24910 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1053:
++#line 7433 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            if (!Select->add_table_to_list(thd, (yyvsp[-2].table), NULL, 0, TL_READ, 
++                                           MDL_SHARED_READ,
++                                           Select->pop_index_hints()))
++              MYSQL_YYABORT;
++          }
++#line 24921 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1054:
++#line 7442 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.lex_str)= (yyvsp[0].lex_str); }
++#line 24927 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1055:
++#line 7443 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.lex_str) = default_key_cache_base; }
++#line 24933 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1056:
++#line 7448 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex=Lex;
++            lex->sql_command=SQLCOM_PRELOAD_KEYS;
++            lex->alter_info.reset();
++          }
++#line 24943 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1057:
++#line 7454 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 24949 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1062:
++#line 7469 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            if (!Select->add_table_to_list(thd, (yyvsp[-2].table), NULL, (yyvsp[0].num), TL_READ,
++                                           MDL_SHARED_READ,
++                                           Select->pop_index_hints()))
++              MYSQL_YYABORT;
++          }
++#line 24960 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1063:
++#line 7479 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            if (!Select->add_table_to_list(thd, (yyvsp[-3].table), NULL, (yyvsp[0].num), TL_READ,
++                                           MDL_SHARED_READ,
++                                           Select->pop_index_hints()))
++              MYSQL_YYABORT;
++          }
++#line 24971 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1064:
++#line 7489 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            Lex->alter_info.flags|= ALTER_ADMIN_PARTITION;
++          }
++#line 24979 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1066:
++#line 7496 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            Lex->select_lex.alloc_index_hints(thd);
++            Select->set_index_hint_type(INDEX_HINT_USE, 
++                                        INDEX_HINT_MASK_ALL);
++          }
++#line 24989 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1068:
++#line 7505 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { }
++#line 24995 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1070:
++#line 7511 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.num)= 0; }
++#line 25001 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1071:
++#line 7512 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.num)= TL_OPTION_IGNORE_LEAVES; }
++#line 25007 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1072:
++#line 7522 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex= Lex;
++            lex->sql_command= SQLCOM_SELECT;
++          }
++#line 25016 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1075:
++#line 7536 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            if (setup_select_in_parentheses(Lex))
++              MYSQL_YYABORT;
++          }
++#line 25025 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1077:
++#line 7546 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            if (setup_select_in_parentheses(Lex))
++              MYSQL_YYABORT;
++          }
++#line 25034 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1079:
++#line 7555 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex= Lex;
++            SELECT_LEX * sel= lex->current_select;
++            if (lex->current_select->set_braces(0))
++            {
++              my_parse_error(ER(ER_SYNTAX_ERROR));
++              MYSQL_YYABORT;
++            }
++            if (sel->linkage == UNION_TYPE &&
++                sel->master_unit()->first_select()->braces)
++            {
++              my_parse_error(ER(ER_SYNTAX_ERROR));
++              MYSQL_YYABORT;
++            }
++          }
++#line 25054 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1081:
++#line 7574 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex= Lex;
++            SELECT_LEX *sel= lex->current_select;
++            if (sel->linkage != UNION_TYPE)
++              mysql_init_select(lex);
++            lex->current_select->parsing_place= SELECT_LIST;
++          }
++#line 25066 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1082:
++#line 7582 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            Select->parsing_place= NO_MATTER;
++          }
++#line 25074 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1084:
++#line 7589 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 25080 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1089:
++#line 7599 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            Select->context.table_list=
++              Select->context.first_name_resolution_table=
++                Select->table_list.first;
++          }
++#line 25090 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1092:
++#line 7614 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            if (Select->options & SELECT_DISTINCT && Select->options & SELECT_ALL)
++            {
++              my_error(ER_WRONG_USAGE, MYF(0), "ALL", "DISTINCT");
++              MYSQL_YYABORT;
++            }
++          }
++#line 25102 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1096:
++#line 7631 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            /* 
++              Allow this flag only on the first top-level SELECT statement, if
++              SQL_CACHE wasn't specified, and only once per query.
++             */
++            if (Lex->current_select != &Lex->select_lex)
++            {
++              my_error(ER_CANT_USE_OPTION_HERE, MYF(0), "SQL_NO_CACHE");
++              MYSQL_YYABORT;
++            }
++            else if (Lex->select_lex.sql_cache == SELECT_LEX::SQL_CACHE)
++            {
++              my_error(ER_WRONG_USAGE, MYF(0), "SQL_CACHE", "SQL_NO_CACHE");
++              MYSQL_YYABORT;
++            }
++            else if (Lex->select_lex.sql_cache == SELECT_LEX::SQL_NO_CACHE)
++            {
++              my_error(ER_DUP_ARGUMENT, MYF(0), "SQL_NO_CACHE");
++              MYSQL_YYABORT;
++            }
++            else
++            {
++              Lex->safe_to_cache_query=0;
++              Lex->select_lex.options&= ~OPTION_TO_QUERY_CACHE;
++              Lex->select_lex.sql_cache= SELECT_LEX::SQL_NO_CACHE;
++            }
++          }
++#line 25134 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1097:
++#line 7659 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            /* 
++              Allow this flag only on the first top-level SELECT statement, if
++              SQL_NO_CACHE wasn't specified, and only once per query.
++             */
++            if (Lex->current_select != &Lex->select_lex)
++            {
++              my_error(ER_CANT_USE_OPTION_HERE, MYF(0), "SQL_CACHE");
++              MYSQL_YYABORT;
++            }         
++            else if (Lex->select_lex.sql_cache == SELECT_LEX::SQL_NO_CACHE)
++            {
++              my_error(ER_WRONG_USAGE, MYF(0), "SQL_NO_CACHE", "SQL_CACHE");
++              MYSQL_YYABORT;
++            }
++            else if (Lex->select_lex.sql_cache == SELECT_LEX::SQL_CACHE)
++            {
++              my_error(ER_DUP_ARGUMENT, MYF(0), "SQL_CACHE");
++              MYSQL_YYABORT;
++            }
++            else
++            {
++              Lex->safe_to_cache_query=1;
++              Lex->select_lex.options|= OPTION_TO_QUERY_CACHE;
++              Lex->select_lex.sql_cache= SELECT_LEX::SQL_CACHE;
++            }
++          }
++#line 25166 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1099:
++#line 7691 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex=Lex;
++            lex->current_select->set_lock_for_tables(TL_WRITE);
++            lex->safe_to_cache_query=0;
++          }
++#line 25176 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1100:
++#line 7697 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex=Lex;
++            lex->current_select->
++              set_lock_for_tables(TL_READ_WITH_SHARED_LOCKS);
++            lex->safe_to_cache_query=0;
++          }
++#line 25187 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1103:
++#line 7709 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            Item *item= new (thd->mem_root)
++                          Item_field(&thd->lex->current_select->context,
++                                     NULL, NULL, "*");
++            if (item == NULL)
++              MYSQL_YYABORT;
++            if (add_item_to_list(thd, item))
++              MYSQL_YYABORT;
++            (thd->lex->current_select->with_wild)++;
++          }
++#line 25202 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1104:
++#line 7723 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            if (add_item_to_list(thd, (yyvsp[-1].item)))
++              MYSQL_YYABORT;
++          }
++#line 25211 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1105:
++#line 7728 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            DBUG_ASSERT((yyvsp[-3].simple_string) < (yyvsp[-1].simple_string));
++
++            if (add_item_to_list(thd, (yyvsp[-2].item)))
++              MYSQL_YYABORT;
++            if ((yyvsp[0].lex_str).str)
++            {
++              if (Lex->sql_command == SQLCOM_CREATE_VIEW &&
++                  check_column_name((yyvsp[0].lex_str).str))
++              {
++                my_error(ER_WRONG_COLUMN_NAME, MYF(0), (yyvsp[0].lex_str).str);
++                MYSQL_YYABORT;
++              }
++              (yyvsp[-2].item)->is_autogenerated_name= FALSE;
++              (yyvsp[-2].item)->set_name((yyvsp[0].lex_str).str, (yyvsp[0].lex_str).length, system_charset_info);
++            }
++            else if (!(yyvsp[-2].item)->name)
++            {
++              (yyvsp[-2].item)->set_name((yyvsp[-3].simple_string), (uint) ((yyvsp[-1].simple_string) - (yyvsp[-3].simple_string)), thd->charset());
++            }
++          }
++#line 25237 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1106:
++#line 7752 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            (yyval.simple_string)= (char*) YYLIP->get_cpp_tok_start();
++          }
++#line 25245 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1107:
++#line 7758 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            (yyval.simple_string)= (char*) YYLIP->get_cpp_tok_end();
++          }
++#line 25253 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1108:
++#line 7764 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.lex_str)=null_lex_str;}
++#line 25259 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1109:
++#line 7765 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.lex_str)=(yyvsp[0].lex_str); }
++#line 25265 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1110:
++#line 7766 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.lex_str)=(yyvsp[0].lex_str); }
++#line 25271 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1111:
++#line 7767 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.lex_str)=(yyvsp[0].lex_str); }
++#line 25277 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1112:
++#line 7768 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.lex_str)=(yyvsp[0].lex_str); }
++#line 25283 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1113:
++#line 7772 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.num)= 0;  }
++#line 25289 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1114:
++#line 7773 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.num)= 0;  }
++#line 25295 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1115:
++#line 7774 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.num)= (yyvsp[-1].ulong_num); }
++#line 25301 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1116:
++#line 7778 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 25307 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1117:
++#line 7779 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 25313 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1118:
++#line 7785 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            /*
++              Design notes:
++              Do not use a manually maintained stack like thd->lex->xxx_list,
++              but use the internal bison stack ($$, $1 and $3) instead.
++              Using the bison stack is:
++              - more robust to changes in the grammar,
++              - guaranteed to be in sync with the parser state,
++              - better for performances (no memory allocation).
++            */
++            Item_cond_or *item1;
++            Item_cond_or *item3;
++            if (is_cond_or((yyvsp[-2].item)))
++            {
++              item1= (Item_cond_or*) (yyvsp[-2].item);
++              if (is_cond_or((yyvsp[0].item)))
++              {
++                item3= (Item_cond_or*) (yyvsp[0].item);
++                /*
++                  (X1 OR X2) OR (Y1 OR Y2) ==> OR (X1, X2, Y1, Y2)
++                */
++                item3->add_at_head(item1->argument_list());
++                (yyval.item) = (yyvsp[0].item);
++              }
++              else
++              {
++                /*
++                  (X1 OR X2) OR Y ==> OR (X1, X2, Y)
++                */
++                item1->add((yyvsp[0].item));
++                (yyval.item) = (yyvsp[-2].item);
++              }
++            }
++            else if (is_cond_or((yyvsp[0].item)))
++            {
++              item3= (Item_cond_or*) (yyvsp[0].item);
++              /*
++                X OR (Y1 OR Y2) ==> OR (X, Y1, Y2)
++              */
++              item3->add_at_head((yyvsp[-2].item));
++              (yyval.item) = (yyvsp[0].item);
++            }
++            else
++            {
++              /* X OR Y */
++              (yyval.item) = new (thd->mem_root) Item_cond_or((yyvsp[-2].item), (yyvsp[0].item));
++              if ((yyval.item) == NULL)
++                MYSQL_YYABORT;
++            }
++          }
++#line 25368 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1119:
++#line 7836 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            /* XOR is a proprietary extension */
++            (yyval.item) = new (thd->mem_root) Item_func_xor((yyvsp[-2].item), (yyvsp[0].item));
++            if ((yyval.item) == NULL)
++              MYSQL_YYABORT;
++          }
++#line 25379 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1120:
++#line 7843 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            /* See comments in rule expr: expr or expr */
++            Item_cond_and *item1;
++            Item_cond_and *item3;
++            if (is_cond_and((yyvsp[-2].item)))
++            {
++              item1= (Item_cond_and*) (yyvsp[-2].item);
++              if (is_cond_and((yyvsp[0].item)))
++              {
++                item3= (Item_cond_and*) (yyvsp[0].item);
++                /*
++                  (X1 AND X2) AND (Y1 AND Y2) ==> AND (X1, X2, Y1, Y2)
++                */
++                item3->add_at_head(item1->argument_list());
++                (yyval.item) = (yyvsp[0].item);
++              }
++              else
++              {
++                /*
++                  (X1 AND X2) AND Y ==> AND (X1, X2, Y)
++                */
++                item1->add((yyvsp[0].item));
++                (yyval.item) = (yyvsp[-2].item);
++              }
++            }
++            else if (is_cond_and((yyvsp[0].item)))
++            {
++              item3= (Item_cond_and*) (yyvsp[0].item);
++              /*
++                X AND (Y1 AND Y2) ==> AND (X, Y1, Y2)
++              */
++              item3->add_at_head((yyvsp[-2].item));
++              (yyval.item) = (yyvsp[0].item);
++            }
++            else
++            {
++              /* X AND Y */
++              (yyval.item) = new (thd->mem_root) Item_cond_and((yyvsp[-2].item), (yyvsp[0].item));
++              if ((yyval.item) == NULL)
++                MYSQL_YYABORT;
++            }
++          }
++#line 25426 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1121:
++#line 7886 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            (yyval.item)= negate_expression(thd, (yyvsp[0].item));
++            if ((yyval.item) == NULL)
++              MYSQL_YYABORT;
++          }
++#line 25436 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1122:
++#line 7892 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            (yyval.item)= new (thd->mem_root) Item_func_istrue((yyvsp[-2].item));
++            if ((yyval.item) == NULL)
++              MYSQL_YYABORT;
++          }
++#line 25446 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1123:
++#line 7898 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            (yyval.item)= new (thd->mem_root) Item_func_isnottrue((yyvsp[-3].item));
++            if ((yyval.item) == NULL)
++              MYSQL_YYABORT;
++          }
++#line 25456 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1124:
++#line 7904 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            (yyval.item)= new (thd->mem_root) Item_func_isfalse((yyvsp[-2].item));
++            if ((yyval.item) == NULL)
++              MYSQL_YYABORT;
++          }
++#line 25466 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1125:
++#line 7910 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            (yyval.item)= new (thd->mem_root) Item_func_isnotfalse((yyvsp[-3].item));
++            if ((yyval.item) == NULL)
++              MYSQL_YYABORT;
++          }
++#line 25476 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1126:
++#line 7916 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            (yyval.item)= new (thd->mem_root) Item_func_isnull((yyvsp[-2].item));
++            if ((yyval.item) == NULL)
++              MYSQL_YYABORT;
++          }
++#line 25486 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1127:
++#line 7922 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            (yyval.item)= new (thd->mem_root) Item_func_isnotnull((yyvsp[-3].item));
++            if ((yyval.item) == NULL)
++              MYSQL_YYABORT;
++          }
++#line 25496 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1129:
++#line 7932 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            (yyval.item)= new (thd->mem_root) Item_func_isnull((yyvsp[-2].item));
++            if ((yyval.item) == NULL)
++              MYSQL_YYABORT;
++          }
++#line 25506 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1130:
++#line 7938 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            (yyval.item)= new (thd->mem_root) Item_func_isnotnull((yyvsp[-3].item));
++            if ((yyval.item) == NULL)
++              MYSQL_YYABORT;
++          }
++#line 25516 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1131:
++#line 7944 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            (yyval.item)= new (thd->mem_root) Item_func_equal((yyvsp[-2].item),(yyvsp[0].item));
++            if ((yyval.item) == NULL)
++              MYSQL_YYABORT;
++          }
++#line 25526 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1132:
++#line 7950 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            (yyval.item)= (*(yyvsp[-1].boolfunc2creator))(0)->create((yyvsp[-2].item),(yyvsp[0].item));
++            if ((yyval.item) == NULL)
++              MYSQL_YYABORT;
++          }
++#line 25536 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1133:
++#line 7956 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            (yyval.item)= all_any_subquery_creator((yyvsp[-5].item), (yyvsp[-4].boolfunc2creator), (yyvsp[-3].num), (yyvsp[-1].select_lex));
++            if ((yyval.item) == NULL)
++              MYSQL_YYABORT;
++          }
++#line 25546 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1135:
++#line 7966 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            (yyval.item)= new (thd->mem_root) Item_in_subselect((yyvsp[-4].item), (yyvsp[-1].select_lex));
++            if ((yyval.item) == NULL)
++              MYSQL_YYABORT;
++          }
++#line 25556 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1136:
++#line 7972 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            Item *item= new (thd->mem_root) Item_in_subselect((yyvsp[-5].item), (yyvsp[-1].select_lex));
++            if (item == NULL)
++              MYSQL_YYABORT;
++            (yyval.item)= negate_expression(thd, item);
++            if ((yyval.item) == NULL)
++              MYSQL_YYABORT;
++          }
++#line 25569 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1137:
++#line 7981 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            (yyval.item)= handle_sql2003_note184_exception(thd, (yyvsp[-4].item), true, (yyvsp[-1].item));
++            if ((yyval.item) == NULL)
++              MYSQL_YYABORT;
++          }
++#line 25579 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1138:
++#line 7987 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { 
++            (yyvsp[-1].item_list)->push_front((yyvsp[-3].item));
++            (yyvsp[-1].item_list)->push_front((yyvsp[-6].item));
++            (yyval.item)= new (thd->mem_root) Item_func_in(*(yyvsp[-1].item_list));
++            if ((yyval.item) == NULL)
++              MYSQL_YYABORT;
++          }
++#line 25591 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1139:
++#line 7995 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            (yyval.item)= handle_sql2003_note184_exception(thd, (yyvsp[-5].item), false, (yyvsp[-1].item));
++            if ((yyval.item) == NULL)
++              MYSQL_YYABORT;
++          }
++#line 25601 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1140:
++#line 8001 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            (yyvsp[-1].item_list)->push_front((yyvsp[-3].item));
++            (yyvsp[-1].item_list)->push_front((yyvsp[-7].item));
++            Item_func_in *item = new (thd->mem_root) Item_func_in(*(yyvsp[-1].item_list));
++            if (item == NULL)
++              MYSQL_YYABORT;
++            item->negate();
++            (yyval.item)= item;
++          }
++#line 25615 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1141:
++#line 8011 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            (yyval.item)= new (thd->mem_root) Item_func_between((yyvsp[-4].item),(yyvsp[-2].item),(yyvsp[0].item));
++            if ((yyval.item) == NULL)
++              MYSQL_YYABORT;
++          }
++#line 25625 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1142:
++#line 8017 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            Item_func_between *item;
++            item= new (thd->mem_root) Item_func_between((yyvsp[-5].item),(yyvsp[-2].item),(yyvsp[0].item));
++            if (item == NULL)
++              MYSQL_YYABORT;
++            item->negate();
++            (yyval.item)= item;
++          }
++#line 25638 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1143:
++#line 8026 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            Item *item1= new (thd->mem_root) Item_func_soundex((yyvsp[-3].item));
++            Item *item4= new (thd->mem_root) Item_func_soundex((yyvsp[0].item));
++            if ((item1 == NULL) || (item4 == NULL))
++              MYSQL_YYABORT;
++            (yyval.item)= new (thd->mem_root) Item_func_eq(item1, item4);
++            if ((yyval.item) == NULL)
++              MYSQL_YYABORT;
++          }
++#line 25652 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1144:
++#line 8036 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            (yyval.item)= new (thd->mem_root) Item_func_like((yyvsp[-3].item),(yyvsp[-1].item),(yyvsp[0].item),Lex->escape_used);
++            if ((yyval.item) == NULL)
++              MYSQL_YYABORT;
++          }
++#line 25662 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1145:
++#line 8042 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            Item *item= new (thd->mem_root) Item_func_like((yyvsp[-4].item),(yyvsp[-1].item),(yyvsp[0].item),
++                                                             Lex->escape_used);
++            if (item == NULL)
++              MYSQL_YYABORT;
++            (yyval.item)= new (thd->mem_root) Item_func_not(item);
++            if ((yyval.item) == NULL)
++              MYSQL_YYABORT;
++          }
++#line 25676 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1146:
++#line 8052 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            (yyval.item)= new (thd->mem_root) Item_func_regex((yyvsp[-2].item),(yyvsp[0].item));
++            if ((yyval.item) == NULL)
++              MYSQL_YYABORT;
++          }
++#line 25686 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1147:
++#line 8058 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            Item *item= new (thd->mem_root) Item_func_regex((yyvsp[-3].item),(yyvsp[0].item));
++            if (item == NULL)
++              MYSQL_YYABORT;
++            (yyval.item)= negate_expression(thd, item);
++            if ((yyval.item) == NULL)
++              MYSQL_YYABORT;
++          }
++#line 25699 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1149:
++#line 8071 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            (yyval.item)= new (thd->mem_root) Item_func_bit_or((yyvsp[-2].item),(yyvsp[0].item));
++            if ((yyval.item) == NULL)
++              MYSQL_YYABORT;
++          }
++#line 25709 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1150:
++#line 8077 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            (yyval.item)= new (thd->mem_root) Item_func_bit_and((yyvsp[-2].item),(yyvsp[0].item));
++            if ((yyval.item) == NULL)
++              MYSQL_YYABORT;
++          }
++#line 25719 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1151:
++#line 8083 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            (yyval.item)= new (thd->mem_root) Item_func_shift_left((yyvsp[-2].item),(yyvsp[0].item));
++            if ((yyval.item) == NULL)
++              MYSQL_YYABORT;
++          }
++#line 25729 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1152:
++#line 8089 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            (yyval.item)= new (thd->mem_root) Item_func_shift_right((yyvsp[-2].item),(yyvsp[0].item));
++            if ((yyval.item) == NULL)
++              MYSQL_YYABORT;
++          }
++#line 25739 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1153:
++#line 8095 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            (yyval.item)= new (thd->mem_root) Item_func_plus((yyvsp[-2].item),(yyvsp[0].item));
++            if ((yyval.item) == NULL)
++              MYSQL_YYABORT;
++          }
++#line 25749 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1154:
++#line 8101 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            (yyval.item)= new (thd->mem_root) Item_func_minus((yyvsp[-2].item),(yyvsp[0].item));
++            if ((yyval.item) == NULL)
++              MYSQL_YYABORT;
++          }
++#line 25759 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1155:
++#line 8107 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            (yyval.item)= new (thd->mem_root) Item_date_add_interval((yyvsp[-4].item),(yyvsp[-1].item),(yyvsp[0].interval),0);
++            if ((yyval.item) == NULL)
++              MYSQL_YYABORT;
++          }
++#line 25769 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1156:
++#line 8113 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            (yyval.item)= new (thd->mem_root) Item_date_add_interval((yyvsp[-4].item),(yyvsp[-1].item),(yyvsp[0].interval),1);
++            if ((yyval.item) == NULL)
++              MYSQL_YYABORT;
++          }
++#line 25779 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1157:
++#line 8119 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            (yyval.item)= new (thd->mem_root) Item_func_mul((yyvsp[-2].item),(yyvsp[0].item));
++            if ((yyval.item) == NULL)
++              MYSQL_YYABORT;
++          }
++#line 25789 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1158:
++#line 8125 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            (yyval.item)= new (thd->mem_root) Item_func_div((yyvsp[-2].item),(yyvsp[0].item));
++            if ((yyval.item) == NULL)
++              MYSQL_YYABORT;
++          }
++#line 25799 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1159:
++#line 8131 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            (yyval.item)= new (thd->mem_root) Item_func_mod((yyvsp[-2].item),(yyvsp[0].item));
++            if ((yyval.item) == NULL)
++              MYSQL_YYABORT;
++          }
++#line 25809 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1160:
++#line 8137 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            (yyval.item)= new (thd->mem_root) Item_func_int_div((yyvsp[-2].item),(yyvsp[0].item));
++            if ((yyval.item) == NULL)
++              MYSQL_YYABORT;
++          }
++#line 25819 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1161:
++#line 8143 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            (yyval.item)= new (thd->mem_root) Item_func_mod((yyvsp[-2].item),(yyvsp[0].item));
++            if ((yyval.item) == NULL)
++              MYSQL_YYABORT;
++          }
++#line 25829 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1162:
++#line 8149 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            (yyval.item)= new (thd->mem_root) Item_func_bit_xor((yyvsp[-2].item),(yyvsp[0].item));
++            if ((yyval.item) == NULL)
++              MYSQL_YYABORT;
++          }
++#line 25839 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1172:
++#line 8178 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.boolfunc2creator) = &comp_eq_creator; }
++#line 25845 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1173:
++#line 8179 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.boolfunc2creator) = &comp_ge_creator; }
++#line 25851 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1174:
++#line 8180 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.boolfunc2creator) = &comp_gt_creator; }
++#line 25857 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1175:
++#line 8181 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.boolfunc2creator) = &comp_le_creator; }
++#line 25863 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1176:
++#line 8182 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.boolfunc2creator) = &comp_lt_creator; }
++#line 25869 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1177:
++#line 8183 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.boolfunc2creator) = &comp_ne_creator; }
++#line 25875 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1178:
++#line 8187 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.num) = 1; }
++#line 25881 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1179:
++#line 8188 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.num) = 0; }
++#line 25887 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1180:
++#line 8193 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex= Lex;
++	    (yyval.num)= DYN_COL_NULL; /* automatic type */
++            lex->charset= NULL;
++            lex->length= lex->dec= 0;
++	  }
++#line 25898 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1181:
++#line 8199 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.num)= (yyvsp[0].num); }
++#line 25904 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1182:
++#line 8204 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex= Lex;
++            (yyval.num)= DYN_COL_INT;
++            lex->charset= NULL;
++            lex->length= lex->dec= 0;
++          }
++#line 25915 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1183:
++#line 8211 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex= Lex;
++            (yyval.num)= DYN_COL_UINT;
++            lex->charset= NULL;
++            lex->length= lex->dec= 0;
++          }
++#line 25926 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1184:
++#line 8218 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex= Lex;
++            (yyval.num)= DYN_COL_DOUBLE;
++            lex->charset= NULL;
++            lex->length= lex->dec= 0;
++          }
++#line 25937 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1185:
++#line 8225 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex= Lex;
++            (yyval.num)= DYN_COL_DOUBLE;
++            lex->charset= NULL;
++            lex->length= lex->dec= 0;
++          }
++#line 25948 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1186:
++#line 8232 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex= Lex;
++            (yyval.num)= DYN_COL_DOUBLE;
++            lex->charset= NULL;
++            lex->length= lex->dec= 0;
++          }
++#line 25959 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1187:
++#line 8239 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            (yyval.num)= DYN_COL_DECIMAL;
++            Lex->charset= NULL;
++          }
++#line 25968 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1188:
++#line 8244 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex= Lex;
++            (yyval.num)= DYN_COL_STRING;
++            lex->length= lex->dec= 0;
++          }
++#line 25978 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1189:
++#line 8250 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex= Lex;
++            (yyval.num)= DYN_COL_STRING;
++            lex->charset= national_charset_info;
++            lex->length= lex->dec= 0;
++          }
++#line 25989 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1190:
++#line 8257 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex= Lex;
++            (yyval.num)= DYN_COL_DATE;
++            lex->charset= NULL;
++            lex->length= lex->dec= 0;
++          }
++#line 26000 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1191:
++#line 8264 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex= Lex;
++            (yyval.num)= DYN_COL_TIME;
++            lex->charset= NULL;
++            lex->dec= lex->length;
++            lex->length= 0;
++          }
++#line 26012 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1192:
++#line 8272 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex= Lex;
++            (yyval.num)= DYN_COL_DATETIME;
++            lex->charset= NULL;
++            lex->dec= lex->length;
++            lex->length= 0;
++          }
++#line 26024 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1193:
++#line 8283 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++     LEX *lex= Lex;
++     (yyval.dyncol_def)= (DYNCALL_CREATE_DEF *)
++       alloc_root(thd->mem_root, sizeof(DYNCALL_CREATE_DEF));
++     if ((yyval.dyncol_def) == NULL)
++       MYSQL_YYABORT;
++     (yyval.dyncol_def)->num= (yyvsp[-3].item);
++     (yyval.dyncol_def)->value= (yyvsp[-1].item);
++     (yyval.dyncol_def)->type= (DYNAMIC_COLUMN_TYPE)(yyvsp[0].num);
++     (yyval.dyncol_def)->cs= lex->charset;
++     if (lex->length)
++       (yyval.dyncol_def)->len= strtoul(lex->length, NULL, 10);
++     else
++       (yyval.dyncol_def)->len= 0;
++     if (lex->dec)
++       (yyval.dyncol_def)->frac= strtoul(lex->dec, NULL, 10);
++     else
++       (yyval.dyncol_def)->len= 0;
++   }
++#line 26048 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1194:
++#line 8305 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++         (yyval.dyncol_def_list)= new (thd->mem_root) List<DYNCALL_CREATE_DEF>;
++         if ((yyval.dyncol_def_list) == NULL)
++           MYSQL_YYABORT;
++         (yyval.dyncol_def_list)->push_back((yyvsp[0].dyncol_def));
++       }
++#line 26059 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1195:
++#line 8312 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++         (yyvsp[-2].dyncol_def_list)->push_back((yyvsp[0].dyncol_def));
++         (yyval.dyncol_def_list)= (yyvsp[-2].dyncol_def_list);
++       }
++#line 26068 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1201:
++#line 8325 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            Item *i1= new (thd->mem_root) Item_string((yyvsp[0].lex_str).str,
++                                                      (yyvsp[0].lex_str).length,
++                                                      thd->charset());
++            if (i1 == NULL)
++              MYSQL_YYABORT;
++            (yyval.item)= new (thd->mem_root) Item_func_set_collation((yyvsp[-2].item), i1);
++            if ((yyval.item) == NULL)
++              MYSQL_YYABORT;
++          }
++#line 26083 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1206:
++#line 8340 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            (yyval.item)= new (thd->mem_root) Item_func_concat((yyvsp[-2].item), (yyvsp[0].item));
++            if ((yyval.item) == NULL)
++              MYSQL_YYABORT;
++          }
++#line 26093 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1207:
++#line 8346 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            (yyval.item)= (yyvsp[0].item);
++          }
++#line 26101 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1208:
++#line 8350 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            (yyval.item)= new (thd->mem_root) Item_func_neg((yyvsp[0].item));
++            if ((yyval.item) == NULL)
++              MYSQL_YYABORT;
++          }
++#line 26111 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1209:
++#line 8356 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            (yyval.item)= new (thd->mem_root) Item_func_bit_neg((yyvsp[0].item));
++            if ((yyval.item) == NULL)
++              MYSQL_YYABORT;
++          }
++#line 26121 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1210:
++#line 8362 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            (yyval.item)= negate_expression(thd, (yyvsp[0].item));
++            if ((yyval.item) == NULL)
++              MYSQL_YYABORT;
++          }
++#line 26131 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1211:
++#line 8368 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { 
++            (yyval.item)= new (thd->mem_root) Item_singlerow_subselect((yyvsp[-1].select_lex));
++            if ((yyval.item) == NULL)
++              MYSQL_YYABORT;
++          }
++#line 26141 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1212:
++#line 8374 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.item)= (yyvsp[-1].item); }
++#line 26147 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1213:
++#line 8376 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            (yyvsp[-1].item_list)->push_front((yyvsp[-3].item));
++            (yyval.item)= new (thd->mem_root) Item_row(*(yyvsp[-1].item_list));
++            if ((yyval.item) == NULL)
++              MYSQL_YYABORT;
++          }
++#line 26158 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1214:
++#line 8383 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            (yyvsp[-1].item_list)->push_front((yyvsp[-3].item));
++            (yyval.item)= new (thd->mem_root) Item_row(*(yyvsp[-1].item_list));
++            if ((yyval.item) == NULL)
++              MYSQL_YYABORT;
++          }
++#line 26169 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1215:
++#line 8390 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            (yyval.item)= new (thd->mem_root) Item_exists_subselect((yyvsp[-1].select_lex));
++            if ((yyval.item) == NULL)
++              MYSQL_YYABORT;
++          }
++#line 26179 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1216:
++#line 8396 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.item)= (yyvsp[-1].item); }
++#line 26185 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1217:
++#line 8398 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            (yyvsp[-5].item_list)->push_front((yyvsp[-2].item));
++            Item_func_match *i1= new (thd->mem_root) Item_func_match(*(yyvsp[-5].item_list), (yyvsp[-1].num));
++            if (i1 == NULL)
++              MYSQL_YYABORT;
++            Select->add_ftfunc_to_list(i1);
++            (yyval.item)= i1;
++          }
++#line 26198 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1218:
++#line 8407 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            (yyval.item)= create_func_cast(thd, (yyvsp[0].item), ITEM_CAST_CHAR, NULL, NULL,
++                                 &my_charset_bin);
++            if ((yyval.item) == NULL)
++              MYSQL_YYABORT;
++          }
++#line 26209 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1219:
++#line 8414 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex= Lex;
++            (yyval.item)= create_func_cast(thd, (yyvsp[-3].item), (yyvsp[-1].cast_type), lex->length, lex->dec,
++                                 lex->charset);
++            if ((yyval.item) == NULL)
++              MYSQL_YYABORT;
++          }
++#line 26221 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1220:
++#line 8422 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            (yyval.item)= new (thd->mem_root) Item_func_case(* (yyvsp[-2].item_list), (yyvsp[-3].item), (yyvsp[-1].item) );
++            if ((yyval.item) == NULL)
++              MYSQL_YYABORT;
++          }
++#line 26231 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1221:
++#line 8428 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            (yyval.item)= create_func_cast(thd, (yyvsp[-3].item), (yyvsp[-1].cast_type), Lex->length, Lex->dec,
++                                 Lex->charset);
++            if ((yyval.item) == NULL)
++              MYSQL_YYABORT;
++          }
++#line 26242 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1222:
++#line 8435 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            (yyval.item)= new (thd->mem_root) Item_func_conv_charset((yyvsp[-3].item),(yyvsp[-1].charset));
++            if ((yyval.item) == NULL)
++              MYSQL_YYABORT;
++          }
++#line 26252 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1223:
++#line 8441 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            if ((yyvsp[-1].item)->is_splocal())
++            {
++              Item_splocal *il= static_cast<Item_splocal *>((yyvsp[-1].item));
++
++              my_error(ER_WRONG_COLUMN_NAME, MYF(0), il->my_name()->str);
++              MYSQL_YYABORT;
++            }
++            (yyval.item)= new (thd->mem_root) Item_default_value(Lex->current_context(),
++                                                         (yyvsp[-1].item));
++            if ((yyval.item) == NULL)
++              MYSQL_YYABORT;
++          }
++#line 26270 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1224:
++#line 8455 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            (yyval.item)= new (thd->mem_root) Item_insert_value(Lex->current_context(),
++                                                        (yyvsp[-1].item));
++            if ((yyval.item) == NULL)
++              MYSQL_YYABORT;
++          }
++#line 26281 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1225:
++#line 8463 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            (yyval.item)= new (thd->mem_root) Item_date_add_interval((yyvsp[0].item),(yyvsp[-3].item),(yyvsp[-2].interval),0);
++            if ((yyval.item) == NULL)
++              MYSQL_YYABORT;
++          }
++#line 26291 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1226:
++#line 8478 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            (yyval.item)= new (thd->mem_root) Item_func_char(*(yyvsp[-1].item_list));
++            if ((yyval.item) == NULL)
++              MYSQL_YYABORT;
++          }
++#line 26301 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1227:
++#line 8484 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            (yyval.item)= new (thd->mem_root) Item_func_char(*(yyvsp[-3].item_list), (yyvsp[-1].charset));
++            if ((yyval.item) == NULL)
++              MYSQL_YYABORT;
++          }
++#line 26311 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1228:
++#line 8490 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            (yyval.item)= new (thd->mem_root) Item_func_current_user(Lex->current_context());
++            if ((yyval.item) == NULL)
++              MYSQL_YYABORT;
++            Lex->set_stmt_unsafe(LEX::BINLOG_STMT_UNSAFE_SYSTEM_FUNCTION);
++            Lex->safe_to_cache_query= 0;
++          }
++#line 26323 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1229:
++#line 8498 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            (yyval.item)= new (thd->mem_root) Item_date_typecast((yyvsp[-1].item));
++            if ((yyval.item) == NULL)
++              MYSQL_YYABORT;
++          }
++#line 26333 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1230:
++#line 8504 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            (yyval.item)= new (thd->mem_root) Item_func_dayofmonth((yyvsp[-1].item));
++            if ((yyval.item) == NULL)
++              MYSQL_YYABORT;
++          }
++#line 26343 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1231:
++#line 8510 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            (yyval.item)= new (thd->mem_root) Item_func_hour((yyvsp[-1].item));
++            if ((yyval.item) == NULL)
++              MYSQL_YYABORT;
++          }
++#line 26353 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1232:
++#line 8516 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            (yyval.item)= new (thd->mem_root) Item_func_insert((yyvsp[-7].item),(yyvsp[-5].item),(yyvsp[-3].item),(yyvsp[-1].item));
++            if ((yyval.item) == NULL)
++              MYSQL_YYABORT;
++          }
++#line 26363 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1233:
++#line 8522 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            List<Item> *list= new (thd->mem_root) List<Item>;
++            if (list == NULL)
++              MYSQL_YYABORT;
++            list->push_front((yyvsp[-1].item));
++            list->push_front((yyvsp[-3].item));
++            Item_row *item= new (thd->mem_root) Item_row(*list);
++            if (item == NULL)
++              MYSQL_YYABORT;
++            (yyval.item)= new (thd->mem_root) Item_func_interval(item);
++            if ((yyval.item) == NULL)
++              MYSQL_YYABORT;
++          }
++#line 26381 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1234:
++#line 8536 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            (yyvsp[-1].item_list)->push_front((yyvsp[-3].item));
++            (yyvsp[-1].item_list)->push_front((yyvsp[-5].item));
++            Item_row *item= new (thd->mem_root) Item_row(*(yyvsp[-1].item_list));
++            if (item == NULL)
++              MYSQL_YYABORT;
++            (yyval.item)= new (thd->mem_root) Item_func_interval(item);
++            if ((yyval.item) == NULL)
++              MYSQL_YYABORT;
++          }
++#line 26396 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1235:
++#line 8547 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            (yyval.item)= new (thd->mem_root) Item_func_left((yyvsp[-3].item),(yyvsp[-1].item));
++            if ((yyval.item) == NULL)
++              MYSQL_YYABORT;
++          }
++#line 26406 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1236:
++#line 8553 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            (yyval.item)= new (thd->mem_root) Item_func_minute((yyvsp[-1].item));
++            if ((yyval.item) == NULL)
++              MYSQL_YYABORT;
++          }
++#line 26416 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1237:
++#line 8559 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            (yyval.item)= new (thd->mem_root) Item_func_month((yyvsp[-1].item));
++            if ((yyval.item) == NULL)
++              MYSQL_YYABORT;
++          }
++#line 26426 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1238:
++#line 8565 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            (yyval.item)= new (thd->mem_root) Item_func_right((yyvsp[-3].item),(yyvsp[-1].item));
++            if ((yyval.item) == NULL)
++              MYSQL_YYABORT;
++          }
++#line 26436 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1239:
++#line 8571 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            (yyval.item)= new (thd->mem_root) Item_func_second((yyvsp[-1].item));
++            if ((yyval.item) == NULL)
++              MYSQL_YYABORT;
++          }
++#line 26446 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1240:
++#line 8577 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            (yyval.item)= new (thd->mem_root) Item_time_typecast((yyvsp[-1].item), AUTO_SEC_PART_DIGITS);
++            if ((yyval.item) == NULL)
++              MYSQL_YYABORT;
++          }
++#line 26456 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1241:
++#line 8583 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            (yyval.item)= new (thd->mem_root) Item_datetime_typecast((yyvsp[-1].item), AUTO_SEC_PART_DIGITS);
++            if ((yyval.item) == NULL)
++              MYSQL_YYABORT;
++          }
++#line 26466 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1242:
++#line 8589 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            (yyval.item)= new (thd->mem_root) Item_func_add_time((yyvsp[-3].item), (yyvsp[-1].item), 1, 0);
++            if ((yyval.item) == NULL)
++              MYSQL_YYABORT;
++          }
++#line 26476 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1243:
++#line 8595 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            (yyval.item)= new (thd->mem_root) Item_func_trim((yyvsp[-1].item));
++            if ((yyval.item) == NULL)
++              MYSQL_YYABORT;
++          }
++#line 26486 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1244:
++#line 8601 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            (yyval.item)= new (thd->mem_root) Item_func_ltrim((yyvsp[-1].item),(yyvsp[-3].item));
++            if ((yyval.item) == NULL)
++              MYSQL_YYABORT;
++          }
++#line 26496 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1245:
++#line 8607 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            (yyval.item)= new (thd->mem_root) Item_func_rtrim((yyvsp[-1].item),(yyvsp[-3].item));
++            if ((yyval.item) == NULL)
++              MYSQL_YYABORT;
++          }
++#line 26506 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1246:
++#line 8613 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            (yyval.item)= new (thd->mem_root) Item_func_trim((yyvsp[-1].item),(yyvsp[-3].item));
++            if ((yyval.item) == NULL)
++              MYSQL_YYABORT;
++          }
++#line 26516 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1247:
++#line 8619 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            (yyval.item)= new (thd->mem_root) Item_func_ltrim((yyvsp[-1].item));
++            if ((yyval.item) == NULL)
++              MYSQL_YYABORT;
++          }
++#line 26526 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1248:
++#line 8625 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            (yyval.item)= new (thd->mem_root) Item_func_rtrim((yyvsp[-1].item));
++            if ((yyval.item) == NULL)
++              MYSQL_YYABORT;
++          }
++#line 26536 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1249:
++#line 8631 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            (yyval.item)= new (thd->mem_root) Item_func_trim((yyvsp[-1].item));
++            if ((yyval.item) == NULL)
++              MYSQL_YYABORT;
++          }
++#line 26546 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1250:
++#line 8637 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            (yyval.item)= new (thd->mem_root) Item_func_trim((yyvsp[-1].item),(yyvsp[-3].item));
++            if ((yyval.item) == NULL)
++              MYSQL_YYABORT;
++          }
++#line 26556 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1251:
++#line 8643 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            (yyval.item)= new (thd->mem_root) Item_func_user();
++            if ((yyval.item) == NULL)
++              MYSQL_YYABORT;
++            Lex->set_stmt_unsafe(LEX::BINLOG_STMT_UNSAFE_SYSTEM_FUNCTION);
++            Lex->safe_to_cache_query=0;
++          }
++#line 26568 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1252:
++#line 8651 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            (yyval.item)= new (thd->mem_root) Item_func_year((yyvsp[-1].item));
++            if ((yyval.item) == NULL)
++              MYSQL_YYABORT;
++          }
++#line 26578 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1253:
++#line 8672 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            (yyval.item)= new (thd->mem_root) Item_date_add_interval((yyvsp[-3].item), (yyvsp[-1].item),
++                                                             INTERVAL_DAY, 0);
++            if ((yyval.item) == NULL)
++              MYSQL_YYABORT;
++          }
++#line 26589 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1254:
++#line 8679 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            (yyval.item)= new (thd->mem_root) Item_date_add_interval((yyvsp[-5].item), (yyvsp[-2].item), (yyvsp[-1].interval), 0);
++            if ((yyval.item) == NULL)
++              MYSQL_YYABORT;
++          }
++#line 26599 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1255:
++#line 8685 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            (yyval.item)= new (thd->mem_root) Item_func_curdate_local();
++            if ((yyval.item) == NULL)
++              MYSQL_YYABORT;
++            Lex->safe_to_cache_query=0;
++          }
++#line 26610 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1256:
++#line 8692 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            (yyval.item)= new (thd->mem_root) Item_func_curtime_local((yyvsp[0].num));
++            if ((yyval.item) == NULL)
++              MYSQL_YYABORT;
++            Lex->safe_to_cache_query=0;
++          }
++#line 26621 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1257:
++#line 8700 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            (yyval.item)= new (thd->mem_root) Item_date_add_interval((yyvsp[-5].item),(yyvsp[-2].item),(yyvsp[-1].interval),0);
++            if ((yyval.item) == NULL)
++              MYSQL_YYABORT;
++          }
++#line 26631 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1258:
++#line 8707 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            (yyval.item)= new (thd->mem_root) Item_date_add_interval((yyvsp[-5].item),(yyvsp[-2].item),(yyvsp[-1].interval),1);
++            if ((yyval.item) == NULL)
++              MYSQL_YYABORT;
++          }
++#line 26641 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1259:
++#line 8713 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            (yyval.item)=new (thd->mem_root) Item_extract( (yyvsp[-3].interval), (yyvsp[-1].item));
++            if ((yyval.item) == NULL)
++              MYSQL_YYABORT;
++          }
++#line 26651 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1260:
++#line 8719 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            (yyval.item)= new (thd->mem_root) Item_func_get_format((yyvsp[-3].date_time_type), (yyvsp[-1].item));
++            if ((yyval.item) == NULL)
++              MYSQL_YYABORT;
++          }
++#line 26661 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1261:
++#line 8725 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            (yyval.item)= new (thd->mem_root) Item_func_now_local((yyvsp[0].num));
++            if ((yyval.item) == NULL)
++              MYSQL_YYABORT;
++            Lex->safe_to_cache_query=0;
++          }
++#line 26672 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1262:
++#line 8732 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            (yyval.item) = new (thd->mem_root) Item_func_locate((yyvsp[-1].item),(yyvsp[-3].item));
++            if ((yyval.item) == NULL)
++              MYSQL_YYABORT;
++          }
++#line 26682 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1263:
++#line 8738 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            (yyval.item)= new (thd->mem_root) Item_date_add_interval((yyvsp[-3].item), (yyvsp[-1].item),
++                                                             INTERVAL_DAY, 1);
++            if ((yyval.item) == NULL)
++              MYSQL_YYABORT;
++          }
++#line 26693 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1264:
++#line 8745 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            (yyval.item)= new (thd->mem_root) Item_date_add_interval((yyvsp[-5].item), (yyvsp[-2].item), (yyvsp[-1].interval), 1);
++            if ((yyval.item) == NULL)
++              MYSQL_YYABORT;
++          }
++#line 26703 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1265:
++#line 8751 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            (yyval.item)= new (thd->mem_root) Item_func_substr((yyvsp[-5].item),(yyvsp[-3].item),(yyvsp[-1].item));
++            if ((yyval.item) == NULL)
++              MYSQL_YYABORT;
++          }
++#line 26713 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1266:
++#line 8757 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            (yyval.item)= new (thd->mem_root) Item_func_substr((yyvsp[-3].item),(yyvsp[-1].item));
++            if ((yyval.item) == NULL)
++              MYSQL_YYABORT;
++          }
++#line 26723 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1267:
++#line 8763 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            (yyval.item)= new (thd->mem_root) Item_func_substr((yyvsp[-5].item),(yyvsp[-3].item),(yyvsp[-1].item));
++            if ((yyval.item) == NULL)
++              MYSQL_YYABORT;
++          }
++#line 26733 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1268:
++#line 8769 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            (yyval.item)= new (thd->mem_root) Item_func_substr((yyvsp[-3].item),(yyvsp[-1].item));
++            if ((yyval.item) == NULL)
++              MYSQL_YYABORT;
++          }
++#line 26743 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1269:
++#line 8775 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            /*
++              Unlike other time-related functions, SYSDATE() is
++              replication-unsafe because it is not affected by the
++              TIMESTAMP variable.  It is unsafe even if
++              sysdate_is_now=1, because the slave may have
++              sysdate_is_now=0.
++            */
++            Lex->set_stmt_unsafe(LEX::BINLOG_STMT_UNSAFE_SYSTEM_FUNCTION);
++            if (global_system_variables.sysdate_is_now == 0)
++              (yyval.item)= new (thd->mem_root) Item_func_sysdate_local((yyvsp[0].num));
++            else
++              (yyval.item)= new (thd->mem_root) Item_func_now_local((yyvsp[0].num));
++            if ((yyval.item) == NULL)
++              MYSQL_YYABORT;
++            Lex->safe_to_cache_query=0;
++          }
++#line 26765 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1270:
++#line 8793 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            (yyval.item)= new (thd->mem_root) Item_date_add_interval((yyvsp[-1].item),(yyvsp[-3].item),(yyvsp[-5].interval_time_st),0);
++            if ((yyval.item) == NULL)
++              MYSQL_YYABORT;
++          }
++#line 26775 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1271:
++#line 8799 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            (yyval.item)= new (thd->mem_root) Item_func_timestamp_diff((yyvsp[-3].item),(yyvsp[-1].item),(yyvsp[-5].interval_time_st));
++            if ((yyval.item) == NULL)
++              MYSQL_YYABORT;
++          }
++#line 26785 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1272:
++#line 8805 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            (yyval.item)= new (thd->mem_root) Item_func_curdate_utc();
++            if ((yyval.item) == NULL)
++              MYSQL_YYABORT;
++            Lex->safe_to_cache_query=0;
++          }
++#line 26796 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1273:
++#line 8812 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            (yyval.item)= new (thd->mem_root) Item_func_curtime_utc((yyvsp[0].num));
++            if ((yyval.item) == NULL)
++              MYSQL_YYABORT;
++            Lex->safe_to_cache_query=0;
++          }
++#line 26807 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1274:
++#line 8819 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            (yyval.item)= new (thd->mem_root) Item_func_now_utc((yyvsp[0].num));
++            if ((yyval.item) == NULL)
++              MYSQL_YYABORT;
++            Lex->safe_to_cache_query=0;
++          }
++#line 26818 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1275:
++#line 8827 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            (yyval.item)= create_func_dyncol_add(thd, (yyvsp[-3].item), *(yyvsp[-1].dyncol_def_list));
++            if ((yyval.item) == NULL)
++              MYSQL_YYABORT;
++          }
++#line 26828 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1276:
++#line 8834 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            (yyval.item)= create_func_dyncol_delete(thd, (yyvsp[-3].item), *(yyvsp[-1].item_list));
++            if ((yyval.item) == NULL)
++              MYSQL_YYABORT;
++          }
++#line 26838 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1277:
++#line 8841 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            (yyval.item)= new (thd->mem_root) Item_func_dyncol_exists((yyvsp[-3].item), (yyvsp[-1].item));
++            if ((yyval.item) == NULL)
++              MYSQL_YYABORT;
++          }
++#line 26848 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1278:
++#line 8848 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            (yyval.item)= new (thd->mem_root) Item_func_dyncol_list((yyvsp[-1].item));
++            if ((yyval.item) == NULL)
++              MYSQL_YYABORT;
++          }
++#line 26858 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1279:
++#line 8855 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            (yyval.item)= create_func_dyncol_create(thd, *(yyvsp[-1].dyncol_def_list));
++            if ((yyval.item) == NULL)
++              MYSQL_YYABORT;
++          }
++#line 26868 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1280:
++#line 8862 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex= Lex;
++            (yyval.item)= create_func_dyncol_get(thd, (yyvsp[-5].item), (yyvsp[-3].item), (yyvsp[-1].cast_type),
++                                        lex->length, lex->dec,
++                                        lex->charset);
++            if ((yyval.item) == NULL)
++              MYSQL_YYABORT;
++          }
++#line 26881 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1281:
++#line 8879 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            (yyval.item)= new (thd->mem_root) Item_func_ascii((yyvsp[-1].item));
++            if ((yyval.item) == NULL)
++              MYSQL_YYABORT;
++          }
++#line 26891 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1282:
++#line 8885 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            (yyval.item)= new (thd->mem_root) Item_func_charset((yyvsp[-1].item));
++            if ((yyval.item) == NULL)
++              MYSQL_YYABORT;
++          }
++#line 26901 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1283:
++#line 8891 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            (yyval.item)= new (thd->mem_root) Item_func_coalesce(* (yyvsp[-1].item_list));
++            if ((yyval.item) == NULL)
++              MYSQL_YYABORT;
++          }
++#line 26911 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1284:
++#line 8897 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            (yyval.item)= new (thd->mem_root) Item_func_collation((yyvsp[-1].item));
++            if ((yyval.item) == NULL)
++              MYSQL_YYABORT;
++          }
++#line 26921 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1285:
++#line 8903 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            (yyval.item)= new (thd->mem_root) Item_func_database();
++            if ((yyval.item) == NULL)
++              MYSQL_YYABORT;
++            Lex->safe_to_cache_query=0;
++          }
++#line 26932 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1286:
++#line 8910 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            (yyval.item)= new (thd->mem_root) Item_func_if((yyvsp[-5].item),(yyvsp[-3].item),(yyvsp[-1].item));
++            if ((yyval.item) == NULL)
++              MYSQL_YYABORT;
++          }
++#line 26942 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1287:
++#line 8916 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            (yyval.item)= new (thd->mem_root) Item_func_last_value(* (yyvsp[-1].item_list));
++            if ((yyval.item) == NULL)
++              MYSQL_YYABORT;
++          }
++#line 26952 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1288:
++#line 8922 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            (yyval.item)= new (thd->mem_root) Item_func_microsecond((yyvsp[-1].item));
++            if ((yyval.item) == NULL)
++              MYSQL_YYABORT;
++          }
++#line 26962 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1289:
++#line 8928 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            (yyval.item) = new (thd->mem_root) Item_func_mod((yyvsp[-3].item), (yyvsp[-1].item));
++            if ((yyval.item) == NULL)
++              MYSQL_YYABORT;
++          }
++#line 26972 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1290:
++#line 8934 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            (yyval.item)=  new (thd->mem_root) Item_func_old_password((yyvsp[-1].item));
++            if ((yyval.item) == NULL)
++              MYSQL_YYABORT;
++          }
++#line 26982 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1291:
++#line 8940 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            Item* i1;
++            if (thd->variables.old_passwords)
++              i1= new (thd->mem_root) Item_func_old_password((yyvsp[-1].item));
++            else
++              i1= new (thd->mem_root) Item_func_password((yyvsp[-1].item));
++            if (i1 == NULL)
++              MYSQL_YYABORT;
++            (yyval.item)= i1;
++          }
++#line 26997 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1292:
++#line 8951 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            (yyval.item) = new (thd->mem_root) Item_func_quarter((yyvsp[-1].item));
++            if ((yyval.item) == NULL)
++              MYSQL_YYABORT;
++          }
++#line 27007 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1293:
++#line 8957 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            (yyval.item)= new (thd->mem_root) Item_func_repeat((yyvsp[-3].item),(yyvsp[-1].item));
++            if ((yyval.item) == NULL)
++              MYSQL_YYABORT;
++          }
++#line 27017 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1294:
++#line 8963 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            (yyval.item)= new (thd->mem_root) Item_func_replace((yyvsp[-5].item),(yyvsp[-3].item),(yyvsp[-1].item));
++            if ((yyval.item) == NULL)
++              MYSQL_YYABORT;
++          }
++#line 27027 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1295:
++#line 8969 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            (yyval.item)= new (thd->mem_root) Item_func_round((yyvsp[-3].item),(yyvsp[-1].item),1);
++            if ((yyval.item) == NULL)
++              MYSQL_YYABORT;
++          }
++#line 27037 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1296:
++#line 8975 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            Item *i1= new (thd->mem_root) Item_int((char*) "0",
++                                           thd->variables.default_week_format,
++                                                   1);
++            if (i1 == NULL)
++              MYSQL_YYABORT;
++            (yyval.item)= new (thd->mem_root) Item_func_week((yyvsp[-1].item), i1);
++            if ((yyval.item) == NULL)
++              MYSQL_YYABORT;
++          }
++#line 27052 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1297:
++#line 8986 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            (yyval.item)= new (thd->mem_root) Item_func_week((yyvsp[-3].item),(yyvsp[-1].item));
++            if ((yyval.item) == NULL)
++              MYSQL_YYABORT;
++          }
++#line 27062 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1298:
++#line 8992 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++#ifdef HAVE_SPATIAL
++            (yyval.item)= (yyvsp[0].item);
++            /* $1 may be NULL, GEOM_NEW not tested for out of memory */
++            if ((yyval.item) == NULL)
++              MYSQL_YYABORT;
++#else
++            my_error(ER_FEATURE_DISABLED, MYF(0),
++                     sym_group_geom.name, sym_group_geom.needed_define);
++            MYSQL_YYABORT;
++#endif
++          }
++#line 27079 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1299:
++#line 9008 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            (yyval.item)= GEOM_NEW(thd,
++                         Item_func_spatial_rel((yyvsp[-3].item), (yyvsp[-1].item),
++                                               Item_func::SP_CONTAINS_FUNC));
++          }
++#line 27089 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1300:
++#line 9014 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            (yyval.item)= GEOM_NEW(thd,
++                         Item_func_spatial_collection(* (yyvsp[-1].item_list),
++                           Geometry::wkb_geometrycollection,
++                           Geometry::wkb_point));
++          }
++#line 27100 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1301:
++#line 9021 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            (yyval.item)= GEOM_NEW(thd,
++                         Item_func_spatial_collection(* (yyvsp[-1].item_list),
++                           Geometry::wkb_linestring,
++                           Geometry::wkb_point));
++          }
++#line 27111 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1302:
++#line 9028 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            (yyval.item)= GEOM_NEW(thd,
++                         Item_func_spatial_collection(* (yyvsp[-1].item_list),
++                           Geometry::wkb_multilinestring,
++                           Geometry::wkb_linestring));
++          }
++#line 27122 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1303:
++#line 9035 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            (yyval.item)= GEOM_NEW(thd,
++                         Item_func_spatial_collection(* (yyvsp[-1].item_list),
++                           Geometry::wkb_multipoint,
++                           Geometry::wkb_point));
++          }
++#line 27133 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1304:
++#line 9042 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            (yyval.item)= GEOM_NEW(thd,
++                         Item_func_spatial_collection(* (yyvsp[-1].item_list),
++                           Geometry::wkb_multipolygon,
++                           Geometry::wkb_polygon));
++          }
++#line 27144 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1305:
++#line 9049 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            (yyval.item)= GEOM_NEW(thd, Item_func_point((yyvsp[-3].item),(yyvsp[-1].item)));
++          }
++#line 27152 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1306:
++#line 9053 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            (yyval.item)= GEOM_NEW(thd,
++                         Item_func_spatial_collection(* (yyvsp[-1].item_list),
++                           Geometry::wkb_polygon,
++                           Geometry::wkb_linestring));
++          }
++#line 27163 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1307:
++#line 9072 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++#ifdef HAVE_DLOPEN
++            udf_func *udf= 0;
++            LEX *lex= Lex;
++            if (using_udf_functions &&
++                (udf= find_udf((yyvsp[-1].lex_str).str, (yyvsp[-1].lex_str).length)) &&
++                udf->type == UDFTYPE_AGGREGATE)
++            {
++              if (lex->current_select->inc_in_sum_expr())
++              {
++                my_parse_error(ER(ER_SYNTAX_ERROR));
++                MYSQL_YYABORT;
++              }
++            }
++            /* Temporary placing the result of find_udf in $3 */
++            (yyval.udf)= udf;
++#endif
++          }
++#line 27186 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1308:
++#line 9091 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            Create_func *builder;
++            Item *item= NULL;
++
++            if (check_routine_name(&(yyvsp[-4].lex_str)))
++            {
++              MYSQL_YYABORT;
++            }
++
++            /*
++              Implementation note:
++              names are resolved with the following order:
++              - MySQL native functions,
++              - User Defined Functions,
++              - Stored Functions (assuming the current <use> database)
++
++              This will be revised with WL#2128 (SQL PATH)
++            */
++            builder= find_native_function_builder(thd, (yyvsp[-4].lex_str));
++            if (builder)
++            {
++              item= builder->create_func(thd, (yyvsp[-4].lex_str), (yyvsp[-1].item_list));
++            }
++            else
++            {
++#ifdef HAVE_DLOPEN
++              /* Retrieving the result of find_udf */
++              udf_func *udf= (yyvsp[-2].udf);
++
++              if (udf)
++              {
++                if (udf->type == UDFTYPE_AGGREGATE)
++                {
++                  Select->in_sum_expr--;
++                }
++
++                item= Create_udf_func::s_singleton.create(thd, udf, (yyvsp[-1].item_list));
++              }
++              else
++#endif
++              {
++                builder= find_qualified_function_builder(thd);
++                DBUG_ASSERT(builder);
++                item= builder->create_func(thd, (yyvsp[-4].lex_str), (yyvsp[-1].item_list));
++              }
++            }
++
++            if (! ((yyval.item)= item))
++            {
++              MYSQL_YYABORT;
++            }
++          }
++#line 27243 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1309:
++#line 9144 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            Create_qfunc *builder;
++            Item *item= NULL;
++
++            /*
++              The following in practice calls:
++              <code>Create_sp_func::create()</code>
++              and builds a stored function.
++
++              However, it's important to maintain the interface between the
++              parser and the implementation in item_create.cc clean,
++              since this will change with WL#2128 (SQL PATH):
++              - INFORMATION_SCHEMA.version() is the SQL 99 syntax for the native
++              function version(),
++              - MySQL.version() is the SQL 2003 syntax for the native function
++              version() (a vendor can specify any schema).
++            */
++
++            if (!(yyvsp[-5].lex_str).str || check_db_name(&(yyvsp[-5].lex_str)))
++            {
++              my_error(ER_WRONG_DB_NAME, MYF(0), (yyvsp[-5].lex_str).str);
++              MYSQL_YYABORT;
++            }
++            if (check_routine_name(&(yyvsp[-3].lex_str)))
++            {
++              MYSQL_YYABORT;
++            }
++
++            builder= find_qualified_function_builder(thd);
++            DBUG_ASSERT(builder);
++            item= builder->create_with_db(thd, (yyvsp[-5].lex_str), (yyvsp[-3].lex_str), true, (yyvsp[-1].item_list));
++
++            if (! ((yyval.item)= item))
++            {
++              MYSQL_YYABORT;
++            }
++          }
++#line 27285 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1310:
++#line 9185 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.num)= (yyvsp[-1].num) | (yyvsp[0].num); }
++#line 27291 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1311:
++#line 9187 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.num)= FT_BOOL; }
++#line 27297 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1312:
++#line 9191 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.num)= FT_NL; }
++#line 27303 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1313:
++#line 9192 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.num)= FT_NL; }
++#line 27309 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1314:
++#line 9196 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.num)= 0;         }
++#line 27315 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1315:
++#line 9197 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.num)= FT_EXPAND; }
++#line 27321 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1316:
++#line 9201 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.item_list)= NULL; }
++#line 27327 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1317:
++#line 9202 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.item_list)= (yyvsp[0].item_list); }
++#line 27333 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1318:
++#line 9207 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            (yyval.item_list)= new (thd->mem_root) List<Item>;
++            if ((yyval.item_list) == NULL)
++              MYSQL_YYABORT;
++            (yyval.item_list)->push_back((yyvsp[0].item));
++          }
++#line 27344 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1319:
++#line 9214 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            (yyvsp[-2].item_list)->push_back((yyvsp[0].item));
++            (yyval.item_list)= (yyvsp[-2].item_list);
++          }
++#line 27353 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1320:
++#line 9222 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            /*
++             Use Item::name as a storage for the attribute value of user
++             defined function argument. It is safe to use Item::name
++             because the syntax will not allow having an explicit name here.
++             See WL#1017 re. udf attributes.
++            */
++            if ((yyvsp[0].lex_str).str)
++            {
++              (yyvsp[-2].item)->is_autogenerated_name= FALSE;
++              (yyvsp[-2].item)->set_name((yyvsp[0].lex_str).str, (yyvsp[0].lex_str).length, system_charset_info);
++            }
++            /* 
++               A field has to have its proper name in order for name
++               resolution to work, something we are only guaranteed if we
++               parse it out. If we hijack the input stream with
++               remember_name we may get quoted or escaped names.
++            */
++            else if ((yyvsp[-2].item)->type() != Item::FIELD_ITEM &&
++                     (yyvsp[-2].item)->type() != Item::REF_ITEM /* For HAVING */ )
++              (yyvsp[-2].item)->set_name((yyvsp[-3].simple_string), (uint) ((yyvsp[-1].simple_string) - (yyvsp[-3].simple_string)), thd->charset());
++            (yyval.item)= (yyvsp[-2].item);
++          }
++#line 27381 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1321:
++#line 9249 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            (yyval.item)= new (thd->mem_root) Item_sum_avg((yyvsp[-1].item), FALSE);
++            if ((yyval.item) == NULL)
++              MYSQL_YYABORT;
++          }
++#line 27391 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1322:
++#line 9255 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            (yyval.item)= new (thd->mem_root) Item_sum_avg((yyvsp[-1].item), TRUE);
++            if ((yyval.item) == NULL)
++              MYSQL_YYABORT;
++          }
++#line 27401 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1323:
++#line 9261 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            (yyval.item)= new (thd->mem_root) Item_sum_and((yyvsp[-1].item));
++            if ((yyval.item) == NULL)
++              MYSQL_YYABORT;
++          }
++#line 27411 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1324:
++#line 9267 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            (yyval.item)= new (thd->mem_root) Item_sum_or((yyvsp[-1].item));
++            if ((yyval.item) == NULL)
++              MYSQL_YYABORT;
++          }
++#line 27421 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1325:
++#line 9273 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            (yyval.item)= new (thd->mem_root) Item_sum_xor((yyvsp[-1].item));
++            if ((yyval.item) == NULL)
++              MYSQL_YYABORT;
++          }
++#line 27431 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1326:
++#line 9279 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            Item *item= new (thd->mem_root) Item_int((int32) 0L,1);
++            if (item == NULL)
++              MYSQL_YYABORT;
++            (yyval.item)= new (thd->mem_root) Item_sum_count(item);
++            if ((yyval.item) == NULL)
++              MYSQL_YYABORT;
++          }
++#line 27444 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1327:
++#line 9288 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            (yyval.item)= new (thd->mem_root) Item_sum_count((yyvsp[-1].item));
++            if ((yyval.item) == NULL)
++              MYSQL_YYABORT;
++          }
++#line 27454 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1328:
++#line 9294 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Select->in_sum_expr++; }
++#line 27460 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1329:
++#line 9296 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Select->in_sum_expr--; }
++#line 27466 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1330:
++#line 9298 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            (yyval.item)= new (thd->mem_root) Item_sum_count(* (yyvsp[-2].item_list));
++            if ((yyval.item) == NULL)
++              MYSQL_YYABORT;
++          }
++#line 27476 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1331:
++#line 9304 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            (yyval.item)= new (thd->mem_root) Item_sum_min((yyvsp[-1].item));
++            if ((yyval.item) == NULL)
++              MYSQL_YYABORT;
++          }
++#line 27486 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1332:
++#line 9315 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            (yyval.item)= new (thd->mem_root) Item_sum_min((yyvsp[-1].item));
++            if ((yyval.item) == NULL)
++              MYSQL_YYABORT;
++          }
++#line 27496 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1333:
++#line 9321 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            (yyval.item)= new (thd->mem_root) Item_sum_max((yyvsp[-1].item));
++            if ((yyval.item) == NULL)
++              MYSQL_YYABORT;
++          }
++#line 27506 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1334:
++#line 9327 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            (yyval.item)= new (thd->mem_root) Item_sum_max((yyvsp[-1].item));
++            if ((yyval.item) == NULL)
++              MYSQL_YYABORT;
++          }
++#line 27516 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1335:
++#line 9333 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            (yyval.item)= new (thd->mem_root) Item_sum_std((yyvsp[-1].item), 0);
++            if ((yyval.item) == NULL)
++              MYSQL_YYABORT;
++          }
++#line 27526 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1336:
++#line 9339 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            (yyval.item)= new (thd->mem_root) Item_sum_variance((yyvsp[-1].item), 0);
++            if ((yyval.item) == NULL)
++              MYSQL_YYABORT;
++          }
++#line 27536 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1337:
++#line 9345 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            (yyval.item)= new (thd->mem_root) Item_sum_std((yyvsp[-1].item), 1);
++            if ((yyval.item) == NULL)
++              MYSQL_YYABORT;
++          }
++#line 27546 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1338:
++#line 9351 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            (yyval.item)= new (thd->mem_root) Item_sum_variance((yyvsp[-1].item), 1);
++            if ((yyval.item) == NULL)
++              MYSQL_YYABORT;
++          }
++#line 27556 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1339:
++#line 9357 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            (yyval.item)= new (thd->mem_root) Item_sum_sum((yyvsp[-1].item), FALSE);
++            if ((yyval.item) == NULL)
++              MYSQL_YYABORT;
++          }
++#line 27566 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1340:
++#line 9363 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            (yyval.item)= new (thd->mem_root) Item_sum_sum((yyvsp[-1].item), TRUE);
++            if ((yyval.item) == NULL)
++              MYSQL_YYABORT;
++          }
++#line 27576 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1341:
++#line 9369 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Select->in_sum_expr++; }
++#line 27582 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1342:
++#line 9373 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            SELECT_LEX *sel= Select;
++            sel->in_sum_expr--;
++            (yyval.item)= new (thd->mem_root)
++                  Item_func_group_concat(Lex->current_context(), (yyvsp[-5].num), (yyvsp[-3].item_list),
++                                         sel->gorder_list, (yyvsp[-1].string));
++            if ((yyval.item) == NULL)
++              MYSQL_YYABORT;
++            (yyvsp[-3].item_list)->empty();
++            sel->gorder_list.empty();
++          }
++#line 27598 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1343:
++#line 9388 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            if (! Lex->parsing_options.allows_variable)
++            {
++              my_error(ER_VIEW_SELECT_VARIABLE, MYF(0));
++              MYSQL_YYABORT;
++            }
++          }
++#line 27610 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1344:
++#line 9396 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            (yyval.item)= (yyvsp[0].item);
++          }
++#line 27618 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1345:
++#line 9403 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            Item_func_set_user_var *item;
++            (yyval.item)= item= new (thd->mem_root) Item_func_set_user_var((yyvsp[-2].lex_str), (yyvsp[0].item));
++            if ((yyval.item) == NULL)
++              MYSQL_YYABORT;
++            LEX *lex= Lex;
++            lex->uncacheable(UNCACHEABLE_SIDEEFFECT);
++            lex->set_var_list.push_back(item);
++          }
++#line 27632 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1346:
++#line 9413 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            (yyval.item)= new (thd->mem_root) Item_func_get_user_var((yyvsp[0].lex_str));
++            if ((yyval.item) == NULL)
++              MYSQL_YYABORT;
++            LEX *lex= Lex;
++            lex->uncacheable(UNCACHEABLE_SIDEEFFECT);
++          }
++#line 27644 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1347:
++#line 9421 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            /* disallow "SELECT @@global.global.variable" */
++            if ((yyvsp[-1].lex_str).str && (yyvsp[0].lex_str).str && check_reserved_words(&(yyvsp[-1].lex_str)))
++            {
++              my_parse_error(ER(ER_SYNTAX_ERROR));
++              MYSQL_YYABORT;
++            }
++            if (!((yyval.item)= get_system_var(thd, (yyvsp[-2].var_type), (yyvsp[-1].lex_str), (yyvsp[0].lex_str))))
++              MYSQL_YYABORT;
++            if (!((Item_func_get_system_var*) (yyval.item))->is_written_to_binlog())
++              Lex->set_stmt_unsafe(LEX::BINLOG_STMT_UNSAFE_SYSTEM_VARIABLE);
++          }
++#line 27661 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1348:
++#line 9436 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.num) = 0; }
++#line 27667 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1349:
++#line 9437 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.num) = 1; }
++#line 27673 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1350:
++#line 9442 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            (yyval.string)= new (thd->mem_root) String(",", 1, &my_charset_latin1);
++            if ((yyval.string) == NULL)
++              MYSQL_YYABORT;
++          }
++#line 27683 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1351:
++#line 9447 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.string) = (yyvsp[0].string); }
++#line 27689 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1353:
++#line 9453 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex= Lex;
++            SELECT_LEX *sel= lex->current_select;
++            if (sel->linkage != GLOBAL_OPTIONS_TYPE &&
++                sel->olap != UNSPECIFIED_OLAP_TYPE &&
++                (sel->linkage != UNION_TYPE || sel->braces))
++            {
++              my_error(ER_WRONG_USAGE, MYF(0),
++                       "CUBE/ROLLUP", "ORDER BY");
++              MYSQL_YYABORT;
++            }
++          }
++#line 27706 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1355:
++#line 9470 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { if (add_gorder_to_list(thd, (yyvsp[-1].item),(bool) (yyvsp[0].num))) MYSQL_YYABORT; }
++#line 27712 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1356:
++#line 9472 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { if (add_gorder_to_list(thd, (yyvsp[-1].item),(bool) (yyvsp[0].num))) MYSQL_YYABORT; }
++#line 27718 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1357:
++#line 9477 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex= Lex;
++            if (lex->current_select->inc_in_sum_expr())
++            {
++              my_parse_error(ER(ER_SYNTAX_ERROR));
++              MYSQL_YYABORT;
++            }
++          }
++#line 27731 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1358:
++#line 9486 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            Select->in_sum_expr--;
++            (yyval.item)= (yyvsp[0].item);
++          }
++#line 27740 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1359:
++#line 9494 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.cast_type)=ITEM_CAST_CHAR; Lex->charset= &my_charset_bin; Lex->dec= 0; }
++#line 27746 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1360:
++#line 9496 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.cast_type)=ITEM_CAST_CHAR; Lex->dec= 0; }
++#line 27752 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1361:
++#line 9498 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.cast_type)=ITEM_CAST_CHAR; Lex->charset= national_charset_info; Lex->dec=0; }
++#line 27758 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1362:
++#line 9500 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.cast_type)=ITEM_CAST_SIGNED_INT; Lex->charset= NULL; Lex->dec=Lex->length= (char*)0; }
++#line 27764 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1363:
++#line 9502 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.cast_type)=ITEM_CAST_SIGNED_INT; Lex->charset= NULL; Lex->dec=Lex->length= (char*)0; }
++#line 27770 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1364:
++#line 9504 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.cast_type)=ITEM_CAST_SIGNED_INT; Lex->charset= NULL; Lex->dec=Lex->length= (char*)0; }
++#line 27776 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1365:
++#line 9506 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.cast_type)=ITEM_CAST_UNSIGNED_INT; Lex->charset= NULL; Lex->dec=Lex->length= (char*)0; }
++#line 27782 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1366:
++#line 9508 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.cast_type)=ITEM_CAST_UNSIGNED_INT; Lex->charset= NULL; Lex->dec=Lex->length= (char*)0; }
++#line 27788 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1367:
++#line 9510 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.cast_type)=ITEM_CAST_DATE; Lex->charset= NULL; Lex->dec=Lex->length= (char*)0; }
++#line 27794 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1368:
++#line 9512 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            (yyval.cast_type)=ITEM_CAST_TIME;
++            LEX *lex= Lex;
++            lex->charset= NULL; lex->dec= lex->length; lex->length= (char*)0;
++           }
++#line 27804 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1369:
++#line 9518 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            (yyval.cast_type)=ITEM_CAST_DATETIME;
++            LEX *lex= Lex;
++            lex->charset= NULL; lex->dec= lex->length; lex->length= (char*)0;
++           }
++#line 27814 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1370:
++#line 9524 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.cast_type)=ITEM_CAST_DECIMAL; Lex->charset= NULL; }
++#line 27820 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1371:
++#line 9526 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Lex->charset= NULL; Lex->length= Lex->dec= 0;}
++#line 27826 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1372:
++#line 9528 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.cast_type)=ITEM_CAST_DOUBLE; }
++#line 27832 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1373:
++#line 9531 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.item_list)= NULL; }
++#line 27838 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1374:
++#line 9532 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.item_list)= (yyvsp[0].item_list);}
++#line 27844 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1375:
++#line 9537 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            (yyval.item_list)= new (thd->mem_root) List<Item>;
++            if ((yyval.item_list) == NULL)
++              MYSQL_YYABORT;
++            (yyval.item_list)->push_back((yyvsp[0].item));
++          }
++#line 27855 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1376:
++#line 9544 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            (yyvsp[-2].item_list)->push_back((yyvsp[0].item));
++            (yyval.item_list)= (yyvsp[-2].item_list);
++          }
++#line 27864 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1377:
++#line 9551 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.item_list)= (yyvsp[0].item_list); }
++#line 27870 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1378:
++#line 9552 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.item_list)= (yyvsp[-1].item_list); }
++#line 27876 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1379:
++#line 9557 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            (yyval.item_list)= new (thd->mem_root) List<Item>;
++            if ((yyval.item_list) == NULL)
++              MYSQL_YYABORT;
++            (yyval.item_list)->push_back((yyvsp[0].item));
++          }
++#line 27887 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1380:
++#line 9564 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            (yyvsp[-2].item_list)->push_back((yyvsp[0].item));
++            (yyval.item_list)= (yyvsp[-2].item_list);
++          }
++#line 27896 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1381:
++#line 9571 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.item)= NULL; }
++#line 27902 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1382:
++#line 9572 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.item)= (yyvsp[0].item); }
++#line 27908 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1383:
++#line 9576 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.item)= NULL; }
++#line 27914 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1384:
++#line 9577 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.item)= (yyvsp[0].item); }
++#line 27920 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1385:
++#line 9582 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            (yyval.item_list)= new List<Item>;
++            if ((yyval.item_list) == NULL)
++              MYSQL_YYABORT;
++            (yyval.item_list)->push_back((yyvsp[-2].item));
++            (yyval.item_list)->push_back((yyvsp[0].item));
++          }
++#line 27932 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1386:
++#line 9590 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            (yyvsp[-4].item_list)->push_back((yyvsp[-2].item));
++            (yyvsp[-4].item_list)->push_back((yyvsp[0].item));
++            (yyval.item_list)= (yyvsp[-4].item_list);
++          }
++#line 27942 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1387:
++#line 9600 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.table_list)=(yyvsp[0].table_list); }
++#line 27948 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1388:
++#line 9602 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex= Lex;
++            if (!((yyval.table_list)= lex->current_select->nest_last_join(lex->thd)))
++            {
++              my_parse_error(ER(ER_SYNTAX_ERROR));
++              MYSQL_YYABORT;
++            }
++          }
++#line 27961 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1389:
++#line 9613 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { MYSQL_YYABORT_UNLESS((yyval.table_list)=(yyvsp[0].table_list)); }
++#line 27967 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1390:
++#line 9624 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.table_list)=(yyvsp[0].table_list); }
++#line 27973 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1391:
++#line 9625 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.table_list)=(yyvsp[-1].table_list); }
++#line 27979 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1392:
++#line 9631 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.table_list)=(yyvsp[0].table_list); }
++#line 27985 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1393:
++#line 9633 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            MYSQL_YYABORT_UNLESS((yyvsp[-2].table_list) && ((yyval.table_list)=(yyvsp[0].table_list)));
++          }
++#line 27993 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1394:
++#line 9653 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { MYSQL_YYABORT_UNLESS((yyvsp[-2].table_list) && ((yyval.table_list)=(yyvsp[0].table_list))); }
++#line 27999 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1395:
++#line 9655 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { MYSQL_YYABORT_UNLESS((yyvsp[-2].table_list) && ((yyval.table_list)=(yyvsp[0].table_list))); (yyvsp[0].table_list)->straight=1; }
++#line 28005 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1396:
++#line 9658 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            MYSQL_YYABORT_UNLESS((yyvsp[-3].table_list) && (yyvsp[-1].table_list));
++            /* Change the current name resolution context to a local context. */
++            if (push_new_name_resolution_context(thd, (yyvsp[-3].table_list), (yyvsp[-1].table_list)))
++              MYSQL_YYABORT;
++            Select->parsing_place= IN_ON;
++          }
++#line 28017 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1397:
++#line 9666 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            add_join_on((yyvsp[-3].table_list),(yyvsp[0].item));
++            Lex->pop_context();
++            Select->parsing_place= NO_MATTER;
++          }
++#line 28027 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1398:
++#line 9673 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            MYSQL_YYABORT_UNLESS((yyvsp[-3].table_list) && (yyvsp[-1].table_list));
++            /* Change the current name resolution context to a local context. */
++            if (push_new_name_resolution_context(thd, (yyvsp[-3].table_list), (yyvsp[-1].table_list)))
++              MYSQL_YYABORT;
++            Select->parsing_place= IN_ON;
++          }
++#line 28039 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1399:
++#line 9681 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            (yyvsp[-3].table_list)->straight=1;
++            add_join_on((yyvsp[-3].table_list),(yyvsp[0].item));
++            Lex->pop_context();
++            Select->parsing_place= NO_MATTER;
++          }
++#line 28050 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1400:
++#line 9689 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            MYSQL_YYABORT_UNLESS((yyvsp[-3].table_list) && (yyvsp[-1].table_list));
++          }
++#line 28058 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1401:
++#line 9693 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { add_join_natural((yyvsp[-7].table_list),(yyvsp[-5].table_list),(yyvsp[-1].string_list),Select); (yyval.table_list)=(yyvsp[-5].table_list); }
++#line 28064 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1402:
++#line 9695 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            MYSQL_YYABORT_UNLESS((yyvsp[-3].table_list) && ((yyval.table_list)=(yyvsp[0].table_list)));
++            add_join_natural((yyvsp[-3].table_list),(yyvsp[0].table_list),NULL,Select);
++          }
++#line 28073 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1403:
++#line 9703 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            MYSQL_YYABORT_UNLESS((yyvsp[-5].table_list) && (yyvsp[-1].table_list));
++            /* Change the current name resolution context to a local context. */
++            if (push_new_name_resolution_context(thd, (yyvsp[-5].table_list), (yyvsp[-1].table_list)))
++              MYSQL_YYABORT;
++            Select->parsing_place= IN_ON;
++          }
++#line 28085 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1404:
++#line 9711 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            add_join_on((yyvsp[-3].table_list),(yyvsp[0].item));
++            Lex->pop_context();
++            (yyvsp[-3].table_list)->outer_join|=JOIN_TYPE_LEFT;
++            (yyval.table_list)=(yyvsp[-3].table_list);
++            Select->parsing_place= NO_MATTER;
++          }
++#line 28097 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1405:
++#line 9719 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            MYSQL_YYABORT_UNLESS((yyvsp[-4].table_list) && (yyvsp[0].table_list));
++          }
++#line 28105 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1406:
++#line 9723 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { 
++            add_join_natural((yyvsp[-9].table_list),(yyvsp[-5].table_list),(yyvsp[-1].string_list),Select); 
++            (yyvsp[-5].table_list)->outer_join|=JOIN_TYPE_LEFT; 
++            (yyval.table_list)=(yyvsp[-5].table_list); 
++          }
++#line 28115 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1407:
++#line 9729 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            MYSQL_YYABORT_UNLESS((yyvsp[-5].table_list) && (yyvsp[0].table_list));
++            add_join_natural((yyvsp[-5].table_list),(yyvsp[0].table_list),NULL,Select);
++            (yyvsp[0].table_list)->outer_join|=JOIN_TYPE_LEFT;
++            (yyval.table_list)=(yyvsp[0].table_list);
++          }
++#line 28126 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1408:
++#line 9739 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            MYSQL_YYABORT_UNLESS((yyvsp[-5].table_list) && (yyvsp[-1].table_list));
++            /* Change the current name resolution context to a local context. */
++            if (push_new_name_resolution_context(thd, (yyvsp[-5].table_list), (yyvsp[-1].table_list)))
++              MYSQL_YYABORT;
++            Select->parsing_place= IN_ON;
++          }
++#line 28138 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1409:
++#line 9747 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex= Lex;
++            if (!((yyval.table_list)= lex->current_select->convert_right_join()))
++              MYSQL_YYABORT;
++            add_join_on((yyval.table_list), (yyvsp[0].item));
++            Lex->pop_context();
++            Select->parsing_place= NO_MATTER;
++          }
++#line 28151 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1410:
++#line 9756 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            MYSQL_YYABORT_UNLESS((yyvsp[-4].table_list) && (yyvsp[0].table_list));
++          }
++#line 28159 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1411:
++#line 9760 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex= Lex;
++            if (!((yyval.table_list)= lex->current_select->convert_right_join()))
++              MYSQL_YYABORT;
++            add_join_natural((yyval.table_list),(yyvsp[-5].table_list),(yyvsp[-1].string_list),Select);
++          }
++#line 28170 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1412:
++#line 9767 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            MYSQL_YYABORT_UNLESS((yyvsp[-5].table_list) && (yyvsp[0].table_list));
++            add_join_natural((yyvsp[0].table_list),(yyvsp[-5].table_list),NULL,Select);
++            LEX *lex= Lex;
++            if (!((yyval.table_list)= lex->current_select->convert_right_join()))
++              MYSQL_YYABORT;
++          }
++#line 28182 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1413:
++#line 9777 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 28188 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1414:
++#line 9778 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 28194 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1415:
++#line 9779 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 28200 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1416:
++#line 9791 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            SELECT_LEX *sel= Select;
++            sel->table_join_options= 0;
++          }
++#line 28209 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1417:
++#line 9796 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            if (!((yyval.table_list)= Select->add_table_to_list(thd, (yyvsp[-2].table), (yyvsp[-1].lex_str_ptr),
++                                                Select->get_table_join_options(),
++                                                YYPS->m_lock_type,
++                                                YYPS->m_mdl_type,
++                                                Select->pop_index_hints())))
++              MYSQL_YYABORT;
++            Select->add_joined_table((yyval.table_list));
++          }
++#line 28223 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1418:
++#line 9806 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex= Lex;
++            SELECT_LEX *sel= lex->current_select;
++            if ((yyvsp[-2].num))
++            {
++              if (sel->set_braces(1))
++              {
++                my_parse_error(ER(ER_SYNTAX_ERROR));
++                MYSQL_YYABORT;
++              }
++              /* select in braces, can't contain global parameters */
++              if (sel->master_unit()->fake_select_lex)
++                sel->master_unit()->global_parameters=
++                   sel->master_unit()->fake_select_lex;
++            }
++            if ((yyvsp[-1].select_lex)->init_nested_join(lex->thd))
++              MYSQL_YYABORT;
++            (yyval.table_list)= 0;
++            /* incomplete derived tables return NULL, we must be
++               nested in select_derived rule to be here. */
++          }
++#line 28249 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1419:
++#line 9846 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            /* Use $2 instead of Lex->current_select as derived table will
++               alter value of Lex->current_select. */
++            if (!((yyvsp[-2].table_list) || (yyvsp[0].lex_str_ptr)) && (yyvsp[-3].select_lex)->embedding &&
++                !(yyvsp[-3].select_lex)->embedding->nested_join->join_list.elements)
++            {
++              /* we have a derived table ($3 == NULL) but no alias,
++                 Since we are nested in further parentheses so we
++                 can pass NULL to the outer level parentheses
++                 Permits parsing of "((((select ...))) as xyz)" */
++              (yyval.table_list)= 0;
++            }
++            else if (!(yyvsp[-2].table_list))
++            {
++              /* Handle case of derived table, alias may be NULL if there
++                 are no outer parentheses, add_table_to_list() will throw
++                 error in this case */
++              LEX *lex=Lex;
++              SELECT_LEX *sel= lex->current_select;
++              SELECT_LEX_UNIT *unit= sel->master_unit();
++              lex->current_select= sel= unit->outer_select();
++              Table_ident *ti= new Table_ident(unit);
++              if (ti == NULL)
++                MYSQL_YYABORT;
++              if (!((yyval.table_list)= sel->add_table_to_list(lex->thd,
++                                               new Table_ident(unit), (yyvsp[0].lex_str_ptr), 0,
++                                               TL_READ, MDL_SHARED_READ)))
++
++                MYSQL_YYABORT;
++              sel->add_joined_table((yyval.table_list));
++              lex->pop_context();
++              lex->nest_level--;
++            }
++            /*else if (($3->select_lex &&
++                      $3->select_lex->master_unit()->is_union() &&
++                      ($3->select_lex->master_unit()->first_select() ==
++                       $3->select_lex || !$3->lifted)) || $5)*/
++            else if ((yyvsp[0].lex_str_ptr) != NULL)
++            {
++              /*
++                Tables with or without joins within parentheses cannot
++                have aliases, and we ruled out derived tables above.
++              */
++              my_parse_error(ER(ER_SYNTAX_ERROR));
++              MYSQL_YYABORT;
++            }
++            else
++            {
++              /* nested join: FROM (t1 JOIN t2 ...),
++                 nest_level is the same as in the outer query */
++              (yyval.table_list)= (yyvsp[-2].table_list);
++            }
++            /*
++              Fields in derived table can be used in upper select in
++              case of merge. We do not add HAVING fields because we do
++              not merge such derived. We do not add union because
++              also do not merge them
++            */
++            if ((yyval.table_list) && (yyval.table_list)->derived &&
++                !(yyval.table_list)->derived->first_select()->next_select())
++              (yyval.table_list)->select_lex->add_where_field((yyval.table_list)->derived->first_select());
++          }
++#line 28316 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1420:
++#line 9931 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            if ((yyvsp[-1].table_list) && (yyvsp[0].is_not_empty))
++            {
++              my_parse_error(ER(ER_SYNTAX_ERROR));
++              MYSQL_YYABORT;
++            }
++          }
++#line 28328 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1421:
++#line 9941 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            if (add_select_to_union_list(Lex, (bool)(yyvsp[0].num), FALSE))
++              MYSQL_YYABORT;
++          }
++#line 28337 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1422:
++#line 9946 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            /*
++              Remove from the name resolution context stack the context of the
++              last select in the union.
++             */
++            Lex->pop_context();
++          }
++#line 28349 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1423:
++#line 9954 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            if ((yyvsp[-6].table_list) != NULL)
++            {
++              my_parse_error(ER(ER_SYNTAX_ERROR));
++              MYSQL_YYABORT;
++            }
++          }
++#line 28361 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1424:
++#line 9966 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex= Lex;
++            SELECT_LEX * sel= lex->current_select;
++            if (lex->current_select->set_braces(0))
++            {
++              my_parse_error(ER(ER_SYNTAX_ERROR));
++              MYSQL_YYABORT;
++            }
++            if (sel->linkage == UNION_TYPE &&
++                sel->master_unit()->first_select()->braces)
++            {
++              my_parse_error(ER(ER_SYNTAX_ERROR));
++              MYSQL_YYABORT;
++            }
++          }
++#line 28381 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1425:
++#line 9985 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex= Lex;
++            SELECT_LEX *sel= lex->current_select;
++            if (sel->linkage != UNION_TYPE)
++              mysql_init_select(lex);
++            lex->current_select->parsing_place= SELECT_LIST;
++          }
++#line 28393 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1426:
++#line 9993 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            Select->parsing_place= NO_MATTER;
++          }
++#line 28401 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1428:
++#line 10002 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex= Lex;
++            if ((yyvsp[0].select_lex)->init_nested_join(lex->thd))
++              MYSQL_YYABORT;
++          }
++#line 28411 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1429:
++#line 10008 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex= Lex;
++            /* for normal joins, $3 != NULL and end_nested_join() != NULL,
++               for derived tables, both must equal NULL */
++
++            if (!((yyval.table_list)= (yyvsp[-2].select_lex)->end_nested_join(lex->thd)) && (yyvsp[0].table_list))
++              MYSQL_YYABORT;
++            if (!(yyvsp[0].table_list) && (yyval.table_list))
++            {
++              my_parse_error(ER(ER_SYNTAX_ERROR));
++              MYSQL_YYABORT;
++            }
++          }
++#line 28429 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1430:
++#line 10024 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex= Lex;
++            lex->derived_tables|= DERIVED_SUBQUERY;
++            if (!lex->expr_allows_subselect ||
++                lex->sql_command == (int)SQLCOM_PURGE)
++            {
++              my_parse_error(ER(ER_SYNTAX_ERROR));
++              MYSQL_YYABORT;
++            }
++            if (lex->current_select->linkage == GLOBAL_OPTIONS_TYPE ||
++                mysql_new_select(lex, 1))
++              MYSQL_YYABORT;
++            mysql_init_select(lex);
++            lex->current_select->linkage= DERIVED_TABLE_TYPE;
++            lex->current_select->parsing_place= SELECT_LIST;
++          }
++#line 28450 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1431:
++#line 10041 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            Select->parsing_place= NO_MATTER;
++          }
++#line 28458 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1433:
++#line 10048 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.select_lex)= Select; }
++#line 28464 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1434:
++#line 10053 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex= Lex;
++
++            if (! lex->parsing_options.allows_derived)
++            {
++              my_error(ER_VIEW_SELECT_DERIVED, MYF(0));
++              MYSQL_YYABORT;
++            }
++
++            SELECT_LEX *sel= lex->current_select;
++            TABLE_LIST *embedding;
++            if (!sel->embedding || sel->end_nested_join(lex->thd))
++            {
++              /* we are not in parentheses */
++              my_parse_error(ER(ER_SYNTAX_ERROR));
++              MYSQL_YYABORT;
++            }
++            embedding= Select->embedding;
++            (yyval.num)= embedding &&
++                !embedding->nested_join->join_list.elements;
++            /* return true if we are deeply nested */
++          }
++#line 28491 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1435:
++#line 10078 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 28497 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1436:
++#line 10079 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 28503 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1437:
++#line 10084 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            (yyval.num)= thd->variables.old_mode ?  INDEX_HINT_MASK_JOIN : INDEX_HINT_MASK_ALL; 
++          }
++#line 28511 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1438:
++#line 10087 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.num)= INDEX_HINT_MASK_JOIN;  }
++#line 28517 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1439:
++#line 10088 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.num)= INDEX_HINT_MASK_ORDER; }
++#line 28523 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1440:
++#line 10089 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.num)= INDEX_HINT_MASK_GROUP; }
++#line 28529 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1441:
++#line 10093 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.index_hint)= INDEX_HINT_FORCE; }
++#line 28535 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1442:
++#line 10094 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.index_hint)= INDEX_HINT_IGNORE; }
++#line 28541 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1443:
++#line 10099 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            Select->set_index_hint_type((yyvsp[-2].index_hint), (yyvsp[0].num));
++          }
++#line 28549 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1445:
++#line 10104 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            Select->set_index_hint_type(INDEX_HINT_USE, (yyvsp[0].num));
++          }
++#line 28557 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1450:
++#line 10117 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Select->alloc_index_hints(thd); }
++#line 28563 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1452:
++#line 10121 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {  Select->clear_index_hints(); }
++#line 28569 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1454:
++#line 10126 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Select->add_index_hint(thd, NULL, 0); }
++#line 28575 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1455:
++#line 10127 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 28581 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1456:
++#line 10132 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Select->add_index_hint(thd, (yyvsp[0].lex_str).str, (yyvsp[0].lex_str).length); }
++#line 28587 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1457:
++#line 10134 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Select->add_index_hint(thd, (char *)"PRIMARY", 7); }
++#line 28593 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1460:
++#line 10144 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            if (!((yyval.string_list)= new List<String>))
++              MYSQL_YYABORT;
++            String *s= new (thd->mem_root) String((const char *) (yyvsp[0].lex_str).str,
++                                                    (yyvsp[0].lex_str).length,
++                                                    system_charset_info);
++            if (s == NULL)
++              MYSQL_YYABORT;
++            (yyval.string_list)->push_back(s);
++          }
++#line 28608 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1461:
++#line 10155 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            String *s= new (thd->mem_root) String((const char *) (yyvsp[0].lex_str).str,
++                                                    (yyvsp[0].lex_str).length,
++                                                    system_charset_info);
++            if (s == NULL)
++              MYSQL_YYABORT;
++            (yyvsp[-2].string_list)->push_back(s);
++            (yyval.string_list)= (yyvsp[-2].string_list);
++          }
++#line 28622 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1462:
++#line 10167 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 28628 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1463:
++#line 10168 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.interval)=INTERVAL_DAY_HOUR; }
++#line 28634 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1464:
++#line 10169 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.interval)=INTERVAL_DAY_MICROSECOND; }
++#line 28640 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1465:
++#line 10170 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.interval)=INTERVAL_DAY_MINUTE; }
++#line 28646 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1466:
++#line 10171 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.interval)=INTERVAL_DAY_SECOND; }
++#line 28652 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1467:
++#line 10172 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.interval)=INTERVAL_HOUR_MICROSECOND; }
++#line 28658 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1468:
++#line 10173 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.interval)=INTERVAL_HOUR_MINUTE; }
++#line 28664 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1469:
++#line 10174 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.interval)=INTERVAL_HOUR_SECOND; }
++#line 28670 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1470:
++#line 10175 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.interval)=INTERVAL_MINUTE_MICROSECOND; }
++#line 28676 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1471:
++#line 10176 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.interval)=INTERVAL_MINUTE_SECOND; }
++#line 28682 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1472:
++#line 10177 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.interval)=INTERVAL_SECOND_MICROSECOND; }
++#line 28688 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1473:
++#line 10178 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.interval)=INTERVAL_YEAR_MONTH; }
++#line 28694 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1474:
++#line 10182 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.interval_time_st)=INTERVAL_DAY; }
++#line 28700 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1475:
++#line 10183 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.interval_time_st)=INTERVAL_WEEK; }
++#line 28706 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1476:
++#line 10184 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.interval_time_st)=INTERVAL_HOUR; }
++#line 28712 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1477:
++#line 10185 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.interval_time_st)=INTERVAL_MINUTE; }
++#line 28718 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1478:
++#line 10186 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.interval_time_st)=INTERVAL_MONTH; }
++#line 28724 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1479:
++#line 10187 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.interval_time_st)=INTERVAL_QUARTER; }
++#line 28730 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1480:
++#line 10188 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.interval_time_st)=INTERVAL_SECOND; }
++#line 28736 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1481:
++#line 10189 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.interval_time_st)=INTERVAL_MICROSECOND; }
++#line 28742 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1482:
++#line 10190 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.interval_time_st)=INTERVAL_YEAR; }
++#line 28748 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1483:
++#line 10194 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {(yyval.date_time_type)=MYSQL_TIMESTAMP_DATE;}
++#line 28754 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1484:
++#line 10195 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {(yyval.date_time_type)=MYSQL_TIMESTAMP_TIME;}
++#line 28760 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1485:
++#line 10196 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {(yyval.date_time_type)=MYSQL_TIMESTAMP_DATETIME;}
++#line 28766 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1486:
++#line 10197 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {(yyval.date_time_type)=MYSQL_TIMESTAMP_DATETIME;}
++#line 28772 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1490:
++#line 10207 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.lex_str_ptr)=0; }
++#line 28778 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1491:
++#line 10209 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            (yyval.lex_str_ptr)= (LEX_STRING*) sql_memdup(&(yyvsp[0].lex_str),sizeof(LEX_STRING));
++            if ((yyval.lex_str_ptr) == NULL)
++              MYSQL_YYABORT;
++          }
++#line 28788 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1494:
++#line 10222 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Select->where= 0; }
++#line 28794 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1495:
++#line 10224 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            Select->parsing_place= IN_WHERE;
++          }
++#line 28802 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1496:
++#line 10228 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            SELECT_LEX *select= Select;
++            select->where= normalize_cond((yyvsp[0].item));
++            select->parsing_place= NO_MATTER;
++            if ((yyvsp[0].item))
++              (yyvsp[0].item)->top_level_item();
++          }
++#line 28814 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1498:
++#line 10240 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            Select->parsing_place= IN_HAVING;
++          }
++#line 28822 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1499:
++#line 10244 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            SELECT_LEX *sel= Select;
++            sel->having= normalize_cond((yyvsp[0].item));
++            sel->parsing_place= NO_MATTER;
++            if ((yyvsp[0].item))
++              (yyvsp[0].item)->top_level_item();
++          }
++#line 28834 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1500:
++#line 10255 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            Lex->escape_used= TRUE;
++            (yyval.item)= (yyvsp[0].item);
++          }
++#line 28843 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1501:
++#line 10260 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            Lex->escape_used= FALSE;
++            (yyval.item)= ((thd->variables.sql_mode & MODE_NO_BACKSLASH_ESCAPES) ?
++                 new (thd->mem_root) Item_string("", 0, &my_charset_latin1) :
++                 new (thd->mem_root) Item_string("\\", 1, &my_charset_latin1));
++            if ((yyval.item) == NULL)
++              MYSQL_YYABORT;
++          }
++#line 28856 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1504:
++#line 10281 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { if (add_group_to_list(thd, (yyvsp[-1].item),(bool) (yyvsp[0].num))) MYSQL_YYABORT; }
++#line 28862 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1505:
++#line 10283 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { if (add_group_to_list(thd, (yyvsp[-1].item),(bool) (yyvsp[0].num))) MYSQL_YYABORT; }
++#line 28868 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1506:
++#line 10287 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 28874 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1507:
++#line 10289 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            /*
++              'WITH CUBE' is reserved in the MySQL syntax, but not implemented,
++              and cause LALR(2) conflicts.
++              This syntax is not standard.
++              MySQL syntax: GROUP BY col1, col2, col3 WITH CUBE
++              SQL-2003: GROUP BY ... CUBE(col1, col2, col3)
++            */
++            LEX *lex=Lex;
++            if (lex->current_select->linkage == GLOBAL_OPTIONS_TYPE)
++            {
++              my_error(ER_WRONG_USAGE, MYF(0), "WITH CUBE",
++                       "global union parameters");
++              MYSQL_YYABORT;
++            }
++            lex->current_select->olap= CUBE_TYPE;
++            my_error(ER_NOT_SUPPORTED_YET, MYF(0), "CUBE");
++            MYSQL_YYABORT;
++          }
++#line 28898 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1508:
++#line 10309 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            /*
++              'WITH ROLLUP' is needed for backward compatibility,
++              and cause LALR(2) conflicts.
++              This syntax is not standard.
++              MySQL syntax: GROUP BY col1, col2, col3 WITH ROLLUP
++              SQL-2003: GROUP BY ... ROLLUP(col1, col2, col3)
++            */
++            LEX *lex= Lex;
++            if (lex->current_select->linkage == GLOBAL_OPTIONS_TYPE)
++            {
++              my_error(ER_WRONG_USAGE, MYF(0), "WITH ROLLUP",
++                       "global union parameters");
++              MYSQL_YYABORT;
++            }
++            lex->current_select->olap= ROLLUP_TYPE;
++          }
++#line 28920 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1512:
++#line 10343 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            bool ascending= ((yyvsp[0].num) == 1) ? true : false;
++            if (add_order_to_list(thd, (yyvsp[-1].item), ascending))
++              MYSQL_YYABORT;
++          }
++#line 28930 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1515:
++#line 10361 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex=Lex;
++            SELECT_LEX *sel= lex->current_select;
++            SELECT_LEX_UNIT *unit= sel-> master_unit();
++            if (sel->linkage != GLOBAL_OPTIONS_TYPE &&
++                sel->olap != UNSPECIFIED_OLAP_TYPE &&
++                (sel->linkage != UNION_TYPE || sel->braces))
++            {
++              my_error(ER_WRONG_USAGE, MYF(0),
++                       "CUBE/ROLLUP", "ORDER BY");
++              MYSQL_YYABORT;
++            }
++            if (lex->sql_command != SQLCOM_ALTER_TABLE && !unit->fake_select_lex)
++            {
++              /*
++                A query of the of the form (SELECT ...) ORDER BY order_list is
++                executed in the same way as the query
++                SELECT ... ORDER BY order_list
++                unless the SELECT construct contains ORDER BY or LIMIT clauses.
++                Otherwise we create a fake SELECT_LEX if it has not been created
++                yet.
++              */
++              SELECT_LEX *first_sl= unit->first_select();
++              if (!unit->is_union() &&
++                  (first_sl->order_list.elements || 
++                   first_sl->select_limit) &&            
++                  unit->add_fake_select_lex(lex->thd))
++                MYSQL_YYABORT;
++            }
++          }
++#line 28965 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1517:
++#line 10396 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { if (add_order_to_list(thd, (yyvsp[-1].item),(bool) (yyvsp[0].num))) MYSQL_YYABORT; }
++#line 28971 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1518:
++#line 10398 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { if (add_order_to_list(thd, (yyvsp[-1].item),(bool) (yyvsp[0].num))) MYSQL_YYABORT; }
++#line 28977 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1519:
++#line 10402 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.num) =  1; }
++#line 28983 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1520:
++#line 10403 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.num) =1; }
++#line 28989 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1521:
++#line 10404 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.num) =0; }
++#line 28995 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1522:
++#line 10409 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex= Lex;
++            SELECT_LEX *sel= lex->current_select;
++            sel->offset_limit= 0;
++            sel->select_limit= 0;
++	    lex->limit_rows_examined= 0;
++          }
++#line 29007 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1523:
++#line 10416 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 29013 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1524:
++#line 10420 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 29019 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1525:
++#line 10421 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 29025 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1526:
++#line 10426 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            Lex->set_stmt_unsafe(LEX::BINLOG_STMT_UNSAFE_LIMIT);
++          }
++#line 29033 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1527:
++#line 10430 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            Lex->set_stmt_unsafe(LEX::BINLOG_STMT_UNSAFE_LIMIT);
++          }
++#line 29041 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1528:
++#line 10434 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            Lex->set_stmt_unsafe(LEX::BINLOG_STMT_UNSAFE_LIMIT);
++          }
++#line 29049 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1529:
++#line 10441 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            SELECT_LEX *sel= Select;
++            sel->select_limit= (yyvsp[0].item);
++            sel->offset_limit= 0;
++            sel->explicit_limit= 1;
++          }
++#line 29060 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1530:
++#line 10448 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            SELECT_LEX *sel= Select;
++            sel->select_limit= (yyvsp[0].item);
++            sel->offset_limit= (yyvsp[-2].item);
++            sel->explicit_limit= 1;
++          }
++#line 29071 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1531:
++#line 10455 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            SELECT_LEX *sel= Select;
++            sel->select_limit= (yyvsp[-2].item);
++            sel->offset_limit= (yyvsp[0].item);
++            sel->explicit_limit= 1;
++          }
++#line 29082 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1532:
++#line 10465 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++          Item_splocal *splocal;
++          LEX *lex= thd->lex;
++          Lex_input_stream *lip= & thd->m_parser_state->m_lip;
++          sp_variable_t *spv;
++          sp_pcontext *spc = lex->spcont;
++          if (spc && (spv = spc->find_variable(&(yyvsp[0].lex_str))))
++          {
++            splocal= new (thd->mem_root)
++              Item_splocal((yyvsp[0].lex_str), spv->offset, spv->type,
++                  lip->get_tok_start() - lex->sphead->m_tmp_query,
++                  lip->get_ptr() - lip->get_tok_start());
++            if (splocal == NULL)
++              MYSQL_YYABORT;
++#ifndef DBUG_OFF
++            splocal->m_sp= lex->sphead;
++#endif
++            lex->safe_to_cache_query=0;
++          }
++          else
++          {
++            my_error(ER_SP_UNDECLARED_VAR, MYF(0), (yyvsp[0].lex_str).str);
++            MYSQL_YYABORT;
++          }
++          if (splocal->type() != Item::INT_ITEM)
++          {
++            my_error(ER_WRONG_SPVAR_TYPE_IN_LIMIT, MYF(0));
++            MYSQL_YYABORT;
++          }
++          splocal->limit_clause_param= TRUE;
++          (yyval.item)= splocal;
++        }
++#line 29119 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1533:
++#line 10498 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++          ((Item_param *) (yyvsp[0].item))->limit_clause_param= TRUE;
++        }
++#line 29127 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1534:
++#line 10502 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            (yyval.item)= new (thd->mem_root) Item_uint((yyvsp[0].lex_str).str, (yyvsp[0].lex_str).length);
++            if ((yyval.item) == NULL)
++              MYSQL_YYABORT;
++          }
++#line 29137 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1535:
++#line 10508 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            (yyval.item)= new (thd->mem_root) Item_uint((yyvsp[0].lex_str).str, (yyvsp[0].lex_str).length);
++            if ((yyval.item) == NULL)
++              MYSQL_YYABORT;
++          }
++#line 29147 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1536:
++#line 10514 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            (yyval.item)= new (thd->mem_root) Item_uint((yyvsp[0].lex_str).str, (yyvsp[0].lex_str).length);
++            if ((yyval.item) == NULL)
++              MYSQL_YYABORT;
++          }
++#line 29157 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1537:
++#line 10523 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { 
++            LEX *lex=Lex;
++            lex->limit_rows_examined= (yyvsp[0].item);
++          }
++#line 29166 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1538:
++#line 10530 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex=Lex;
++            lex->current_select->select_limit= 0;
++          }
++#line 29175 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1539:
++#line 10535 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            SELECT_LEX *sel= Select;
++            sel->select_limit= (yyvsp[0].item);
++            Lex->set_stmt_unsafe(LEX::BINLOG_STMT_UNSAFE_LIMIT);
++            sel->explicit_limit= 1;
++          }
++#line 29186 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1540:
++#line 10541 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { my_parse_error(ER(ER_SYNTAX_ERROR)); MYSQL_YYABORT; }
++#line 29192 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1541:
++#line 10542 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { my_parse_error(ER(ER_SYNTAX_ERROR)); MYSQL_YYABORT; }
++#line 29198 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1542:
++#line 10546 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { int error; (yyval.num)= (int) my_strtoll10((yyvsp[0].lex_str).str, (char**) 0, &error); }
++#line 29204 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1543:
++#line 10547 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { int error; (yyval.num)= -(int) my_strtoll10((yyvsp[0].lex_str).str, (char**) 0, &error); }
++#line 29210 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1544:
++#line 10548 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { int error; (yyval.num)= -(int) my_strtoll10((yyvsp[0].lex_str).str, (char**) 0, &error); }
++#line 29216 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1545:
++#line 10552 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { int error; (yyval.ulong_num)= (ulong) my_strtoll10((yyvsp[0].lex_str).str, (char**) 0, &error); }
++#line 29222 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1546:
++#line 10553 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.ulong_num)= (ulong) strtol((yyvsp[0].lex_str).str, (char**) 0, 16); }
++#line 29228 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1547:
++#line 10554 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { int error; (yyval.ulong_num)= (ulong) my_strtoll10((yyvsp[0].lex_str).str, (char**) 0, &error); }
++#line 29234 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1548:
++#line 10555 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { int error; (yyval.ulong_num)= (ulong) my_strtoll10((yyvsp[0].lex_str).str, (char**) 0, &error); }
++#line 29240 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1549:
++#line 10556 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { int error; (yyval.ulong_num)= (ulong) my_strtoll10((yyvsp[0].lex_str).str, (char**) 0, &error); }
++#line 29246 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1550:
++#line 10557 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { int error; (yyval.ulong_num)= (ulong) my_strtoll10((yyvsp[0].lex_str).str, (char**) 0, &error); }
++#line 29252 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1551:
++#line 10561 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { int error; (yyval.ulong_num)= (ulong) my_strtoll10((yyvsp[0].lex_str).str, (char**) 0, &error); }
++#line 29258 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1552:
++#line 10562 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.ulong_num)= (ulong) strtol((yyvsp[0].lex_str).str, (char**) 0, 16); }
++#line 29264 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1553:
++#line 10563 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { int error; (yyval.ulong_num)= (ulong) my_strtoll10((yyvsp[0].lex_str).str, (char**) 0, &error); }
++#line 29270 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1554:
++#line 10564 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { int error; (yyval.ulong_num)= (ulong) my_strtoll10((yyvsp[0].lex_str).str, (char**) 0, &error); }
++#line 29276 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1555:
++#line 10565 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { MYSQL_YYABORT; }
++#line 29282 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1556:
++#line 10569 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { int error; (yyval.ulonglong_number)= (ulonglong) my_strtoll10((yyvsp[0].lex_str).str, (char**) 0, &error); }
++#line 29288 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1557:
++#line 10570 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { int error; (yyval.ulonglong_number)= (ulonglong) my_strtoll10((yyvsp[0].lex_str).str, (char**) 0, &error); }
++#line 29294 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1558:
++#line 10571 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { int error; (yyval.ulonglong_number)= (ulonglong) my_strtoll10((yyvsp[0].lex_str).str, (char**) 0, &error); }
++#line 29300 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1559:
++#line 10572 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { int error; (yyval.ulonglong_number)= (ulonglong) my_strtoll10((yyvsp[0].lex_str).str, (char**) 0, &error); }
++#line 29306 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1560:
++#line 10573 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { int error; (yyval.ulonglong_number)= (ulonglong) my_strtoll10((yyvsp[0].lex_str).str, (char**) 0, &error); }
++#line 29312 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1561:
++#line 10577 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { int error; (yyval.ulonglong_number)= (ulonglong) my_strtoll10((yyvsp[0].lex_str).str, (char**) 0, &error); }
++#line 29318 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1562:
++#line 10578 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { int error; (yyval.ulonglong_number)= (ulonglong) my_strtoll10((yyvsp[0].lex_str).str, (char**) 0, &error); }
++#line 29324 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1563:
++#line 10579 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.ulonglong_number)= strtoull((yyvsp[0].lex_str).str, (char**) 0, 16); }
++#line 29330 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1564:
++#line 10580 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { int error; (yyval.ulonglong_number)= (ulonglong) my_strtoll10((yyvsp[0].lex_str).str, (char**) 0, &error); }
++#line 29336 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1565:
++#line 10581 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { MYSQL_YYABORT; }
++#line 29342 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1566:
++#line 10586 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { my_parse_error(ER(ER_ONLY_INTEGERS_ALLOWED)); }
++#line 29348 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1569:
++#line 10595 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.choice)= (yyvsp[0].ulong_num) != 0 ? HA_CHOICE_YES : HA_CHOICE_NO; }
++#line 29354 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1570:
++#line 10596 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.choice)= HA_CHOICE_UNDEF; }
++#line 29360 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1572:
++#line 10602 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex=Lex;
++
++            if (! lex->parsing_options.allows_select_procedure)
++            {
++              my_error(ER_VIEW_SELECT_CLAUSE, MYF(0), "PROCEDURE");
++              MYSQL_YYABORT;
++            }
++
++            if (&lex->select_lex != lex->current_select)
++            {
++              my_error(ER_WRONG_USAGE, MYF(0), "PROCEDURE", "subquery");
++              MYSQL_YYABORT;
++            }
++            lex->proc_list.elements=0;
++            lex->proc_list.first=0;
++            lex->proc_list.next= &lex->proc_list.first;
++            Item_field *item= new (thd->mem_root)
++                                Item_field(&lex->current_select->context,
++                                           NULL, NULL, (yyvsp[0].lex_str).str);
++            if (item == NULL)
++              MYSQL_YYABORT;
++            if (add_proc_to_list(lex->thd, item))
++              MYSQL_YYABORT;
++            Lex->uncacheable(UNCACHEABLE_SIDEEFFECT);
++
++            /*
++              PROCEDURE CLAUSE cannot handle subquery as one of its parameter,
++              so set expr_allows_subselect as false to disallow any subqueries
++              further. Reset expr_allows_subselect back to true once the
++              parameters are reduced.
++            */
++            Lex->expr_allows_subselect= false;
++          }
++#line 29399 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1573:
++#line 10637 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            /* Subqueries are allowed from now.*/
++            Lex->expr_allows_subselect= true;
++          }
++#line 29408 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1574:
++#line 10644 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 29414 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1575:
++#line 10645 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 29420 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1578:
++#line 10655 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            if (add_proc_to_list(thd, (yyvsp[-1].item)))
++              MYSQL_YYABORT;
++            if (!(yyvsp[-1].item)->name)
++              (yyvsp[-1].item)->set_name((yyvsp[-2].simple_string), (uint) ((yyvsp[0].simple_string) - (yyvsp[-2].simple_string)), thd->charset());
++          }
++#line 29431 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1579:
++#line 10664 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex=Lex;
++            if (!lex->describe && (!(lex->result= new select_dumpvar())))
++              MYSQL_YYABORT;
++          }
++#line 29441 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1580:
++#line 10670 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 29447 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1582:
++#line 10675 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 29453 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1583:
++#line 10680 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex=Lex;
++            if (lex->result) 
++            {
++              my_var *var= new my_var((yyvsp[0].lex_str),0,0,(enum_field_types)0);
++              if (var == NULL)
++                MYSQL_YYABORT;
++              ((select_dumpvar *)lex->result)->var_list.push_back(var);
++            }
++            else
++            {
++              /*
++                The parser won't create select_result instance only
++                if it's an EXPLAIN.
++              */
++              DBUG_ASSERT(lex->describe);
++            }
++          }
++#line 29476 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1584:
++#line 10699 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex=Lex;
++            sp_variable_t *t;
++
++            if (!lex->spcont || !(t=lex->spcont->find_variable(&(yyvsp[0].lex_str))))
++            {
++              my_error(ER_SP_UNDECLARED_VAR, MYF(0), (yyvsp[0].lex_str).str);
++              MYSQL_YYABORT;
++            }
++            if (lex->result)
++            {
++              my_var *var= new my_var((yyvsp[0].lex_str),1,t->offset,t->type);
++              if (var == NULL)
++                MYSQL_YYABORT;
++              ((select_dumpvar *)lex->result)->var_list.push_back(var);
++#ifndef DBUG_OFF
++              var->sp= lex->sphead;
++#endif
++            }
++            else
++            {
++              /*
++                The parser won't create select_result instance only
++                if it's an EXPLAIN.
++              */
++              DBUG_ASSERT(lex->describe);
++            }
++          }
++#line 29509 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1585:
++#line 10731 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            if (! Lex->parsing_options.allows_select_into)
++            {
++              my_error(ER_VIEW_SELECT_CLAUSE, MYF(0), "INTO");
++              MYSQL_YYABORT;
++            }
++          }
++#line 29521 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1587:
++#line 10743 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex= Lex;
++            lex->uncacheable(UNCACHEABLE_SIDEEFFECT);
++            if (!(lex->exchange= new sql_exchange((yyvsp[0].lex_str).str, 0)) ||
++                !(lex->result= new select_export(lex->exchange)))
++              MYSQL_YYABORT;
++          }
++#line 29533 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1588:
++#line 10751 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Lex->exchange->cs= (yyvsp[0].charset); }
++#line 29539 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1590:
++#line 10754 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex=Lex;
++            if (!lex->describe)
++            {
++              lex->uncacheable(UNCACHEABLE_SIDEEFFECT);
++              if (!(lex->exchange= new sql_exchange((yyvsp[0].lex_str).str,1)))
++                MYSQL_YYABORT;
++              if (!(lex->result= new select_dump(lex->exchange)))
++                MYSQL_YYABORT;
++            }
++          }
++#line 29555 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1591:
++#line 10766 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            Lex->uncacheable(UNCACHEABLE_SIDEEFFECT);
++          }
++#line 29563 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1592:
++#line 10777 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex=Lex;
++            lex->sql_command = SQLCOM_DO;
++            mysql_init_select(lex);
++          }
++#line 29573 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1593:
++#line 10783 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            Lex->insert_list= (yyvsp[0].item_list);
++          }
++#line 29581 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1594:
++#line 10794 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex=Lex;
++            lex->sql_command = SQLCOM_DROP_TABLE;
++            lex->drop_temporary= (yyvsp[-2].num);
++            lex->drop_if_exists= (yyvsp[0].num);
++            YYPS->m_lock_type= TL_UNLOCK;
++            YYPS->m_mdl_type= MDL_EXCLUSIVE;
++          }
++#line 29594 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1595:
++#line 10803 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 29600 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1596:
++#line 10804 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 29606 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1597:
++#line 10805 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex=Lex;
++            Alter_drop *ad= new Alter_drop(Alter_drop::KEY, (yyvsp[-3].lex_str).str);
++            if (ad == NULL)
++              MYSQL_YYABORT;
++            lex->sql_command= SQLCOM_DROP_INDEX;
++            lex->alter_info.reset();
++            lex->alter_info.flags= ALTER_DROP_INDEX;
++            lex->alter_info.drop_list.push_back(ad);
++            if (!lex->current_select->add_table_to_list(lex->thd, (yyvsp[-1].table), NULL,
++                                                        TL_OPTION_UPDATING,
++                                                        TL_READ_NO_INSERT,
++                                                        MDL_SHARED_NO_WRITE))
++              MYSQL_YYABORT;
++          }
++#line 29626 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1598:
++#line 10821 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex=Lex;
++            lex->sql_command= SQLCOM_DROP_DB;
++            lex->drop_if_exists=(yyvsp[-1].num);
++            lex->name= (yyvsp[0].lex_str);
++          }
++#line 29637 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1599:
++#line 10828 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex= thd->lex;
++            sp_name *spname;
++            if ((yyvsp[-2].lex_str).str && check_db_name(&(yyvsp[-2].lex_str)))
++            {
++               my_error(ER_WRONG_DB_NAME, MYF(0), (yyvsp[-2].lex_str).str);
++               MYSQL_YYABORT;
++            }
++            if (lex->sphead)
++            {
++              my_error(ER_SP_NO_DROP_SP, MYF(0), "FUNCTION");
++              MYSQL_YYABORT;
++            }
++            lex->sql_command = SQLCOM_DROP_FUNCTION;
++            lex->drop_if_exists= (yyvsp[-3].num);
++            spname= new sp_name((yyvsp[-2].lex_str), (yyvsp[0].lex_str), true);
++            if (spname == NULL)
++              MYSQL_YYABORT;
++            spname->init_qname(thd);
++            lex->spname= spname;
++          }
++#line 29663 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1600:
++#line 10850 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex= thd->lex;
++            LEX_STRING db= {0, 0};
++            sp_name *spname;
++            if (lex->sphead)
++            {
++              my_error(ER_SP_NO_DROP_SP, MYF(0), "FUNCTION");
++              MYSQL_YYABORT;
++            }
++            if (thd->db && lex->copy_db_to(&db.str, &db.length))
++              MYSQL_YYABORT;
++            lex->sql_command = SQLCOM_DROP_FUNCTION;
++            lex->drop_if_exists= (yyvsp[-1].num);
++            spname= new sp_name(db, (yyvsp[0].lex_str), false);
++            if (spname == NULL)
++              MYSQL_YYABORT;
++            spname->init_qname(thd);
++            lex->spname= spname;
++          }
++#line 29687 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1601:
++#line 10870 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex=Lex;
++            if (lex->sphead)
++            {
++              my_error(ER_SP_NO_DROP_SP, MYF(0), "PROCEDURE");
++              MYSQL_YYABORT;
++            }
++            lex->sql_command = SQLCOM_DROP_PROCEDURE;
++            lex->drop_if_exists= (yyvsp[-1].num);
++            lex->spname= (yyvsp[0].spname);
++          }
++#line 29703 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1602:
++#line 10882 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            Lex->sql_command = SQLCOM_DROP_USER;
++          }
++#line 29711 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1603:
++#line 10886 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex= Lex;
++            lex->sql_command= SQLCOM_DROP_VIEW;
++            lex->drop_if_exists= (yyvsp[0].num);
++            YYPS->m_lock_type= TL_UNLOCK;
++            YYPS->m_mdl_type= MDL_EXCLUSIVE;
++          }
++#line 29723 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1604:
++#line 10894 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 29729 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1605:
++#line 10896 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            Lex->drop_if_exists= (yyvsp[-1].num);
++            Lex->spname= (yyvsp[0].spname);
++            Lex->sql_command = SQLCOM_DROP_EVENT;
++          }
++#line 29739 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1606:
++#line 10902 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex= Lex;
++            lex->sql_command= SQLCOM_DROP_TRIGGER;
++            lex->drop_if_exists= (yyvsp[-1].num);
++            lex->spname= (yyvsp[0].spname);
++          }
++#line 29750 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1607:
++#line 10909 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex= Lex;
++            lex->alter_tablespace_info->ts_cmd_type= DROP_TABLESPACE;
++          }
++#line 29759 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1608:
++#line 10914 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex= Lex;
++            lex->alter_tablespace_info->ts_cmd_type= DROP_LOGFILE_GROUP;
++          }
++#line 29768 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1609:
++#line 10919 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            Lex->sql_command = SQLCOM_DROP_SERVER;
++            Lex->drop_if_exists= (yyvsp[-1].num);
++            Lex->server_options.server_name= (yyvsp[0].lex_str).str;
++            Lex->server_options.server_name_length= (yyvsp[0].lex_str).length;
++          }
++#line 29779 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1612:
++#line 10934 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            if (!Select->add_table_to_list(thd, (yyvsp[0].table), NULL,
++                                           TL_OPTION_UPDATING,
++                                           YYPS->m_lock_type,
++                                           YYPS->m_mdl_type))
++              MYSQL_YYABORT;
++          }
++#line 29791 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1615:
++#line 10950 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            if (!Select->add_table_to_list(thd, (yyvsp[0].table), NULL,
++                                           TL_OPTION_UPDATING | TL_OPTION_ALIAS,
++                                           YYPS->m_lock_type,
++                                           YYPS->m_mdl_type))
++              MYSQL_YYABORT;
++          }
++#line 29803 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1616:
++#line 10960 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.num)= 0; }
++#line 29809 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1617:
++#line 10961 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.num)= 1; }
++#line 29815 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1618:
++#line 10965 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.num)= 0; }
++#line 29821 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1619:
++#line 10966 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.num)= 1; }
++#line 29827 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1620:
++#line 10974 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex= Lex;
++            lex->sql_command= SQLCOM_INSERT;
++            lex->duplicates= DUP_ERROR; 
++            mysql_init_select(lex);
++          }
++#line 29838 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1621:
++#line 10982 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            Select->set_lock_for_tables((yyvsp[-2].lock_type));
++            Lex->current_select= &Lex->select_lex;
++          }
++#line 29847 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1622:
++#line 10987 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 29853 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1623:
++#line 10992 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex=Lex;
++            lex->sql_command = SQLCOM_REPLACE;
++            lex->duplicates= DUP_REPLACE;
++            mysql_init_select(lex);
++          }
++#line 29864 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1624:
++#line 10999 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            Select->set_lock_for_tables((yyvsp[-1].lock_type));
++            Lex->current_select= &Lex->select_lex;
++          }
++#line 29873 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1625:
++#line 11004 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 29879 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1626:
++#line 11009 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            /*
++              If it is SP we do not allow insert optimisation when result of
++              insert visible only after the table unlocking but everyone can
++              read table.
++            */
++            (yyval.lock_type)= (Lex->sphead ? TL_WRITE_DEFAULT : TL_WRITE_CONCURRENT_INSERT);
++          }
++#line 29892 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1627:
++#line 11017 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.lock_type)= TL_WRITE_LOW_PRIORITY; }
++#line 29898 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1628:
++#line 11019 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++          Lex->keyword_delayed_begin_offset= (uint)(YYLIP->get_tok_start() -
++                                                    thd->query());
++          Lex->keyword_delayed_end_offset= Lex->keyword_delayed_begin_offset +
++                                           YYLIP->yyLength() + 1;
++          (yyval.lock_type)= TL_WRITE_DELAYED;
++        }
++#line 29910 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1629:
++#line 11026 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.lock_type)= TL_WRITE; }
++#line 29916 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1630:
++#line 11030 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.lock_type)= (yyvsp[0].lock_type); }
++#line 29922 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1631:
++#line 11032 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++          Lex->keyword_delayed_begin_offset= (uint)(YYLIP->get_tok_start() -
++                                                    thd->query());
++          Lex->keyword_delayed_end_offset= Lex->keyword_delayed_begin_offset +
++                                           YYLIP->yyLength() + 1;
++          (yyval.lock_type)= TL_WRITE_DELAYED;
++        }
++#line 29934 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1632:
++#line 11042 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 29940 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1633:
++#line 11043 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 29946 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1634:
++#line 11048 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex=Lex;
++            lex->field_list.empty();
++            lex->many_values.empty();
++            lex->insert_list=0;
++          }
++#line 29957 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1635:
++#line 11056 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 29963 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1636:
++#line 11057 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 29969 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1637:
++#line 11058 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 29975 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1638:
++#line 11060 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex=Lex;
++            if (!(lex->insert_list = new List_item) ||
++                lex->many_values.push_back(lex->insert_list))
++              MYSQL_YYABORT;
++          }
++#line 29986 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1640:
++#line 11070 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Lex->field_list.push_back((yyvsp[0].item)); }
++#line 29992 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1641:
++#line 11071 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Lex->field_list.push_back((yyvsp[0].item)); }
++#line 29998 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1642:
++#line 11075 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 30004 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1643:
++#line 11076 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 30010 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1644:
++#line 11078 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Select->set_braces(0);}
++#line 30016 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1645:
++#line 11079 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 30022 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1646:
++#line 11081 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Select->set_braces(1);}
++#line 30028 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1647:
++#line 11082 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 30034 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1652:
++#line 11097 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex=Lex;
++            if (lex->field_list.push_back((yyvsp[-2].item)) ||
++                lex->insert_list->push_back((yyvsp[0].item)))
++              MYSQL_YYABORT;
++          }
++#line 30045 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1653:
++#line 11106 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 30051 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1654:
++#line 11107 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 30057 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1655:
++#line 11111 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 30063 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1656:
++#line 11112 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 30069 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1657:
++#line 11117 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++              if (!(Lex->insert_list = new List_item))
++                MYSQL_YYABORT;
++          }
++#line 30078 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1658:
++#line 11122 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex=Lex;
++            if (lex->many_values.push_back(lex->insert_list))
++              MYSQL_YYABORT;
++          }
++#line 30088 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1659:
++#line 11130 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 30094 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1661:
++#line 11136 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            if (Lex->insert_list->push_back((yyvsp[0].item)))
++              MYSQL_YYABORT;
++          }
++#line 30103 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1662:
++#line 11141 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            if (Lex->insert_list->push_back((yyvsp[0].item)))
++              MYSQL_YYABORT;
++          }
++#line 30112 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1663:
++#line 11148 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.item)= (yyvsp[0].item);}
++#line 30118 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1664:
++#line 11150 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            (yyval.item)= new (thd->mem_root) Item_default_value(Lex->current_context());
++            if ((yyval.item) == NULL)
++              MYSQL_YYABORT;
++          }
++#line 30128 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1666:
++#line 11159 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Lex->duplicates= DUP_UPDATE; }
++#line 30134 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1668:
++#line 11167 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex= Lex;
++            mysql_init_select(lex);
++            lex->sql_command= SQLCOM_UPDATE;
++            lex->duplicates= DUP_ERROR; 
++          }
++#line 30145 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1669:
++#line 11175 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex= Lex;
++            if (lex->select_lex.table_list.elements > 1)
++              lex->sql_command= SQLCOM_UPDATE_MULTI;
++            else if (lex->select_lex.get_table_list()->derived)
++            {
++              /* it is single table update and it is update of derived table */
++              my_error(ER_NON_UPDATABLE_TABLE, MYF(0),
++                       lex->select_lex.get_table_list()->alias, "UPDATE");
++              MYSQL_YYABORT;
++            }
++            /*
++              In case of multi-update setting write lock for all tables may
++              be too pessimistic. We will decrease lock level if possible in
++              mysql_multi_update().
++            */
++            Select->set_lock_for_tables((yyvsp[-4].lock_type));
++          }
++#line 30168 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1670:
++#line 11193 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 30174 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1673:
++#line 11203 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            if (add_item_to_list(thd, (yyvsp[-2].item)) || add_value_to_list(thd, (yyvsp[0].item)))
++              MYSQL_YYABORT;
++          }
++#line 30183 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1676:
++#line 11216 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++          LEX *lex= Lex;
++          if (lex->update_list.push_back((yyvsp[-2].item)) || 
++              lex->value_list.push_back((yyvsp[0].item)))
++              MYSQL_YYABORT;
++          }
++#line 30194 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1677:
++#line 11225 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.lock_type)= TL_WRITE_DEFAULT; }
++#line 30200 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1678:
++#line 11226 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.lock_type)= TL_WRITE_LOW_PRIORITY; }
++#line 30206 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1679:
++#line 11233 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex= Lex;
++            lex->sql_command= SQLCOM_DELETE;
++            mysql_init_select(lex);
++            YYPS->m_lock_type= TL_WRITE_DEFAULT;
++            YYPS->m_mdl_type= MDL_SHARED_WRITE;
++
++            lex->ignore= 0;
++            lex->select_lex.init_order();
++          }
++#line 30221 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1681:
++#line 11248 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            if (!Select->add_table_to_list(thd, (yyvsp[0].table), NULL, TL_OPTION_UPDATING,
++                                           YYPS->m_lock_type,
++                                           YYPS->m_mdl_type))
++              MYSQL_YYABORT;
++            YYPS->m_lock_type= TL_READ_DEFAULT;
++            YYPS->m_mdl_type= MDL_SHARED_READ;
++          }
++#line 30234 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1682:
++#line 11257 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 30240 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1683:
++#line 11259 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            mysql_init_multi_delete(Lex);
++            YYPS->m_lock_type= TL_READ_DEFAULT;
++            YYPS->m_mdl_type= MDL_SHARED_READ;
++          }
++#line 30250 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1684:
++#line 11265 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            if (multi_delete_set_locks_and_link_aux_tables(Lex))
++              MYSQL_YYABORT;
++          }
++#line 30259 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1685:
++#line 11270 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            mysql_init_multi_delete(Lex);
++            YYPS->m_lock_type= TL_READ_DEFAULT;
++            YYPS->m_mdl_type= MDL_SHARED_READ;
++          }
++#line 30269 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1686:
++#line 11276 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            if (multi_delete_set_locks_and_link_aux_tables(Lex))
++              MYSQL_YYABORT;
++          }
++#line 30278 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1689:
++#line 11289 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            Table_ident *ti= new Table_ident((yyvsp[-1].lex_str));
++            if (ti == NULL)
++              MYSQL_YYABORT;
++            if (!Select->add_table_to_list(thd,
++                                           ti,
++                                           NULL,
++                                           TL_OPTION_UPDATING | TL_OPTION_ALIAS,
++                                           YYPS->m_lock_type,
++                                           YYPS->m_mdl_type))
++              MYSQL_YYABORT;
++          }
++#line 30295 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1690:
++#line 11302 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            Table_ident *ti= new Table_ident(thd, (yyvsp[-3].lex_str), (yyvsp[-1].lex_str), 0);
++            if (ti == NULL)
++              MYSQL_YYABORT;
++            if (!Select->add_table_to_list(thd,
++                                           ti,
++                                           NULL,
++                                           TL_OPTION_UPDATING | TL_OPTION_ALIAS,
++                                           YYPS->m_lock_type,
++                                           YYPS->m_mdl_type))
++              MYSQL_YYABORT;
++          }
++#line 30312 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1691:
++#line 11317 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 30318 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1692:
++#line 11318 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 30324 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1693:
++#line 11322 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 30330 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1694:
++#line 11323 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 30336 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1695:
++#line 11327 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Select->options|= OPTION_QUICK; }
++#line 30342 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1696:
++#line 11328 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { YYPS->m_lock_type= TL_WRITE_LOW_PRIORITY; }
++#line 30348 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1697:
++#line 11329 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Lex->ignore= 1; }
++#line 30354 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1698:
++#line 11334 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX* lex= Lex;
++            lex->sql_command= SQLCOM_TRUNCATE;
++            lex->alter_info.reset();
++            lex->select_lex.options= 0;
++            lex->select_lex.sql_cache= SELECT_LEX::SQL_CACHE_UNSPECIFIED;
++            lex->select_lex.init_order();
++            YYPS->m_lock_type= TL_WRITE;
++            YYPS->m_mdl_type= MDL_EXCLUSIVE;
++          }
++#line 30369 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1699:
++#line 11345 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX* lex= thd->lex;
++            DBUG_ASSERT(!lex->m_stmt);
++            lex->m_stmt= new (thd->mem_root) Truncate_statement(lex);
++            if (lex->m_stmt == NULL)
++              MYSQL_YYABORT;
++          }
++#line 30381 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1706:
++#line 11369 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++      Lex->profile_options|= PROFILE_CPU;
++    }
++#line 30389 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1707:
++#line 11373 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++      Lex->profile_options|= PROFILE_MEMORY;
++    }
++#line 30397 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1708:
++#line 11377 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++      Lex->profile_options|= PROFILE_BLOCK_IO;
++    }
++#line 30405 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1709:
++#line 11381 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++      Lex->profile_options|= PROFILE_CONTEXT;
++    }
++#line 30413 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1710:
++#line 11385 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++      Lex->profile_options|= PROFILE_PAGE_FAULTS;
++    }
++#line 30421 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1711:
++#line 11389 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++      Lex->profile_options|= PROFILE_IPC;
++    }
++#line 30429 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1712:
++#line 11393 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++      Lex->profile_options|= PROFILE_SWAPS;
++    }
++#line 30437 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1713:
++#line 11397 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++      Lex->profile_options|= PROFILE_SOURCE;
++    }
++#line 30445 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1714:
++#line 11401 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++      Lex->profile_options|= PROFILE_ALL;
++    }
++#line 30453 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1715:
++#line 11408 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++      Lex->profile_query_id= 0;
++    }
++#line 30461 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1716:
++#line 11412 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++      Lex->profile_query_id= atoi((yyvsp[0].lex_str).str);
++    }
++#line 30469 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1717:
++#line 11421 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex=Lex;
++            lex->wild=0;
++            mysql_init_select(lex);
++            lex->current_select->parsing_place= SELECT_LIST;
++            bzero((char*) &lex->create_info,sizeof(lex->create_info));
++          }
++#line 30481 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1718:
++#line 11429 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            Select->parsing_place= NO_MATTER;
++          }
++#line 30489 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1719:
++#line 11436 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++             LEX *lex= Lex;
++             lex->sql_command= SQLCOM_SHOW_DATABASES;
++             if (prepare_schema_table(thd, lex, 0, SCH_SCHEMATA))
++               MYSQL_YYABORT;
++           }
++#line 30500 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1720:
++#line 11443 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++             LEX *lex= Lex;
++             lex->sql_command= SQLCOM_SHOW_TABLES;
++             lex->select_lex.db= (yyvsp[-1].simple_string);
++             if (prepare_schema_table(thd, lex, 0, SCH_TABLE_NAMES))
++               MYSQL_YYABORT;
++           }
++#line 30512 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1721:
++#line 11451 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++             LEX *lex= Lex;
++             lex->sql_command= SQLCOM_SHOW_TRIGGERS;
++             lex->select_lex.db= (yyvsp[-1].simple_string);
++             if (prepare_schema_table(thd, lex, 0, SCH_TRIGGERS))
++               MYSQL_YYABORT;
++           }
++#line 30524 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1722:
++#line 11459 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++             LEX *lex= Lex;
++             lex->sql_command= SQLCOM_SHOW_EVENTS;
++             lex->select_lex.db= (yyvsp[-1].simple_string);
++             if (prepare_schema_table(thd, lex, 0, SCH_EVENTS))
++               MYSQL_YYABORT;
++           }
++#line 30536 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1723:
++#line 11467 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++             LEX *lex= Lex;
++             lex->sql_command= SQLCOM_SHOW_TABLE_STATUS;
++             lex->select_lex.db= (yyvsp[-1].simple_string);
++             if (prepare_schema_table(thd, lex, 0, SCH_TABLES))
++               MYSQL_YYABORT;
++           }
++#line 30548 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1724:
++#line 11475 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex= Lex;
++            lex->sql_command= SQLCOM_SHOW_OPEN_TABLES;
++            lex->select_lex.db= (yyvsp[-1].simple_string);
++            if (prepare_schema_table(thd, lex, 0, SCH_OPEN_TABLES))
++              MYSQL_YYABORT;
++          }
++#line 30560 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1725:
++#line 11483 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex= Lex;
++            lex->sql_command= SQLCOM_SHOW_PLUGINS;
++            if (prepare_schema_table(thd, lex, 0, SCH_PLUGINS))
++              MYSQL_YYABORT;
++          }
++#line 30571 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1726:
++#line 11490 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Lex->create_info.db_type= (yyvsp[-1].db_type); }
++#line 30577 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1727:
++#line 11492 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Lex->create_info.db_type= NULL; }
++#line 30583 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1728:
++#line 11494 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex= Lex;
++            lex->sql_command= SQLCOM_SHOW_FIELDS;
++            if ((yyvsp[-1].simple_string))
++              (yyvsp[-2].table)->change_db((yyvsp[-1].simple_string));
++            if (prepare_schema_table(thd, lex, (yyvsp[-2].table), SCH_COLUMNS))
++              MYSQL_YYABORT;
++          }
++#line 30596 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1729:
++#line 11503 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            Lex->sql_command = SQLCOM_SHOW_BINLOGS;
++          }
++#line 30604 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1730:
++#line 11507 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            Lex->sql_command = SQLCOM_SHOW_SLAVE_HOSTS;
++          }
++#line 30612 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1731:
++#line 11511 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex= Lex;
++            lex->sql_command= SQLCOM_SHOW_BINLOG_EVENTS;
++          }
++#line 30621 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1733:
++#line 11516 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex= Lex;
++            lex->sql_command= SQLCOM_SHOW_RELAYLOG_EVENTS;
++          }
++#line 30630 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1735:
++#line 11521 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex= Lex;
++            lex->sql_command= SQLCOM_SHOW_KEYS;
++            if ((yyvsp[-1].simple_string))
++              (yyvsp[-2].table)->change_db((yyvsp[-1].simple_string));
++            if (prepare_schema_table(thd, lex, (yyvsp[-2].table), SCH_STATISTICS))
++              MYSQL_YYABORT;
++          }
++#line 30643 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1736:
++#line 11530 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex=Lex;
++            lex->sql_command= SQLCOM_SHOW_STORAGE_ENGINES;
++            if (prepare_schema_table(thd, lex, 0, SCH_ENGINES))
++              MYSQL_YYABORT;
++          }
++#line 30654 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1737:
++#line 11537 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex=Lex;
++            lex->sql_command= SQLCOM_SHOW_AUTHORS;
++            push_warning_printf(thd, MYSQL_ERROR::WARN_LEVEL_WARN,
++                                ER_WARN_DEPRECATED_SYNTAX_NO_REPLACEMENT,
++                                ER(ER_WARN_DEPRECATED_SYNTAX_NO_REPLACEMENT),
++                                "SHOW AUTHORS");
++          }
++#line 30667 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1738:
++#line 11546 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex=Lex;
++            lex->sql_command= SQLCOM_SHOW_CONTRIBUTORS;
++            push_warning_printf(thd, MYSQL_ERROR::WARN_LEVEL_WARN,
++                                ER_WARN_DEPRECATED_SYNTAX_NO_REPLACEMENT,
++                                ER(ER_WARN_DEPRECATED_SYNTAX_NO_REPLACEMENT),
++                                "SHOW CONTRIBUTORS");
++          }
++#line 30680 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1739:
++#line 11555 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex=Lex;
++            lex->sql_command= SQLCOM_SHOW_PRIVILEGES;
++          }
++#line 30689 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1740:
++#line 11560 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (void) create_select_for_variable("warning_count"); }
++#line 30695 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1741:
++#line 11562 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (void) create_select_for_variable("error_count"); }
++#line 30701 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1742:
++#line 11564 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Lex->sql_command = SQLCOM_SHOW_WARNS;}
++#line 30707 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1743:
++#line 11566 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Lex->sql_command = SQLCOM_SHOW_ERRORS;}
++#line 30713 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1744:
++#line 11568 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Lex->sql_command = SQLCOM_SHOW_PROFILES; }
++#line 30719 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1745:
++#line 11570 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { 
++            LEX *lex= Lex;
++            lex->sql_command= SQLCOM_SHOW_PROFILE;
++            if (prepare_schema_table(thd, lex, NULL, SCH_PROFILES) != 0)
++              YYABORT;
++          }
++#line 30730 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1746:
++#line 11577 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex= Lex;
++            lex->sql_command= SQLCOM_SHOW_STATUS;
++            lex->option_type= (yyvsp[-2].var_type);
++            if (prepare_schema_table(thd, lex, 0, SCH_STATUS))
++              MYSQL_YYABORT;
++          }
++#line 30742 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1747:
++#line 11585 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Lex->sql_command= SQLCOM_SHOW_PROCESSLIST;}
++#line 30748 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1748:
++#line 11587 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex= Lex;
++            lex->sql_command= SQLCOM_SHOW_VARIABLES;
++            lex->option_type= (yyvsp[-2].var_type);
++            if (prepare_schema_table(thd, lex, 0, SCH_VARIABLES))
++              MYSQL_YYABORT;
++          }
++#line 30760 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1749:
++#line 11595 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex= Lex;
++            lex->sql_command= SQLCOM_SHOW_CHARSETS;
++            if (prepare_schema_table(thd, lex, 0, SCH_CHARSETS))
++              MYSQL_YYABORT;
++          }
++#line 30771 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1750:
++#line 11602 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex= Lex;
++            lex->sql_command= SQLCOM_SHOW_COLLATIONS;
++            if (prepare_schema_table(thd, lex, 0, SCH_COLLATIONS))
++              MYSQL_YYABORT;
++          }
++#line 30782 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1751:
++#line 11609 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex=Lex;
++            lex->sql_command= SQLCOM_SHOW_GRANTS;
++            LEX_USER *curr_user;
++            if (!(curr_user= (LEX_USER*) lex->thd->alloc(sizeof(st_lex_user))))
++              MYSQL_YYABORT;
++            bzero(curr_user, sizeof(st_lex_user));
++            lex->grant_user= curr_user;
++          }
++#line 30796 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1752:
++#line 11619 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex=Lex;
++            lex->sql_command= SQLCOM_SHOW_GRANTS;
++            lex->grant_user=(yyvsp[0].lex_user);
++            lex->grant_user->password=null_lex_str;
++          }
++#line 30807 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1753:
++#line 11626 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            Lex->sql_command=SQLCOM_SHOW_CREATE_DB;
++            Lex->create_info.options=(yyvsp[-1].num);
++            Lex->name= (yyvsp[0].lex_str);
++          }
++#line 30817 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1754:
++#line 11632 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex= Lex;
++            lex->sql_command = SQLCOM_SHOW_CREATE;
++            if (!lex->select_lex.add_table_to_list(thd, (yyvsp[0].table), NULL,0))
++              MYSQL_YYABORT;
++            lex->create_info.storage_media= HA_SM_DEFAULT;
++          }
++#line 30829 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1755:
++#line 11640 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex= Lex;
++            lex->sql_command = SQLCOM_SHOW_CREATE;
++            if (!lex->select_lex.add_table_to_list(thd, (yyvsp[0].table), NULL, 0))
++              MYSQL_YYABORT;
++            lex->only_view= 1;
++          }
++#line 30841 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1756:
++#line 11648 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            Lex->sql_command = SQLCOM_SHOW_MASTER_STAT;
++          }
++#line 30849 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1757:
++#line 11652 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            Lex->sql_command = SQLCOM_SHOW_SLAVE_STAT;
++          }
++#line 30857 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1758:
++#line 11656 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++           LEX *lex= Lex;
++           lex->sql_command= SQLCOM_SHOW_CLIENT_STATS;
++           if (prepare_schema_table(thd, lex, 0, SCH_CLIENT_STATS))
++             MYSQL_YYABORT;
++          }
++#line 30868 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1759:
++#line 11663 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++             LEX *lex= Lex;
++             lex->sql_command= SQLCOM_SHOW_USER_STATS;
++             if (prepare_schema_table(thd, lex, 0, SCH_USER_STATS))
++               MYSQL_YYABORT;
++          }
++#line 30879 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1760:
++#line 11670 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++             LEX *lex= Lex;
++             lex->sql_command= SQLCOM_SHOW_TABLE_STATS;
++             if (prepare_schema_table(thd, lex, 0, SCH_TABLE_STATS))
++               MYSQL_YYABORT;
++          }
++#line 30890 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1761:
++#line 11677 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++             LEX *lex= Lex;
++             lex->sql_command= SQLCOM_SHOW_INDEX_STATS;
++             if (prepare_schema_table(thd, lex, 0, SCH_INDEX_STATS))
++               MYSQL_YYABORT;
++          }
++#line 30901 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1762:
++#line 11684 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex= Lex;
++
++            lex->sql_command = SQLCOM_SHOW_CREATE_PROC;
++            lex->spname= (yyvsp[0].spname);
++          }
++#line 30912 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1763:
++#line 11691 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex= Lex;
++
++            lex->sql_command = SQLCOM_SHOW_CREATE_FUNC;
++            lex->spname= (yyvsp[0].spname);
++          }
++#line 30923 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1764:
++#line 11698 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex= Lex;
++            lex->sql_command= SQLCOM_SHOW_CREATE_TRIGGER;
++            lex->spname= (yyvsp[0].spname);
++          }
++#line 30933 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1765:
++#line 11704 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex= Lex;
++            lex->sql_command= SQLCOM_SHOW_STATUS_PROC;
++            if (prepare_schema_table(thd, lex, 0, SCH_PROCEDURES))
++              MYSQL_YYABORT;
++          }
++#line 30944 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1766:
++#line 11711 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex= Lex;
++            lex->sql_command= SQLCOM_SHOW_STATUS_FUNC;
++            if (prepare_schema_table(thd, lex, 0, SCH_PROCEDURES))
++              MYSQL_YYABORT;
++          }
++#line 30955 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1767:
++#line 11718 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            Lex->sql_command= SQLCOM_SHOW_PROC_CODE;
++            Lex->spname= (yyvsp[0].spname);
++          }
++#line 30964 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1768:
++#line 11723 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            Lex->sql_command= SQLCOM_SHOW_FUNC_CODE;
++            Lex->spname= (yyvsp[0].spname);
++          }
++#line 30973 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1769:
++#line 11728 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            Lex->spname= (yyvsp[0].spname);
++            Lex->sql_command = SQLCOM_SHOW_CREATE_EVENT;
++          }
++#line 30982 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1770:
++#line 11736 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Lex->sql_command= SQLCOM_SHOW_ENGINE_STATUS; }
++#line 30988 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1771:
++#line 11738 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Lex->sql_command= SQLCOM_SHOW_ENGINE_MUTEX; }
++#line 30994 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1772:
++#line 11740 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Lex->sql_command= SQLCOM_SHOW_ENGINE_LOGS; }
++#line 31000 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1777:
++#line 11754 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.simple_string)= 0; }
++#line 31006 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1778:
++#line 11755 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.simple_string)= (yyvsp[0].lex_str).str; }
++#line 31012 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1779:
++#line 11759 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Lex->verbose=0; }
++#line 31018 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1780:
++#line 11760 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Lex->verbose=1; }
++#line 31024 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1783:
++#line 11769 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Lex->mi.log_file_name = 0; }
++#line 31030 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1784:
++#line 11770 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Lex->mi.log_file_name = (yyvsp[0].lex_str).str; }
++#line 31036 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1785:
++#line 11774 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Lex->mi.pos = 4; /* skip magic number */ }
++#line 31042 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1786:
++#line 11775 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Lex->mi.pos = (yyvsp[0].ulonglong_number); }
++#line 31048 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1788:
++#line 11781 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            Lex->wild= new (thd->mem_root) String((yyvsp[0].lex_str).str, (yyvsp[0].lex_str).length,
++                                                    system_charset_info);
++            if (Lex->wild == NULL)
++              MYSQL_YYABORT;
++          }
++#line 31059 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1789:
++#line 11788 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            Select->where= normalize_cond((yyvsp[0].item));
++            if ((yyvsp[0].item))
++              (yyvsp[0].item)->top_level_item();
++          }
++#line 31069 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1790:
++#line 11798 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex= Lex;
++            mysql_init_select(lex);
++            lex->current_select->parsing_place= SELECT_LIST;
++            lex->sql_command= SQLCOM_SHOW_FIELDS;
++            lex->select_lex.db= 0;
++            lex->verbose= 0;
++            if (prepare_schema_table(thd, lex, (yyvsp[0].table), SCH_COLUMNS))
++              MYSQL_YYABORT;
++          }
++#line 31084 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1791:
++#line 11809 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            Select->parsing_place= NO_MATTER;
++          }
++#line 31092 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1792:
++#line 11813 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Lex->describe|= DESCRIBE_NORMAL; }
++#line 31098 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1793:
++#line 11815 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex=Lex;
++            lex->select_lex.options|= SELECT_DESCRIBE;
++          }
++#line 31107 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1796:
++#line 11827 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 31113 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1797:
++#line 11828 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Lex->describe|= DESCRIBE_EXTENDED; }
++#line 31119 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1798:
++#line 11829 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Lex->describe|= DESCRIBE_PARTITIONS; }
++#line 31125 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1799:
++#line 11833 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 31131 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1800:
++#line 11834 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Lex->wild= (yyvsp[0].string); }
++#line 31137 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1801:
++#line 11836 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            Lex->wild= new (thd->mem_root) String((const char*) (yyvsp[0].lex_str).str,
++                                                    (yyvsp[0].lex_str).length,
++                                                    system_charset_info);
++            if (Lex->wild == NULL)
++              MYSQL_YYABORT;
++          }
++#line 31149 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1802:
++#line 11850 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex=Lex;
++            lex->sql_command= SQLCOM_FLUSH;
++            lex->type= 0;
++            lex->no_write_to_binlog= (yyvsp[0].num);
++          }
++#line 31160 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1803:
++#line 11857 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 31166 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1804:
++#line 11862 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            Lex->type|= REFRESH_TABLES;
++            /*
++              Set type of metadata and table locks for
++              FLUSH TABLES table_list [WITH READ LOCK].
++            */
++            YYPS->m_lock_type= TL_READ_NO_INSERT;
++            YYPS->m_mdl_type= MDL_SHARED_HIGH_PRIO;
++          }
++#line 31180 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1805:
++#line 11871 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 31186 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1806:
++#line 11872 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 31192 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1808:
++#line 11877 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 31198 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1809:
++#line 11879 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            TABLE_LIST *tables= Lex->query_tables;
++            Lex->type|= REFRESH_READ_LOCK | (yyvsp[0].num);
++            for (; tables; tables= tables->next_global)
++            {
++              tables->mdl_request.set_type(MDL_SHARED_NO_WRITE);
++              tables->required_type= FRMTYPE_TABLE; /* Don't try to flush views. */
++              tables->open_type= OT_BASE_ONLY;      /* Ignore temporary tables. */
++            }
++          }
++#line 31213 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1811:
++#line 11894 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 31219 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1812:
++#line 11899 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Lex->type|= REFRESH_ERROR_LOG; }
++#line 31225 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1813:
++#line 11901 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Lex->type|= REFRESH_ENGINE_LOG; }
++#line 31231 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1814:
++#line 11903 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Lex->type|= REFRESH_GENERAL_LOG; }
++#line 31237 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1815:
++#line 11905 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Lex->type|= REFRESH_SLOW_LOG; }
++#line 31243 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1816:
++#line 11907 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Lex->type|= REFRESH_BINARY_LOG; }
++#line 31249 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1817:
++#line 11909 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Lex->type|= REFRESH_RELAY_LOG; }
++#line 31255 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1818:
++#line 11911 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Lex->type|= REFRESH_QUERY_CACHE_FREE; }
++#line 31261 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1819:
++#line 11913 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Lex->type|= REFRESH_HOSTS; }
++#line 31267 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1820:
++#line 11915 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Lex->type|= REFRESH_GRANT; }
++#line 31273 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1821:
++#line 11917 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Lex->type|= REFRESH_LOG; }
++#line 31279 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1822:
++#line 11919 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Lex->type|= REFRESH_STATUS; }
++#line 31285 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1823:
++#line 11921 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { 
++            Lex->type|= REFRESH_SLAVE;
++            Lex->reset_slave_info.all= false;
++          }
++#line 31294 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1824:
++#line 11926 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Lex->type|= REFRESH_CLIENT_STATS; }
++#line 31300 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1825:
++#line 11928 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Lex->type|= REFRESH_USER_STATS; }
++#line 31306 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1826:
++#line 11930 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Lex->type|= REFRESH_TABLE_STATS; }
++#line 31312 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1827:
++#line 11932 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Lex->type|= REFRESH_INDEX_STATS; }
++#line 31318 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1828:
++#line 11934 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Lex->type|= REFRESH_MASTER; }
++#line 31324 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1829:
++#line 11936 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Lex->type|= REFRESH_DES_KEY_FILE; }
++#line 31330 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1830:
++#line 11938 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Lex->type|= REFRESH_USER_RESOURCES; }
++#line 31336 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1831:
++#line 11942 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 31342 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1832:
++#line 11943 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 31348 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1833:
++#line 11947 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {(yyval.num)= 0;}
++#line 31354 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1834:
++#line 11948 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {(yyval.num)= REFRESH_CHECKPOINT; }
++#line 31360 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1835:
++#line 11952 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex=Lex;
++            lex->sql_command= SQLCOM_RESET; lex->type=0;
++          }
++#line 31369 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1836:
++#line 11957 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 31375 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1839:
++#line 11966 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Lex->type|= REFRESH_SLAVE; }
++#line 31381 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1840:
++#line 11967 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { }
++#line 31387 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1841:
++#line 11968 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Lex->type|= REFRESH_MASTER; }
++#line 31393 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1842:
++#line 11969 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Lex->type|= REFRESH_QUERY_CACHE;}
++#line 31399 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1843:
++#line 11973 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Lex->reset_slave_info.all= false; }
++#line 31405 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1844:
++#line 11974 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Lex->reset_slave_info.all= true; }
++#line 31411 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1845:
++#line 11979 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex=Lex;
++            lex->type=0;
++            lex->sql_command = SQLCOM_PURGE;
++          }
++#line 31421 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1846:
++#line 11985 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 31427 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1848:
++#line 11994 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            Lex->to_log = (yyvsp[0].lex_str).str;
++          }
++#line 31435 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1849:
++#line 11998 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex= Lex;
++            lex->value_list.empty();
++            lex->value_list.push_front((yyvsp[0].item));
++            lex->sql_command= SQLCOM_PURGE_BEFORE;
++          }
++#line 31446 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1850:
++#line 12010 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex=Lex;
++            lex->value_list.empty();
++            lex->users_list.empty();
++            lex->sql_command= SQLCOM_KILL;
++          }
++#line 31457 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1851:
++#line 12017 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            Lex->kill_signal= (killed_state) ((yyvsp[-2].num) | (yyvsp[-1].num));
++          }
++#line 31465 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1852:
++#line 12023 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.num)= (int) KILL_HARD_BIT; }
++#line 31471 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1853:
++#line 12024 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.num)= (int) KILL_HARD_BIT; }
++#line 31477 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1854:
++#line 12025 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.num)= 0; }
++#line 31483 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1855:
++#line 12028 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.num)= (int) KILL_CONNECTION; }
++#line 31489 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1856:
++#line 12029 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.num)= (int) KILL_CONNECTION; }
++#line 31495 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1857:
++#line 12030 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.num)= (int) KILL_QUERY; }
++#line 31501 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1858:
++#line 12035 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++          Lex->value_list.push_front((yyval.item));
++          Lex->kill_type= KILL_TYPE_ID;
++         }
++#line 31510 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1859:
++#line 12040 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            Lex->users_list.push_back((yyvsp[0].lex_user));
++            Lex->kill_type= KILL_TYPE_USER;
++          }
++#line 31519 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1860:
++#line 12050 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex=Lex;
++            lex->sql_command=SQLCOM_CHANGE_DB;
++            lex->select_lex.db= (yyvsp[0].lex_str).str;
++          }
++#line 31529 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1861:
++#line 12061 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex= thd->lex;
++
++            if (lex->sphead)
++            {
++              my_error(ER_SP_BADSTATEMENT, MYF(0), 
++                       (yyvsp[0].filetype) == FILETYPE_CSV ? "LOAD DATA" : "LOAD XML");
++              MYSQL_YYABORT;
++            }
++          }
++#line 31544 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1862:
++#line 12072 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex=Lex;
++            lex->sql_command= SQLCOM_LOAD;
++            lex->local_file=  (yyvsp[-2].num);
++            lex->duplicates= DUP_ERROR;
++            lex->ignore= 0;
++            if (!(lex->exchange= new sql_exchange((yyvsp[0].lex_str).str, 0, (yyvsp[-5].filetype))))
++              MYSQL_YYABORT;
++          }
++#line 31558 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1863:
++#line 12082 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex=Lex;
++            if (!Select->add_table_to_list(thd, (yyvsp[0].table), NULL, TL_OPTION_UPDATING,
++                                           (yyvsp[-8].lock_type), MDL_SHARED_WRITE))
++              MYSQL_YYABORT;
++            lex->field_list.empty();
++            lex->update_list.empty();
++            lex->value_list.empty();
++          }
++#line 31572 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1864:
++#line 12092 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Lex->exchange->cs= (yyvsp[0].charset); }
++#line 31578 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1865:
++#line 12096 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 31584 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1866:
++#line 12100 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.filetype)= FILETYPE_CSV; }
++#line 31590 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1867:
++#line 12101 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.filetype)= FILETYPE_XML; }
++#line 31596 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1868:
++#line 12105 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.num)=0;}
++#line 31602 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1869:
++#line 12106 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.num)=1;}
++#line 31608 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1870:
++#line 12110 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.lock_type)= TL_WRITE_DEFAULT; }
++#line 31614 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1871:
++#line 12112 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            /*
++              Ignore this option in SP to avoid problem with query cache and
++              triggers with non default priority locks
++            */
++            (yyval.lock_type)= (Lex->sphead ? TL_WRITE_DEFAULT : TL_WRITE_CONCURRENT_INSERT);
++          }
++#line 31626 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1872:
++#line 12119 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.lock_type)= TL_WRITE_LOW_PRIORITY; }
++#line 31632 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1873:
++#line 12123 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Lex->duplicates=DUP_ERROR; }
++#line 31638 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1874:
++#line 12124 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Lex->duplicates=DUP_REPLACE; }
++#line 31644 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1875:
++#line 12125 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Lex->ignore= 1; }
++#line 31650 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1880:
++#line 12140 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            DBUG_ASSERT(Lex->exchange != 0);
++            Lex->exchange->field_term= (yyvsp[0].string);
++          }
++#line 31659 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1881:
++#line 12145 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex= Lex;
++            DBUG_ASSERT(lex->exchange != 0);
++            lex->exchange->enclosed= (yyvsp[0].string);
++            lex->exchange->opt_enclosed= 1;
++          }
++#line 31670 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1882:
++#line 12152 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            DBUG_ASSERT(Lex->exchange != 0);
++            Lex->exchange->enclosed= (yyvsp[0].string);
++          }
++#line 31679 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1883:
++#line 12157 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            DBUG_ASSERT(Lex->exchange != 0);
++            Lex->exchange->escaped= (yyvsp[0].string);
++          }
++#line 31688 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1888:
++#line 12175 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            DBUG_ASSERT(Lex->exchange != 0);
++            Lex->exchange->line_term= (yyvsp[0].string);
++          }
++#line 31697 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1889:
++#line 12180 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            DBUG_ASSERT(Lex->exchange != 0);
++            Lex->exchange->line_start= (yyvsp[0].string);
++          }
++#line 31706 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1890:
++#line 12187 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { }
++#line 31712 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1891:
++#line 12189 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Lex->exchange->line_term = (yyvsp[0].string); }
++#line 31718 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1893:
++#line 12194 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            DBUG_ASSERT(Lex->exchange != 0);
++            Lex->exchange->skip_lines= atol((yyvsp[-1].lex_str).str);
++          }
++#line 31727 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1894:
++#line 12201 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { }
++#line 31733 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1895:
++#line 12203 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { }
++#line 31739 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1896:
++#line 12207 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 31745 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1897:
++#line 12208 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 31751 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1898:
++#line 12209 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 31757 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1899:
++#line 12214 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Lex->field_list.push_back((yyvsp[0].item)); }
++#line 31763 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1900:
++#line 12216 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Lex->field_list.push_back((yyvsp[0].item)); }
++#line 31769 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1901:
++#line 12220 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {(yyval.item)= (yyvsp[0].item);}
++#line 31775 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1902:
++#line 12222 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            (yyval.item)= new (thd->mem_root) Item_user_var_as_out_param((yyvsp[0].lex_str));
++            if ((yyval.item) == NULL)
++              MYSQL_YYABORT;
++          }
++#line 31785 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1903:
++#line 12230 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 31791 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1904:
++#line 12231 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 31797 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1907:
++#line 12241 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex= Lex;
++            if (lex->update_list.push_back((yyvsp[-4].item)) || 
++                lex->value_list.push_back((yyvsp[-1].item)))
++                MYSQL_YYABORT;
++            (yyvsp[-1].item)->set_name_no_truncate((yyvsp[-2].simple_string), (uint) ((yyvsp[0].simple_string) - (yyvsp[-2].simple_string)), thd->charset());
++          }
++#line 31809 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1908:
++#line 12254 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX_STRING tmp;
++            CHARSET_INFO *cs_con= thd->variables.collation_connection;
++            CHARSET_INFO *cs_cli= thd->variables.character_set_client;
++            uint repertoire= thd->lex->text_string_is_7bit &&
++                             my_charset_is_ascii_based(cs_cli) ?
++                             MY_REPERTOIRE_ASCII : MY_REPERTOIRE_UNICODE30;
++            if (thd->charset_is_collation_connection ||
++                (repertoire == MY_REPERTOIRE_ASCII &&
++                 my_charset_is_ascii_based(cs_con)))
++              tmp= (yyvsp[0].lex_str);
++            else
++            {
++              if (thd->convert_string(&tmp, cs_con, (yyvsp[0].lex_str).str, (yyvsp[0].lex_str).length, cs_cli))
++                MYSQL_YYABORT;
++            }
++            (yyval.item)= new (thd->mem_root) Item_string(tmp.str, tmp.length, cs_con,
++                                                DERIVATION_COERCIBLE,
++                                                repertoire);
++            if ((yyval.item) == NULL)
++              MYSQL_YYABORT;
++          }
++#line 31836 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1909:
++#line 12277 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            uint repertoire= Lex->text_string_is_7bit ?
++                             MY_REPERTOIRE_ASCII : MY_REPERTOIRE_UNICODE30;
++            DBUG_ASSERT(my_charset_is_ascii_based(national_charset_info));
++            (yyval.item)= new (thd->mem_root) Item_string((yyvsp[0].lex_str).str, (yyvsp[0].lex_str).length,
++                                                  national_charset_info,
++                                                  DERIVATION_COERCIBLE,
++                                                  repertoire);
++            if ((yyval.item) == NULL)
++              MYSQL_YYABORT;
++          }
++#line 31852 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1910:
++#line 12289 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            Item_string *str= new (thd->mem_root) Item_string((yyvsp[0].lex_str).str,
++                                                                (yyvsp[0].lex_str).length, (yyvsp[-1].charset));
++            if (str == NULL)
++              MYSQL_YYABORT;
++            str->set_repertoire_from_value();
++            str->set_cs_specified(TRUE);
++
++            (yyval.item)= str;
++          }
++#line 31867 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1911:
++#line 12300 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            Item_string* item= (Item_string*) (yyvsp[-1].item);
++            item->append((yyvsp[0].lex_str).str, (yyvsp[0].lex_str).length);
++            if (!(item->collation.repertoire & MY_REPERTOIRE_EXTENDED))
++            {
++              /*
++                 If the string has been pure ASCII so far,
++                 check the new part.
++              */
++              CHARSET_INFO *cs= thd->variables.collation_connection;
++              item->collation.repertoire|= my_string_repertoire(cs,
++                                                                (yyvsp[0].lex_str).str,
++                                                                (yyvsp[0].lex_str).length);
++            }
++          }
++#line 31887 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1912:
++#line 12319 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            (yyval.string)= new (thd->mem_root) String((yyvsp[0].lex_str).str,
++                                             (yyvsp[0].lex_str).length,
++                                             thd->variables.collation_connection);
++            if ((yyval.string) == NULL)
++              MYSQL_YYABORT;
++          }
++#line 31899 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1913:
++#line 12327 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            Item *tmp= new (thd->mem_root) Item_hex_hybrid((yyvsp[0].lex_str).str, (yyvsp[0].lex_str).length);
++            if (tmp == NULL)
++              MYSQL_YYABORT;
++            /*
++              it is OK only emulate fix_fields, because we need only
++              value of constant
++            */
++            tmp->quick_fix_field();
++            (yyval.string)= tmp->val_str((String*) 0);
++          }
++#line 31915 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1914:
++#line 12339 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            Item *tmp= new (thd->mem_root) Item_hex_string((yyvsp[0].lex_str).str, (yyvsp[0].lex_str).length);
++            if (tmp == NULL)
++              MYSQL_YYABORT;
++            tmp->quick_fix_field();
++            (yyval.string)= tmp->val_str((String*) 0);
++          }
++#line 31927 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1915:
++#line 12347 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            Item *tmp= new (thd->mem_root) Item_bin_string((yyvsp[0].lex_str).str, (yyvsp[0].lex_str).length);
++            if (tmp == NULL)
++              MYSQL_YYABORT;
++            /*
++              it is OK only emulate fix_fields, because we need only
++              value of constant
++            */
++            tmp->quick_fix_field();
++            (yyval.string)= tmp->val_str((String*) 0);
++          }
++#line 31943 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1916:
++#line 12362 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex= thd->lex;
++            Lex_input_stream *lip= YYLIP;
++            Item_param *item;
++            if (! lex->parsing_options.allows_variable)
++            {
++              my_error(ER_VIEW_SELECT_VARIABLE, MYF(0));
++              MYSQL_YYABORT;
++            }
++            item= new (thd->mem_root) Item_param((uint) (lip->get_tok_start() - thd->query()));
++            if (!((yyval.item)= item) || lex->param_list.push_back(item))
++            {
++              my_message(ER_OUT_OF_RESOURCES, ER(ER_OUT_OF_RESOURCES), MYF(0));
++              MYSQL_YYABORT;
++            }
++          }
++#line 31964 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1917:
++#line 12381 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.item) = (yyvsp[0].item); }
++#line 31970 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1918:
++#line 12382 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.item) = (yyvsp[0].item_num); }
++#line 31976 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1919:
++#line 12384 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            (yyvsp[0].item_num)->max_length++;
++            (yyval.item)= (yyvsp[0].item_num)->neg();
++          }
++#line 31985 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1920:
++#line 12391 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.item) = (yyvsp[0].item); }
++#line 31991 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1921:
++#line 12392 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.item) = (yyvsp[0].item_num); }
++#line 31997 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1922:
++#line 12394 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            (yyval.item) = new (thd->mem_root) Item_null();
++            if ((yyval.item) == NULL)
++              MYSQL_YYABORT;
++            YYLIP->next_state= MY_LEX_OPERATOR_OR_IDENT;
++          }
++#line 32008 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1923:
++#line 12401 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            (yyval.item)= new (thd->mem_root) Item_int((char*) "FALSE",0,1);
++            if ((yyval.item) == NULL)
++              MYSQL_YYABORT;
++          }
++#line 32018 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1924:
++#line 12407 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            (yyval.item)= new (thd->mem_root) Item_int((char*) "TRUE",1,1);
++            if ((yyval.item) == NULL)
++              MYSQL_YYABORT;
++          }
++#line 32028 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1925:
++#line 12413 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            (yyval.item) = new (thd->mem_root) Item_hex_hybrid((yyvsp[0].lex_str).str, (yyvsp[0].lex_str).length);
++            if ((yyval.item) == NULL)
++              MYSQL_YYABORT;
++          }
++#line 32038 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1926:
++#line 12419 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            (yyval.item) = new (thd->mem_root) Item_hex_string((yyvsp[0].lex_str).str, (yyvsp[0].lex_str).length);
++            if ((yyval.item) == NULL)
++              MYSQL_YYABORT;
++          }
++#line 32048 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1927:
++#line 12425 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            (yyval.item)= new (thd->mem_root) Item_bin_string((yyvsp[0].lex_str).str, (yyvsp[0].lex_str).length);
++            if ((yyval.item) == NULL)
++              MYSQL_YYABORT;
++          }
++#line 32058 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1928:
++#line 12431 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            Item *tmp= new (thd->mem_root) Item_hex_string((yyvsp[0].lex_str).str, (yyvsp[0].lex_str).length);
++            if (tmp == NULL)
++              MYSQL_YYABORT;
++            /*
++              it is OK only emulate fix_fieds, because we need only
++              value of constant
++            */
++            tmp->quick_fix_field();
++            String *str= tmp->val_str((String*) 0);
++
++            Item_string *item_str;
++            item_str= new (thd->mem_root)
++                        Item_string(NULL, /* name will be set in select_item */
++                                    str ? str->ptr() : "",
++                                    str ? str->length() : 0,
++                                    (yyvsp[-1].charset));
++            if (!item_str ||
++                !item_str->check_well_formed_result(&item_str->str_value, TRUE))
++            {
++              MYSQL_YYABORT;
++            }
++
++            item_str->set_repertoire_from_value();
++            item_str->set_cs_specified(TRUE);
++
++            (yyval.item)= item_str;
++          }
++#line 32091 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1929:
++#line 12460 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            Item *tmp= new (thd->mem_root) Item_bin_string((yyvsp[0].lex_str).str, (yyvsp[0].lex_str).length);
++            if (tmp == NULL)
++              MYSQL_YYABORT;
++            /*
++              it is OK only emulate fix_fieds, because we need only
++              value of constant
++            */
++            tmp->quick_fix_field();
++            String *str= tmp->val_str((String*) 0);
++
++            Item_string *item_str;
++            item_str= new (thd->mem_root)
++                        Item_string(NULL, /* name will be set in select_item */
++                                    str ? str->ptr() : "",
++                                    str ? str->length() : 0,
++                                    (yyvsp[-1].charset));
++            if (!item_str ||
++                !item_str->check_well_formed_result(&item_str->str_value, TRUE))
++            {
++              MYSQL_YYABORT;
++            }
++
++            item_str->set_cs_specified(TRUE);
++
++            (yyval.item)= item_str;
++          }
++#line 32123 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1930:
++#line 12487 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.item) = (yyvsp[0].item); }
++#line 32129 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1931:
++#line 12488 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.item) = (yyvsp[0].item); }
++#line 32135 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1932:
++#line 12489 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.item) = (yyvsp[0].item); }
++#line 32141 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1933:
++#line 12494 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            int error;
++            (yyval.item_num)= new (thd->mem_root)
++                  Item_int((yyvsp[0].lex_str).str,
++                           (longlong) my_strtoll10((yyvsp[0].lex_str).str, NULL, &error),
++                           (yyvsp[0].lex_str).length);
++            if ((yyval.item_num) == NULL)
++              MYSQL_YYABORT;
++          }
++#line 32155 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1934:
++#line 12504 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            int error;
++            (yyval.item_num)= new (thd->mem_root)
++                  Item_int((yyvsp[0].lex_str).str,
++                           (longlong) my_strtoll10((yyvsp[0].lex_str).str, NULL, &error),
++                           (yyvsp[0].lex_str).length);
++            if ((yyval.item_num) == NULL)
++              MYSQL_YYABORT;
++          }
++#line 32169 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1935:
++#line 12514 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            (yyval.item_num)= new (thd->mem_root) Item_uint((yyvsp[0].lex_str).str, (yyvsp[0].lex_str).length);
++            if ((yyval.item_num) == NULL)
++              MYSQL_YYABORT;
++          }
++#line 32179 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1936:
++#line 12520 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            (yyval.item_num)= new (thd->mem_root) Item_decimal((yyvsp[0].lex_str).str, (yyvsp[0].lex_str).length,
++                                                   thd->charset());
++            if (((yyval.item_num) == NULL) || (thd->is_error()))
++            {
++              MYSQL_YYABORT;
++            }
++          }
++#line 32192 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1937:
++#line 12529 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            (yyval.item_num)= new (thd->mem_root) Item_float((yyvsp[0].lex_str).str, (yyvsp[0].lex_str).length);
++            if (((yyval.item_num) == NULL) || (thd->is_error()))
++            {
++              MYSQL_YYABORT;
++            }
++          }
++#line 32204 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1938:
++#line 12543 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.item)=(yyvsp[0].item); }
++#line 32210 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1939:
++#line 12544 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.item)=(yyvsp[0].item); }
++#line 32216 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1940:
++#line 12549 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            SELECT_LEX *sel= Select;
++            (yyval.item)= new (thd->mem_root) Item_field(Lex->current_context(),
++                                                 NullS, (yyvsp[-2].lex_str).str, "*");
++            if ((yyval.item) == NULL)
++              MYSQL_YYABORT;
++            sel->with_wild++;
++          }
++#line 32229 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1941:
++#line 12558 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            SELECT_LEX *sel= Select;
++            const char* schema= thd->client_capabilities & CLIENT_NO_SCHEMA ?
++                                  NullS : (yyvsp[-4].lex_str).str;
++            (yyval.item)= new (thd->mem_root) Item_field(Lex->current_context(),
++                                               schema,
++                                               (yyvsp[-2].lex_str).str,"*");
++            if ((yyval.item) == NULL)
++              MYSQL_YYABORT;
++            sel->with_wild++;
++          }
++#line 32245 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1942:
++#line 12572 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.item)=(yyvsp[0].item); }
++#line 32251 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1943:
++#line 12577 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex= thd->lex;
++            Lex_input_stream *lip= YYLIP;
++            sp_variable_t *spv;
++            sp_pcontext *spc = lex->spcont;
++            if (spc && (spv = spc->find_variable(&(yyvsp[0].lex_str))))
++            {
++              /* We're compiling a stored procedure and found a variable */
++              if (! lex->parsing_options.allows_variable)
++              {
++                my_error(ER_VIEW_SELECT_VARIABLE, MYF(0));
++                MYSQL_YYABORT;
++              }
++
++              Item_splocal *splocal;
++              splocal= new (thd->mem_root)
++                         Item_splocal((yyvsp[0].lex_str), spv->offset, spv->type,
++                                      lip->get_tok_start_prev() - lex->sphead->m_tmp_query,
++                                      lip->get_tok_end() - lip->get_tok_start_prev());
++              if (splocal == NULL)
++                MYSQL_YYABORT;
++#ifndef DBUG_OFF
++              splocal->m_sp= lex->sphead;
++#endif
++              (yyval.item)= splocal;
++              lex->safe_to_cache_query=0;
++            }
++            else
++            {
++              SELECT_LEX *sel=Select;
++              if ((sel->parsing_place != IN_HAVING) ||
++                  (sel->get_in_sum_expr() > 0))
++              {
++                (yyval.item)= new (thd->mem_root) Item_field(Lex->current_context(),
++                                                   NullS, NullS, (yyvsp[0].lex_str).str);
++              }
++              else
++              {
++                (yyval.item)= new (thd->mem_root) Item_ref(Lex->current_context(),
++                                                 NullS, NullS, (yyvsp[0].lex_str).str);
++              }
++              if ((yyval.item) == NULL)
++                MYSQL_YYABORT;
++            }
++          }
++#line 32301 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1944:
++#line 12622 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.item)= (yyvsp[0].item); }
++#line 32307 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1945:
++#line 12627 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            SELECT_LEX *sel=Select;
++            if ((sel->parsing_place != IN_HAVING) ||
++                (sel->get_in_sum_expr() > 0))
++            {
++              (yyval.item)= new (thd->mem_root) Item_field(Lex->current_context(),
++                                                 NullS, NullS, (yyvsp[0].lex_str).str);
++            }
++            else
++            {
++              (yyval.item)= new (thd->mem_root) Item_ref(Lex->current_context(),
++                                               NullS, NullS, (yyvsp[0].lex_str).str);
++            }
++            if ((yyval.item) == NULL)
++              MYSQL_YYABORT;
++          }
++#line 32328 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1946:
++#line 12643 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.item)= (yyvsp[0].item); }
++#line 32334 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1947:
++#line 12648 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex= thd->lex;
++
++            /*
++              FIXME This will work ok in simple_ident_nospvar case because
++              we can't meet simple_ident_nospvar in trigger now. But it
++              should be changed in future.
++            */
++            if (lex->sphead && lex->sphead->m_type == TYPE_ENUM_TRIGGER &&
++                (!my_strcasecmp(system_charset_info, (yyvsp[-2].lex_str).str, "NEW") ||
++                 !my_strcasecmp(system_charset_info, (yyvsp[-2].lex_str).str, "OLD")))
++            {
++              Item_trigger_field *trg_fld;
++              bool new_row= ((yyvsp[-2].lex_str).str[0]=='N' || (yyvsp[-2].lex_str).str[0]=='n');
++
++              if (lex->trg_chistics.event == TRG_EVENT_INSERT &&
++                  !new_row)
++              {
++                my_error(ER_TRG_NO_SUCH_ROW_IN_TRG, MYF(0), "OLD", "on INSERT");
++                MYSQL_YYABORT;
++              }
++
++              if (lex->trg_chistics.event == TRG_EVENT_DELETE &&
++                  new_row)
++              {
++                my_error(ER_TRG_NO_SUCH_ROW_IN_TRG, MYF(0), "NEW", "on DELETE");
++                MYSQL_YYABORT;
++              }
++
++              DBUG_ASSERT(!new_row ||
++                          (lex->trg_chistics.event == TRG_EVENT_INSERT ||
++                           lex->trg_chistics.event == TRG_EVENT_UPDATE));
++              const bool read_only=
++                !(new_row && lex->trg_chistics.action_time == TRG_ACTION_BEFORE);
++              trg_fld= new (thd->mem_root)
++                         Item_trigger_field(Lex->current_context(),
++                                            new_row ?
++                                              Item_trigger_field::NEW_ROW:
++                                              Item_trigger_field::OLD_ROW,
++                                            (yyvsp[0].lex_str).str,
++                                            SELECT_ACL,
++                                            read_only);
++              if (trg_fld == NULL)
++                MYSQL_YYABORT;
++
++              /*
++                Let us add this item to list of all Item_trigger_field objects
++                in trigger.
++              */
++              lex->trg_table_fields.link_in_list(trg_fld,
++                                                 &trg_fld->next_trg_field);
++
++              (yyval.item)= trg_fld;
++            }
++            else
++            {
++              SELECT_LEX *sel= lex->current_select;
++              if (sel->no_table_names_allowed)
++              {
++                my_error(ER_TABLENAME_NOT_ALLOWED_HERE,
++                         MYF(0), (yyvsp[-2].lex_str).str, thd->where);
++              }
++              if ((sel->parsing_place != IN_HAVING) ||
++                  (sel->get_in_sum_expr() > 0))
++              {
++                (yyval.item)= new (thd->mem_root) Item_field(Lex->current_context(),
++                                                   NullS, (yyvsp[-2].lex_str).str, (yyvsp[0].lex_str).str);
++              }
++              else
++              {
++                (yyval.item)= new (thd->mem_root) Item_ref(Lex->current_context(),
++                                                 NullS, (yyvsp[-2].lex_str).str, (yyvsp[0].lex_str).str);
++              }
++              if ((yyval.item) == NULL)
++                MYSQL_YYABORT;
++            }
++          }
++#line 32416 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1948:
++#line 12726 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex= thd->lex;
++            SELECT_LEX *sel= lex->current_select;
++            if (sel->no_table_names_allowed)
++            {
++              my_error(ER_TABLENAME_NOT_ALLOWED_HERE,
++                       MYF(0), (yyvsp[-2].lex_str).str, thd->where);
++            }
++            if ((sel->parsing_place != IN_HAVING) ||
++                (sel->get_in_sum_expr() > 0))
++            {
++              (yyval.item)= new (thd->mem_root) Item_field(Lex->current_context(),
++                                                 NullS, (yyvsp[-2].lex_str).str, (yyvsp[0].lex_str).str);
++
++            }
++            else
++            {
++              (yyval.item)= new (thd->mem_root) Item_ref(Lex->current_context(),
++                                               NullS, (yyvsp[-2].lex_str).str, (yyvsp[0].lex_str).str);
++            }
++            if ((yyval.item) == NULL)
++              MYSQL_YYABORT;
++          }
++#line 32444 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1949:
++#line 12750 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex= thd->lex;
++            SELECT_LEX *sel= lex->current_select;
++            const char* schema= (thd->client_capabilities & CLIENT_NO_SCHEMA ?
++                                 NullS : (yyvsp[-4].lex_str).str);
++            if (sel->no_table_names_allowed)
++            {
++              my_error(ER_TABLENAME_NOT_ALLOWED_HERE,
++                       MYF(0), (yyvsp[-2].lex_str).str, thd->where);
++            }
++            if ((sel->parsing_place != IN_HAVING) ||
++                (sel->get_in_sum_expr() > 0))
++            {
++              (yyval.item)= new (thd->mem_root) Item_field(Lex->current_context(),
++                                                 schema,
++                                                 (yyvsp[-2].lex_str).str, (yyvsp[0].lex_str).str);
++            }
++            else
++            {
++              (yyval.item)= new (thd->mem_root) Item_ref(Lex->current_context(),
++                                               schema,
++                                               (yyvsp[-2].lex_str).str, (yyvsp[0].lex_str).str);
++            }
++            if ((yyval.item) == NULL)
++              MYSQL_YYABORT;
++          }
++#line 32475 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1950:
++#line 12779 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.lex_str)=(yyvsp[0].lex_str);}
++#line 32481 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1951:
++#line 12781 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            TABLE_LIST *table= Select->table_list.first;
++            if (my_strcasecmp(table_alias_charset, (yyvsp[-4].lex_str).str, table->db))
++            {
++              my_error(ER_WRONG_DB_NAME, MYF(0), (yyvsp[-4].lex_str).str);
++              MYSQL_YYABORT;
++            }
++            if (my_strcasecmp(table_alias_charset, (yyvsp[-2].lex_str).str,
++                              table->table_name))
++            {
++              my_error(ER_WRONG_TABLE_NAME, MYF(0), (yyvsp[-2].lex_str).str);
++              MYSQL_YYABORT;
++            }
++            (yyval.lex_str)=(yyvsp[0].lex_str);
++          }
++#line 32501 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1952:
++#line 12797 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            TABLE_LIST *table= Select->table_list.first;
++            if (my_strcasecmp(table_alias_charset, (yyvsp[-2].lex_str).str, table->alias))
++            {
++              my_error(ER_WRONG_TABLE_NAME, MYF(0), (yyvsp[-2].lex_str).str);
++              MYSQL_YYABORT;
++            }
++            (yyval.lex_str)=(yyvsp[0].lex_str);
++          }
++#line 32515 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1953:
++#line 12806 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.lex_str)=(yyvsp[0].lex_str);}
++#line 32521 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1954:
++#line 12811 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            (yyval.table)= new Table_ident((yyvsp[0].lex_str));
++            if ((yyval.table) == NULL)
++              MYSQL_YYABORT;
++          }
++#line 32531 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1955:
++#line 12817 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            (yyval.table)= new Table_ident(thd, (yyvsp[-2].lex_str),(yyvsp[0].lex_str),0);
++            if ((yyval.table) == NULL)
++              MYSQL_YYABORT;
++          }
++#line 32541 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1956:
++#line 12823 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            /* For Delphi */
++            (yyval.table)= new Table_ident((yyvsp[0].lex_str));
++            if ((yyval.table) == NULL)
++              MYSQL_YYABORT;
++          }
++#line 32552 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1957:
++#line 12833 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            (yyval.table)= new Table_ident((yyvsp[-1].lex_str));
++            if ((yyval.table) == NULL)
++              MYSQL_YYABORT;
++          }
++#line 32562 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1958:
++#line 12839 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            (yyval.table)= new Table_ident(thd, (yyvsp[-3].lex_str),(yyvsp[-1].lex_str),0);
++            if ((yyval.table) == NULL)
++              MYSQL_YYABORT;
++          }
++#line 32572 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1959:
++#line 12848 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX_STRING db={(char*) any_db,3};
++            (yyval.table)= new Table_ident(thd, db,(yyvsp[0].lex_str),0);
++            if ((yyval.table) == NULL)
++              MYSQL_YYABORT;
++          }
++#line 32583 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1960:
++#line 12857 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.lex_str)= (yyvsp[0].lex_str); }
++#line 32589 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1961:
++#line 12859 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            if (thd->charset_is_system_charset)
++            {
++              CHARSET_INFO *cs= system_charset_info;
++              int dummy_error;
++              uint wlen= cs->cset->well_formed_len(cs, (yyvsp[0].lex_str).str,
++                                                   (yyvsp[0].lex_str).str+(yyvsp[0].lex_str).length,
++                                                   (yyvsp[0].lex_str).length, &dummy_error);
++              if (wlen < (yyvsp[0].lex_str).length)
++              {
++                ErrConvString err((yyvsp[0].lex_str).str, (yyvsp[0].lex_str).length, &my_charset_bin);
++                my_error(ER_INVALID_CHARACTER_STRING, MYF(0),
++                         cs->csname, err.ptr());
++                MYSQL_YYABORT;
++              }
++              (yyval.lex_str)= (yyvsp[0].lex_str);
++            }
++            else
++            {
++              if (thd->convert_string(&(yyval.lex_str), system_charset_info,
++                                  (yyvsp[0].lex_str).str, (yyvsp[0].lex_str).length, thd->charset()))
++                MYSQL_YYABORT;
++            }
++          }
++#line 32618 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1962:
++#line 12887 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            if (thd->charset_is_system_charset)
++              (yyval.lex_str)= (yyvsp[0].lex_str);
++            else
++            {
++              if (thd->convert_string(&(yyval.lex_str), system_charset_info,
++                                  (yyvsp[0].lex_str).str, (yyvsp[0].lex_str).length, thd->charset()))
++                MYSQL_YYABORT;
++            }
++          }
++#line 32633 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1963:
++#line 12901 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            if (thd->charset_is_collation_connection)
++              (yyval.lex_str)= (yyvsp[0].lex_str);
++            else
++            {
++              if (thd->convert_string(&(yyval.lex_str), thd->variables.collation_connection,
++                                  (yyvsp[0].lex_str).str, (yyvsp[0].lex_str).length, thd->charset()))
++                MYSQL_YYABORT;
++            } 
++          }
++#line 32648 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1964:
++#line 12915 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            if (thd->charset_is_character_set_filesystem)
++              (yyval.lex_str)= (yyvsp[0].lex_str);
++            else
++            {
++              if (thd->convert_string(&(yyval.lex_str),
++                                      thd->variables.character_set_filesystem,
++                                      (yyvsp[0].lex_str).str, (yyvsp[0].lex_str).length, thd->charset()))
++                MYSQL_YYABORT;
++            }
++          }
++#line 32664 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1965:
++#line 12929 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.lex_str)=(yyvsp[0].lex_str); }
++#line 32670 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1966:
++#line 12931 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            (yyval.lex_str).str= thd->strmake((yyvsp[0].symbol).str, (yyvsp[0].symbol).length);
++            if ((yyval.lex_str).str == NULL)
++              MYSQL_YYABORT;
++            (yyval.lex_str).length= (yyvsp[0].symbol).length;
++          }
++#line 32681 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1967:
++#line 12940 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.lex_str)=(yyvsp[0].lex_str); }
++#line 32687 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1968:
++#line 12942 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            (yyval.lex_str).str= thd->strmake((yyvsp[0].symbol).str, (yyvsp[0].symbol).length);
++            if ((yyval.lex_str).str == NULL)
++              MYSQL_YYABORT;
++            (yyval.lex_str).length= (yyvsp[0].symbol).length;
++          }
++#line 32698 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1969:
++#line 12951 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.lex_str)=(yyvsp[0].lex_str);}
++#line 32704 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1970:
++#line 12952 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.lex_str)=(yyvsp[0].lex_str);}
++#line 32710 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1971:
++#line 12953 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.lex_str)=(yyvsp[0].lex_str);}
++#line 32716 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1972:
++#line 12958 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            if (!((yyval.lex_user)=(LEX_USER*) thd->alloc(sizeof(st_lex_user))))
++              MYSQL_YYABORT;
++            (yyval.lex_user)->user = (yyvsp[0].lex_str);
++            (yyval.lex_user)->host.str= (char *) "%";
++            (yyval.lex_user)->host.length= 1;
++            (yyval.lex_user)->password= null_lex_str; 
++            (yyval.lex_user)->plugin= empty_lex_str;
++            (yyval.lex_user)->auth= empty_lex_str;
++
++            if (check_string_char_length(&(yyval.lex_user)->user, ER(ER_USERNAME),
++                                         username_char_length,
++                                         system_charset_info, 0))
++              MYSQL_YYABORT;
++          }
++#line 32736 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1973:
++#line 12974 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            if (!((yyval.lex_user)=(LEX_USER*) thd->alloc(sizeof(st_lex_user))))
++              MYSQL_YYABORT;
++            (yyval.lex_user)->user = (yyvsp[-2].lex_str); (yyval.lex_user)->host=(yyvsp[0].lex_str);
++            (yyval.lex_user)->password= null_lex_str; 
++            (yyval.lex_user)->plugin= empty_lex_str;
++            (yyval.lex_user)->auth= empty_lex_str;
++
++            if (check_string_char_length(&(yyval.lex_user)->user, ER(ER_USERNAME),
++                                         username_char_length,
++                                         system_charset_info, 0) ||
++                check_host_name(&(yyval.lex_user)->host))
++              MYSQL_YYABORT;
++            /*
++              Convert hostname part of username to lowercase.
++              It's OK to use in-place lowercase as long as
++              the character set is utf8.
++            */
++            my_casedn_str(system_charset_info, (yyval.lex_user)->host.str);
++          }
++#line 32761 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1974:
++#line 12995 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            if (!((yyval.lex_user)=(LEX_USER*) thd->alloc(sizeof(st_lex_user))))
++              MYSQL_YYABORT;
++            /* 
++              empty LEX_USER means current_user and 
++              will be handled in the  get_current_user() function
++              later
++            */
++            bzero((yyval.lex_user), sizeof(LEX_USER));
++          }
++#line 32776 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1975:
++#line 13009 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 32782 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1976:
++#line 13010 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 32788 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1977:
++#line 13011 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 32794 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1978:
++#line 13012 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 32800 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1979:
++#line 13013 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 32806 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1980:
++#line 13014 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 32812 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1981:
++#line 13015 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 32818 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1982:
++#line 13016 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 32824 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1983:
++#line 13017 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 32830 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1984:
++#line 13018 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 32836 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1985:
++#line 13019 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 32842 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1986:
++#line 13020 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 32848 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1987:
++#line 13021 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 32854 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1988:
++#line 13022 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 32860 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1989:
++#line 13023 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 32866 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1990:
++#line 13024 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 32872 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1991:
++#line 13025 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 32878 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1992:
++#line 13026 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 32884 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1993:
++#line 13027 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 32890 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1994:
++#line 13028 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 32896 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1995:
++#line 13029 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 32902 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1996:
++#line 13030 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 32908 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1997:
++#line 13031 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 32914 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1998:
++#line 13032 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 32920 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 1999:
++#line 13033 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 32926 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2000:
++#line 13034 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 32932 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2001:
++#line 13035 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 32938 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2002:
++#line 13036 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 32944 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2003:
++#line 13037 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 32950 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2004:
++#line 13038 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 32956 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2005:
++#line 13039 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 32962 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2006:
++#line 13040 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 32968 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2007:
++#line 13041 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 32974 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2008:
++#line 13042 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 32980 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2009:
++#line 13043 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 32986 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2010:
++#line 13044 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 32992 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2011:
++#line 13045 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 32998 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2012:
++#line 13046 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 33004 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2013:
++#line 13047 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 33010 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2014:
++#line 13048 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 33016 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2015:
++#line 13049 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 33022 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2016:
++#line 13050 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 33028 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2017:
++#line 13051 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 33034 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2018:
++#line 13052 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 33040 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2019:
++#line 13053 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 33046 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2020:
++#line 13054 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 33052 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2021:
++#line 13055 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 33058 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2022:
++#line 13056 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 33064 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2023:
++#line 13057 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 33070 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2024:
++#line 13058 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 33076 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2025:
++#line 13059 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 33082 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2026:
++#line 13060 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 33088 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2027:
++#line 13061 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 33094 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2028:
++#line 13062 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 33100 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2029:
++#line 13063 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 33106 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2030:
++#line 13064 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 33112 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2031:
++#line 13065 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 33118 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2032:
++#line 13066 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 33124 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2033:
++#line 13067 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 33130 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2034:
++#line 13077 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 33136 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2035:
++#line 13078 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 33142 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2036:
++#line 13079 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 33148 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2037:
++#line 13080 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 33154 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2038:
++#line 13081 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 33160 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2039:
++#line 13082 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 33166 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2040:
++#line 13083 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 33172 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2041:
++#line 13084 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 33178 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2042:
++#line 13085 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 33184 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2043:
++#line 13086 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 33190 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2044:
++#line 13087 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 33196 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2045:
++#line 13088 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 33202 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2046:
++#line 13089 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 33208 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2047:
++#line 13090 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 33214 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2048:
++#line 13091 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 33220 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2049:
++#line 13092 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 33226 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2050:
++#line 13093 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 33232 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2051:
++#line 13094 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 33238 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2052:
++#line 13095 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 33244 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2053:
++#line 13096 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 33250 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2054:
++#line 13097 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 33256 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2055:
++#line 13098 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 33262 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2056:
++#line 13099 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 33268 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2057:
++#line 13100 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 33274 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2058:
++#line 13101 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 33280 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2059:
++#line 13102 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 33286 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2060:
++#line 13103 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 33292 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2061:
++#line 13104 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 33298 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2062:
++#line 13105 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 33304 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2063:
++#line 13106 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 33310 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2064:
++#line 13107 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 33316 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2065:
++#line 13108 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 33322 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2066:
++#line 13109 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 33328 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2067:
++#line 13110 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 33334 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2068:
++#line 13111 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 33340 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2069:
++#line 13112 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 33346 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2070:
++#line 13113 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 33352 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2071:
++#line 13114 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 33358 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2072:
++#line 13115 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 33364 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2073:
++#line 13116 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 33370 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2074:
++#line 13117 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 33376 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2075:
++#line 13118 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 33382 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2076:
++#line 13119 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 33388 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2077:
++#line 13120 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 33394 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2078:
++#line 13121 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 33400 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2079:
++#line 13122 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 33406 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2080:
++#line 13123 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 33412 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2081:
++#line 13124 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 33418 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2082:
++#line 13125 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 33424 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2083:
++#line 13126 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 33430 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2084:
++#line 13127 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 33436 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2085:
++#line 13128 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 33442 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2086:
++#line 13129 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 33448 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2087:
++#line 13130 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 33454 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2088:
++#line 13131 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 33460 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2089:
++#line 13132 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 33466 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2090:
++#line 13133 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 33472 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2091:
++#line 13134 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 33478 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2092:
++#line 13135 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 33484 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2093:
++#line 13136 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 33490 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2094:
++#line 13137 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 33496 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2095:
++#line 13138 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 33502 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2096:
++#line 13139 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 33508 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2097:
++#line 13140 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 33514 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2098:
++#line 13141 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 33520 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2099:
++#line 13142 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 33526 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2100:
++#line 13143 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 33532 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2101:
++#line 13144 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 33538 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2102:
++#line 13145 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 33544 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2103:
++#line 13146 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 33550 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2104:
++#line 13147 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 33556 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2105:
++#line 13148 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 33562 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2106:
++#line 13149 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 33568 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2107:
++#line 13150 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 33574 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2108:
++#line 13151 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 33580 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2109:
++#line 13152 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 33586 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2110:
++#line 13153 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 33592 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2111:
++#line 13154 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 33598 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2112:
++#line 13155 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 33604 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2113:
++#line 13156 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 33610 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2114:
++#line 13157 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 33616 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2115:
++#line 13158 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 33622 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2116:
++#line 13159 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 33628 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2117:
++#line 13160 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 33634 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2118:
++#line 13161 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 33640 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2119:
++#line 13162 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 33646 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2120:
++#line 13163 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 33652 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2121:
++#line 13164 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 33658 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2122:
++#line 13165 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 33664 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2123:
++#line 13166 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 33670 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2124:
++#line 13167 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 33676 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2125:
++#line 13168 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 33682 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2126:
++#line 13169 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 33688 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2127:
++#line 13170 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 33694 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2128:
++#line 13171 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 33700 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2129:
++#line 13172 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 33706 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2130:
++#line 13173 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 33712 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2131:
++#line 13174 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 33718 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2132:
++#line 13175 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 33724 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2133:
++#line 13176 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 33730 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2134:
++#line 13177 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 33736 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2135:
++#line 13178 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 33742 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2136:
++#line 13179 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 33748 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2137:
++#line 13180 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 33754 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2138:
++#line 13181 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 33760 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2139:
++#line 13182 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 33766 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2140:
++#line 13183 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 33772 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2141:
++#line 13184 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 33778 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2142:
++#line 13185 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 33784 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2143:
++#line 13186 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 33790 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2144:
++#line 13187 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 33796 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2145:
++#line 13188 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 33802 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2146:
++#line 13189 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 33808 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2147:
++#line 13190 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 33814 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2148:
++#line 13191 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 33820 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2149:
++#line 13192 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 33826 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2150:
++#line 13193 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 33832 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2151:
++#line 13194 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 33838 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2152:
++#line 13195 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 33844 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2153:
++#line 13196 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 33850 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2154:
++#line 13197 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 33856 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2155:
++#line 13198 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 33862 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2156:
++#line 13199 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 33868 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2157:
++#line 13200 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 33874 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2158:
++#line 13201 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 33880 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2159:
++#line 13202 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 33886 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2160:
++#line 13203 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 33892 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2161:
++#line 13204 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 33898 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2162:
++#line 13205 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 33904 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2163:
++#line 13206 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 33910 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2164:
++#line 13207 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 33916 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2165:
++#line 13208 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 33922 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2166:
++#line 13209 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 33928 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2167:
++#line 13210 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 33934 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2168:
++#line 13211 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 33940 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2169:
++#line 13212 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 33946 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2170:
++#line 13213 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 33952 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2171:
++#line 13214 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 33958 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2172:
++#line 13215 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 33964 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2173:
++#line 13216 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 33970 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2174:
++#line 13217 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 33976 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2175:
++#line 13218 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 33982 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2176:
++#line 13219 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 33988 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2177:
++#line 13220 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 33994 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2178:
++#line 13221 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 34000 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2179:
++#line 13222 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 34006 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2180:
++#line 13223 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 34012 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2181:
++#line 13224 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 34018 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2182:
++#line 13225 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 34024 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2183:
++#line 13226 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 34030 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2184:
++#line 13227 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 34036 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2185:
++#line 13228 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 34042 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2186:
++#line 13229 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 34048 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2187:
++#line 13230 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 34054 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2188:
++#line 13231 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 34060 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2189:
++#line 13232 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 34066 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2190:
++#line 13233 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 34072 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2191:
++#line 13234 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 34078 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2192:
++#line 13235 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 34084 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2193:
++#line 13236 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 34090 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2194:
++#line 13237 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 34096 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2195:
++#line 13238 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 34102 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2196:
++#line 13239 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 34108 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2197:
++#line 13240 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 34114 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2198:
++#line 13241 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 34120 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2199:
++#line 13242 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 34126 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2200:
++#line 13243 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 34132 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2201:
++#line 13244 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 34138 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2202:
++#line 13245 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 34144 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2203:
++#line 13246 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 34150 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2204:
++#line 13247 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 34156 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2205:
++#line 13248 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 34162 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2206:
++#line 13249 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 34168 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2207:
++#line 13250 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 34174 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2208:
++#line 13251 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 34180 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2209:
++#line 13252 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 34186 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2210:
++#line 13253 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 34192 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2211:
++#line 13254 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 34198 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2212:
++#line 13255 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 34204 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2213:
++#line 13256 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 34210 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2214:
++#line 13257 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 34216 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2215:
++#line 13258 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 34222 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2216:
++#line 13259 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 34228 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2217:
++#line 13260 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 34234 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2218:
++#line 13261 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 34240 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2219:
++#line 13262 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 34246 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2220:
++#line 13263 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 34252 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2221:
++#line 13264 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 34258 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2222:
++#line 13265 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 34264 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2223:
++#line 13266 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 34270 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2224:
++#line 13267 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 34276 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2225:
++#line 13268 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 34282 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2226:
++#line 13269 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 34288 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2227:
++#line 13270 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 34294 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2228:
++#line 13271 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 34300 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2229:
++#line 13272 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 34306 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2230:
++#line 13273 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 34312 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2231:
++#line 13274 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 34318 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2232:
++#line 13275 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 34324 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2233:
++#line 13276 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 34330 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2234:
++#line 13277 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 34336 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2235:
++#line 13278 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 34342 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2236:
++#line 13279 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 34348 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2237:
++#line 13280 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 34354 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2238:
++#line 13281 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 34360 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2239:
++#line 13282 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 34366 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2240:
++#line 13283 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 34372 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2241:
++#line 13284 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 34378 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2242:
++#line 13285 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 34384 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2243:
++#line 13286 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 34390 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2244:
++#line 13287 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 34396 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2245:
++#line 13288 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 34402 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2246:
++#line 13289 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 34408 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2247:
++#line 13290 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 34414 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2248:
++#line 13291 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 34420 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2249:
++#line 13292 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 34426 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2250:
++#line 13293 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 34432 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2251:
++#line 13294 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 34438 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2252:
++#line 13295 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 34444 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2253:
++#line 13296 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 34450 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2254:
++#line 13297 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 34456 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2255:
++#line 13298 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 34462 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2256:
++#line 13299 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 34468 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2257:
++#line 13300 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 34474 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2258:
++#line 13301 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 34480 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2259:
++#line 13302 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 34486 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2260:
++#line 13303 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 34492 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2261:
++#line 13304 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 34498 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2262:
++#line 13305 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 34504 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2263:
++#line 13306 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 34510 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2264:
++#line 13307 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 34516 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2265:
++#line 13308 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 34522 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2266:
++#line 13309 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 34528 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2267:
++#line 13310 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 34534 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2268:
++#line 13311 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 34540 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2269:
++#line 13312 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 34546 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2270:
++#line 13313 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 34552 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2271:
++#line 13314 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 34558 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2272:
++#line 13315 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 34564 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2273:
++#line 13316 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 34570 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2274:
++#line 13317 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 34576 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2275:
++#line 13318 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 34582 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2276:
++#line 13319 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 34588 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2277:
++#line 13320 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 34594 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2278:
++#line 13321 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 34600 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2279:
++#line 13322 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 34606 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2280:
++#line 13323 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 34612 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2281:
++#line 13324 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 34618 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2282:
++#line 13325 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 34624 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2283:
++#line 13326 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 34630 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2284:
++#line 13327 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 34636 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2285:
++#line 13328 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 34642 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2286:
++#line 13329 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 34648 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2287:
++#line 13330 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 34654 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2288:
++#line 13331 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 34660 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2289:
++#line 13332 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 34666 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2290:
++#line 13333 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 34672 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2291:
++#line 13334 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 34678 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2292:
++#line 13335 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 34684 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2293:
++#line 13336 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 34690 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2294:
++#line 13337 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 34696 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2295:
++#line 13338 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 34702 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2296:
++#line 13339 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 34708 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2297:
++#line 13340 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 34714 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2298:
++#line 13341 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 34720 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2299:
++#line 13342 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 34726 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2300:
++#line 13343 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 34732 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2301:
++#line 13344 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 34738 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2302:
++#line 13345 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 34744 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2303:
++#line 13346 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 34750 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2304:
++#line 13347 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 34756 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2305:
++#line 13348 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 34762 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2306:
++#line 13349 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 34768 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2307:
++#line 13350 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 34774 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2308:
++#line 13351 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 34780 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2309:
++#line 13352 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 34786 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2310:
++#line 13353 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 34792 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2311:
++#line 13354 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 34798 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2312:
++#line 13355 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 34804 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2313:
++#line 13356 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 34810 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2314:
++#line 13357 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 34816 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2315:
++#line 13358 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 34822 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2316:
++#line 13359 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 34828 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2317:
++#line 13360 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 34834 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2318:
++#line 13361 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 34840 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2319:
++#line 13362 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 34846 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2320:
++#line 13363 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 34852 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2321:
++#line 13364 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 34858 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2322:
++#line 13365 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 34864 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2323:
++#line 13366 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 34870 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2324:
++#line 13367 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 34876 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2325:
++#line 13368 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 34882 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2326:
++#line 13369 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 34888 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2327:
++#line 13376 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex=Lex;
++            lex->sql_command= SQLCOM_SET_OPTION;
++            mysql_init_select(lex);
++            lex->option_type=OPT_SESSION;
++            lex->var_list.empty();
++            lex->one_shot_set= 0;
++            lex->autocommit= 0;
++          }
++#line 34902 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2328:
++#line 13386 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 34908 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2329:
++#line 13390 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 34914 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2330:
++#line 13391 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 34920 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2333:
++#line 13400 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex= thd->lex;
++            Lex_input_stream *lip= YYLIP;
++
++            if (lex->sphead)
++            {
++              /*
++                If we are in SP we want have own LEX for each assignment.
++                This is mostly because it is hard for several sp_instr_set
++                and sp_instr_set_trigger instructions share one LEX.
++                (Well, it is theoretically possible but adds some extra
++                overhead on preparation for execution stage and IMO less
++                robust).
++
++                QQ: May be we should simply prohibit group assignments in SP?
++              */
++              lex->sphead->reset_lex(thd);
++              lex= thd->lex;
++
++              /* Set new LEX as if we at start of set rule. */
++              lex->sql_command= SQLCOM_SET_OPTION;
++              mysql_init_select(lex);
++              lex->option_type=OPT_SESSION;
++              lex->var_list.empty();
++              lex->one_shot_set= 0;
++              lex->autocommit= 0;
++              lex->sphead->m_tmp_query= lip->get_tok_start();
++            }
++          }
++#line 34954 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2334:
++#line 13430 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex= thd->lex;
++            Lex_input_stream *lip= YYLIP;
++
++            if (lex->sphead)
++            {
++              sp_head *sp= lex->sphead;
++
++              if (!lex->var_list.is_empty())
++              {
++                /*
++                  We have assignment to user or system variable or
++                  option setting, so we should construct sp_instr_stmt
++                  for it.
++                */
++                LEX_STRING qbuff;
++                sp_instr_stmt *i;
++
++                if (!(i= new sp_instr_stmt(sp->instructions(), lex->spcont,
++                                           lex)))
++                  MYSQL_YYABORT;
++
++                /*
++                  Extract the query statement from the tokenizer.  The
++                  end is either lip->ptr, if there was no lookahead,
++                  lip->tok_end otherwise.
++                */
++                if (yychar == YYEMPTY)
++                  qbuff.length= lip->get_ptr() - sp->m_tmp_query;
++                else
++                  qbuff.length= lip->get_tok_end() - sp->m_tmp_query;
++
++                if (!(qbuff.str= (char*) alloc_root(thd->mem_root,
++                                                    qbuff.length + 5)))
++                  MYSQL_YYABORT;
++
++                strmake(strmake(qbuff.str, "SET ", 4), sp->m_tmp_query,
++                        qbuff.length);
++                qbuff.length+= 4;
++                i->m_query= qbuff;
++                if (sp->add_instr(i))
++                  MYSQL_YYABORT;
++              }
++              if (lex->sphead->restore_lex(thd))
++                MYSQL_YYABORT;
++            }
++          }
++#line 35006 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2335:
++#line 13480 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 35012 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2336:
++#line 13481 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.var_type)=OPT_GLOBAL; }
++#line 35018 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2337:
++#line 13482 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.var_type)=OPT_SESSION; }
++#line 35024 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2338:
++#line 13483 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.var_type)=OPT_SESSION; }
++#line 35030 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2339:
++#line 13487 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.num)= OPT_DEFAULT; }
++#line 35036 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2340:
++#line 13488 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Lex->one_shot_set= 1; (yyval.num)= OPT_SESSION; }
++#line 35042 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2341:
++#line 13492 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.var_type)=OPT_SESSION; }
++#line 35048 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2342:
++#line 13493 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.var_type)=OPT_GLOBAL; }
++#line 35054 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2343:
++#line 13494 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.var_type)=OPT_SESSION; }
++#line 35060 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2344:
++#line 13495 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.var_type)=OPT_SESSION; }
++#line 35066 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2345:
++#line 13499 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.var_type)=OPT_DEFAULT; }
++#line 35072 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2346:
++#line 13500 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.var_type)=OPT_GLOBAL; }
++#line 35078 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2347:
++#line 13501 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.var_type)=OPT_SESSION; }
++#line 35084 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2348:
++#line 13502 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.var_type)=OPT_SESSION; }
++#line 35090 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2351:
++#line 13512 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex= Lex;
++            LEX_STRING *name= &(yyvsp[-2].variable).base_name;
++
++            if ((yyvsp[-2].variable).var == trg_new_row_fake_var)
++            {
++              /* We are in trigger and assigning value to field of new row */
++              if ((yyvsp[-3].var_type))
++              {
++                my_parse_error(ER(ER_SYNTAX_ERROR));
++                MYSQL_YYABORT;
++              }
++              if (set_trigger_new_row(thd, name, (yyvsp[0].item)))
++                MYSQL_YYABORT;
++            }
++            else if ((yyvsp[-2].variable).var)
++            {
++              if ((yyvsp[-3].var_type))
++                lex->option_type= (yyvsp[-3].var_type);
++
++              /* It is a system variable. */
++              if (set_system_variable(thd, &(yyvsp[-2].variable), lex->option_type, (yyvsp[0].item)))
++                MYSQL_YYABORT;
++            }
++            else
++            {
++              sp_pcontext *spc= lex->spcont;
++              sp_variable_t *spv= spc->find_variable(name);
++
++              if ((yyvsp[-3].var_type))
++              {
++                my_parse_error(ER(ER_SYNTAX_ERROR));
++                MYSQL_YYABORT;
++              }
++
++              /* It is a local variable. */
++              if (set_local_variable(thd, spv, (yyvsp[0].item)))
++                MYSQL_YYABORT;
++            }
++          }
++#line 35135 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2352:
++#line 13553 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex=Lex;
++            lex->option_type= (yyvsp[-4].var_type);
++            Item *item= new (thd->mem_root) Item_int((int32) (yyvsp[0].tx_isolation));
++            if (item == NULL)
++              MYSQL_YYABORT;
++            set_var *var= new set_var(lex->option_type,
++                                      find_sys_var(thd, "tx_isolation"),
++                                      &null_lex_str,
++                                      item);
++            if (var == NULL)
++              MYSQL_YYABORT;
++            lex->var_list.push_back(var);
++          }
++#line 35154 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2353:
++#line 13571 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            Item_func_set_user_var *item;
++            item= new (thd->mem_root) Item_func_set_user_var((yyvsp[-2].lex_str), (yyvsp[0].item));
++            if (item == NULL)
++              MYSQL_YYABORT;
++            set_var_user *var= new set_var_user(item);
++            if (var == NULL)
++              MYSQL_YYABORT;
++            Lex->var_list.push_back(var);
++          }
++#line 35169 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2354:
++#line 13582 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            struct sys_var_with_base tmp= (yyvsp[-2].variable);
++            /* Lookup if necessary: must be a system variable. */
++            if (tmp.var == NULL)
++            {
++              if (find_sys_var_null_base(thd, &tmp))
++                MYSQL_YYABORT;
++            }
++            if (set_system_variable(thd, &tmp, (yyvsp[-3].var_type), (yyvsp[0].item)))
++              MYSQL_YYABORT;
++          }
++#line 35185 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2355:
++#line 13594 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex= thd->lex;
++            CHARSET_INFO *cs2;
++            cs2= (yyvsp[0].charset) ? (yyvsp[0].charset): global_system_variables.character_set_client;
++            set_var_collation_client *var;
++            var= new set_var_collation_client(cs2,
++                                              thd->variables.collation_database,
++                                              cs2);
++            if (var == NULL)
++              MYSQL_YYABORT;
++            lex->var_list.push_back(var);
++          }
++#line 35202 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2356:
++#line 13607 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex= Lex;
++            sp_pcontext *spc= lex->spcont;
++            LEX_STRING names;
++
++            names.str= (char *)"names";
++            names.length= 5;
++            if (spc && spc->find_variable(&names))
++              my_error(ER_SP_BAD_VAR_SHADOW, MYF(0), names.str);
++            else
++              my_parse_error(ER(ER_SYNTAX_ERROR));
++
++            MYSQL_YYABORT;
++          }
++#line 35221 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2357:
++#line 13622 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex= Lex;
++            CHARSET_INFO *cs2;
++            CHARSET_INFO *cs3;
++            cs2= (yyvsp[-1].charset) ? (yyvsp[-1].charset) : global_system_variables.character_set_client;
++            cs3= (yyvsp[0].charset) ? (yyvsp[0].charset) : cs2;
++            if (!my_charset_same(cs2, cs3))
++            {
++              my_error(ER_COLLATION_CHARSET_MISMATCH, MYF(0),
++                       cs3->name, cs2->csname);
++              MYSQL_YYABORT;
++            }
++            set_var_collation_client *var;
++            var= new set_var_collation_client(cs3, cs3, cs3);
++            if (var == NULL)
++              MYSQL_YYABORT;
++            lex->var_list.push_back(var);
++          }
++#line 35244 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2358:
++#line 13641 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex= thd->lex;
++            LEX_USER *user;
++            sp_pcontext *spc= lex->spcont;
++            LEX_STRING pw;
++
++            pw.str= (char *)"password";
++            pw.length= 8;
++            if (spc && spc->find_variable(&pw))
++            {
++              my_error(ER_SP_BAD_VAR_SHADOW, MYF(0), pw.str);
++              MYSQL_YYABORT;
++            }
++            if (!(user=(LEX_USER*) thd->alloc(sizeof(LEX_USER))))
++              MYSQL_YYABORT;
++            user->host=null_lex_str;
++            user->user.str=thd->security_ctx->user;
++            set_var_password *var= new set_var_password(user, (yyvsp[0].simple_string));
++            if (var == NULL)
++              MYSQL_YYABORT;
++            thd->lex->var_list.push_back(var);
++            thd->lex->autocommit= TRUE;
++            if (lex->sphead)
++              lex->sphead->m_flags|= sp_head::HAS_SET_AUTOCOMMIT_STMT;
++          }
++#line 35274 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2359:
++#line 13667 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            set_var_password *var= new set_var_password((yyvsp[-2].lex_user),(yyvsp[0].simple_string));
++            if (var == NULL)
++              MYSQL_YYABORT;
++            Lex->var_list.push_back(var);
++            Lex->autocommit= TRUE;
++            if (Lex->sphead)
++              Lex->sphead->m_flags|= sp_head::HAS_SET_AUTOCOMMIT_STMT;
++          }
++#line 35288 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2360:
++#line 13680 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            sp_pcontext *spc= thd->lex->spcont;
++            sp_variable_t *spv;
++
++            /* Best effort lookup for system variable. */
++            if (!spc || !(spv = spc->find_variable(&(yyvsp[0].lex_str))))
++            {
++              struct sys_var_with_base tmp= {NULL, (yyvsp[0].lex_str)};
++
++              /* Not an SP local variable */
++              if (find_sys_var_null_base(thd, &tmp))
++                MYSQL_YYABORT;
++
++              (yyval.variable)= tmp;
++            }
++            else
++            {
++              /*
++                Possibly an SP local variable (or a shadowed sysvar).
++                Will depend on the context of the SET statement.
++              */
++              (yyval.variable).var= NULL;
++              (yyval.variable).base_name= (yyvsp[0].lex_str);
++            }
++          }
++#line 35318 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2361:
++#line 13706 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex= Lex;
++            if (check_reserved_words(&(yyvsp[-2].lex_str)))
++            {
++              my_parse_error(ER(ER_SYNTAX_ERROR));
++              MYSQL_YYABORT;
++            }
++            if (lex->sphead && lex->sphead->m_type == TYPE_ENUM_TRIGGER &&
++                (!my_strcasecmp(system_charset_info, (yyvsp[-2].lex_str).str, "NEW") || 
++                 !my_strcasecmp(system_charset_info, (yyvsp[-2].lex_str).str, "OLD")))
++            {
++              if ((yyvsp[-2].lex_str).str[0]=='O' || (yyvsp[-2].lex_str).str[0]=='o')
++              {
++                my_error(ER_TRG_CANT_CHANGE_ROW, MYF(0), "OLD", "");
++                MYSQL_YYABORT;
++              }
++              if (lex->trg_chistics.event == TRG_EVENT_DELETE)
++              {
++                my_error(ER_TRG_NO_SUCH_ROW_IN_TRG, MYF(0),
++                         "NEW", "on DELETE");
++                MYSQL_YYABORT;
++              }
++              if (lex->trg_chistics.action_time == TRG_ACTION_AFTER)
++              {
++                my_error(ER_TRG_CANT_CHANGE_ROW, MYF(0), "NEW", "after ");
++                MYSQL_YYABORT;
++              }
++              /* This special combination will denote field of NEW row */
++              (yyval.variable).var= trg_new_row_fake_var;
++              (yyval.variable).base_name= (yyvsp[0].lex_str);
++            }
++            else
++            {
++              sys_var *tmp=find_sys_var(thd, (yyvsp[0].lex_str).str, (yyvsp[0].lex_str).length);
++              if (!tmp)
++                MYSQL_YYABORT;
++              if (!tmp->is_struct())
++                my_error(ER_VARIABLE_IS_NOT_STRUCT, MYF(0), (yyvsp[0].lex_str).str);
++              (yyval.variable).var= tmp;
++              (yyval.variable).base_name= (yyvsp[-2].lex_str);
++            }
++          }
++#line 35365 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2362:
++#line 13749 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            sys_var *tmp=find_sys_var(thd, (yyvsp[0].lex_str).str, (yyvsp[0].lex_str).length);
++            if (!tmp)
++              MYSQL_YYABORT;
++            if (!tmp->is_struct())
++              my_error(ER_VARIABLE_IS_NOT_STRUCT, MYF(0), (yyvsp[0].lex_str).str);
++            (yyval.variable).var= tmp;
++            (yyval.variable).base_name.str=    (char*) "default";
++            (yyval.variable).base_name.length= 7;
++          }
++#line 35380 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2363:
++#line 13762 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.tx_isolation)= ISO_READ_UNCOMMITTED; }
++#line 35386 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2364:
++#line 13763 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.tx_isolation)= ISO_READ_COMMITTED; }
++#line 35392 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2365:
++#line 13764 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.tx_isolation)= ISO_REPEATABLE_READ; }
++#line 35398 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2366:
++#line 13765 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.tx_isolation)= ISO_SERIALIZABLE; }
++#line 35404 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2367:
++#line 13769 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.simple_string)=(yyvsp[0].lex_str).str;}
++#line 35410 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2368:
++#line 13771 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            (yyval.simple_string)= (yyvsp[-1].lex_str).length ? thd->variables.old_passwords ?
++              Item_func_old_password::alloc(thd, (yyvsp[-1].lex_str).str, (yyvsp[-1].lex_str).length) :
++              Item_func_password::alloc(thd, (yyvsp[-1].lex_str).str, (yyvsp[-1].lex_str).length) :
++              (yyvsp[-1].lex_str).str;
++            if ((yyval.simple_string) == NULL)
++              MYSQL_YYABORT;
++          }
++#line 35423 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2369:
++#line 13780 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            (yyval.simple_string)= (yyvsp[-1].lex_str).length ? Item_func_old_password::alloc(thd, (yyvsp[-1].lex_str).str,
++                                                          (yyvsp[-1].lex_str).length) :
++              (yyvsp[-1].lex_str).str;
++            if ((yyval.simple_string) == NULL)
++              MYSQL_YYABORT;
++          }
++#line 35435 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2370:
++#line 13791 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.item)=(yyvsp[0].item); }
++#line 35441 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2371:
++#line 13792 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.item)=0; }
++#line 35447 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2372:
++#line 13794 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            (yyval.item)=new (thd->mem_root) Item_string("ON",  2, system_charset_info);
++            if ((yyval.item) == NULL)
++              MYSQL_YYABORT;
++          }
++#line 35457 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2373:
++#line 13800 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            (yyval.item)=new (thd->mem_root) Item_string("ALL", 3, system_charset_info);
++            if ((yyval.item) == NULL)
++              MYSQL_YYABORT;
++          }
++#line 35467 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2374:
++#line 13806 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            (yyval.item)=new (thd->mem_root) Item_string("binary", 6, system_charset_info);
++            if ((yyval.item) == NULL)
++              MYSQL_YYABORT;
++          }
++#line 35477 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2375:
++#line 13817 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex= Lex;
++
++            if (lex->sphead)
++            {
++              my_error(ER_SP_BADSTATEMENT, MYF(0), "LOCK");
++              MYSQL_YYABORT;
++            }
++            lex->sql_command= SQLCOM_LOCK_TABLES;
++          }
++#line 35492 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2376:
++#line 13828 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 35498 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2377:
++#line 13832 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { }
++#line 35504 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2378:
++#line 13833 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { }
++#line 35510 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2381:
++#line 13843 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            thr_lock_type lock_type= (thr_lock_type) (yyvsp[0].num);
++            bool lock_for_write= (lock_type >= TL_WRITE_ALLOW_WRITE);
++            if (!Select->add_table_to_list(thd, (yyvsp[-2].table), (yyvsp[-1].lex_str_ptr), 0, lock_type,
++                                           (lock_for_write ?
++                                            lock_type == TL_WRITE_CONCURRENT_INSERT ?
++                                            MDL_SHARED_WRITE :
++                                            MDL_SHARED_NO_READ_WRITE :
++                                            MDL_SHARED_READ)))
++              MYSQL_YYABORT;
++          }
++#line 35526 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2382:
++#line 13857 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.num)= TL_READ_NO_INSERT; }
++#line 35532 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2383:
++#line 13858 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.num)= TL_WRITE_DEFAULT; }
++#line 35538 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2384:
++#line 13860 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            (yyval.num)= (Lex->sphead ? TL_WRITE_DEFAULT : TL_WRITE_CONCURRENT_INSERT);
++          }
++#line 35546 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2385:
++#line 13864 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.num)= TL_WRITE_LOW_PRIORITY; }
++#line 35552 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2386:
++#line 13865 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.num)= TL_READ; }
++#line 35558 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2387:
++#line 13870 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex= Lex;
++
++            if (lex->sphead)
++            {
++              my_error(ER_SP_BADSTATEMENT, MYF(0), "UNLOCK");
++              MYSQL_YYABORT;
++            }
++            lex->sql_command= SQLCOM_UNLOCK_TABLES;
++          }
++#line 35573 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2388:
++#line 13881 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 35579 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2389:
++#line 13890 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex= Lex;
++            if (lex->sphead)
++            {
++              my_error(ER_SP_BADSTATEMENT, MYF(0), "HANDLER");
++              MYSQL_YYABORT;
++            }
++            lex->sql_command = SQLCOM_HA_OPEN;
++            if (!lex->current_select->add_table_to_list(lex->thd, (yyvsp[-2].table), (yyvsp[0].lex_str_ptr), 0))
++              MYSQL_YYABORT;
++          }
++#line 35595 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2390:
++#line 13902 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex= Lex;
++            if (lex->sphead)
++            {
++              my_error(ER_SP_BADSTATEMENT, MYF(0), "HANDLER");
++              MYSQL_YYABORT;
++            }
++            lex->sql_command = SQLCOM_HA_CLOSE;
++            if (!lex->current_select->add_table_to_list(lex->thd, (yyvsp[-1].table), 0, 0))
++              MYSQL_YYABORT;
++          }
++#line 35611 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2391:
++#line 13914 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex=Lex;
++            if (lex->sphead)
++            {
++              my_error(ER_SP_BADSTATEMENT, MYF(0), "HANDLER");
++              MYSQL_YYABORT;
++            }
++            lex->expr_allows_subselect= FALSE;
++            lex->sql_command = SQLCOM_HA_READ;
++            lex->ha_rkey_mode= HA_READ_KEY_EXACT; /* Avoid purify warnings */
++            Item *one= new (thd->mem_root) Item_int((int32) 1);
++            if (one == NULL)
++              MYSQL_YYABORT;
++            lex->current_select->select_limit= one;
++            lex->current_select->offset_limit= 0;
++            lex->limit_rows_examined= 0;
++            if (!lex->current_select->add_table_to_list(lex->thd, (yyvsp[-1].table), 0, 0))
++              MYSQL_YYABORT;
++          }
++#line 35635 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2392:
++#line 13934 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            Lex->expr_allows_subselect= TRUE;
++            /* Stored functions are not supported for HANDLER READ. */
++            if (Lex->uses_stored_routines())
++            {
++              my_error(ER_NOT_SUPPORTED_YET, MYF(0),
++                       "stored functions in HANDLER ... READ");
++              MYSQL_YYABORT;
++            }
++          }
++#line 35650 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2393:
++#line 13947 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Lex->ident= null_lex_str; }
++#line 35656 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2394:
++#line 13948 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Lex->ident= (yyvsp[-1].lex_str); }
++#line 35662 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2395:
++#line 13952 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Lex->ha_read_mode = RFIRST; }
++#line 35668 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2396:
++#line 13953 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Lex->ha_read_mode = RNEXT;  }
++#line 35674 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2397:
++#line 13957 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Lex->ha_read_mode = RFIRST; }
++#line 35680 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2398:
++#line 13958 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Lex->ha_read_mode = RNEXT;  }
++#line 35686 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2399:
++#line 13959 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Lex->ha_read_mode = RPREV;  }
++#line 35692 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2400:
++#line 13960 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Lex->ha_read_mode = RLAST;  }
++#line 35698 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2401:
++#line 13962 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex=Lex;
++            lex->ha_read_mode = RKEY;
++            lex->ha_rkey_mode=(yyvsp[0].ha_rkey_mode);
++            if (!(lex->insert_list = new List_item))
++              MYSQL_YYABORT;
++          }
++#line 35710 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2402:
++#line 13970 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 35716 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2403:
++#line 13974 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.ha_rkey_mode)=HA_READ_KEY_EXACT;   }
++#line 35722 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2404:
++#line 13975 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.ha_rkey_mode)=HA_READ_KEY_OR_NEXT; }
++#line 35728 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2405:
++#line 13976 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.ha_rkey_mode)=HA_READ_KEY_OR_PREV; }
++#line 35734 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2406:
++#line 13977 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.ha_rkey_mode)=HA_READ_AFTER_KEY;   }
++#line 35740 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2407:
++#line 13978 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.ha_rkey_mode)=HA_READ_BEFORE_KEY;  }
++#line 35746 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2408:
++#line 13985 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 35752 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2409:
++#line 13990 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex= Lex;
++            lex->sql_command= SQLCOM_REVOKE;
++            lex->type= 0;
++          }
++#line 35762 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2410:
++#line 13996 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex= Lex;
++            if (lex->columns.elements)
++            {
++              my_parse_error(ER(ER_SYNTAX_ERROR));
++              MYSQL_YYABORT;
++            }
++            lex->sql_command= SQLCOM_REVOKE;
++            lex->type= TYPE_ENUM_FUNCTION;
++          }
++#line 35777 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2411:
++#line 14007 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex= Lex;
++            if (lex->columns.elements)
++            {
++              my_parse_error(ER(ER_SYNTAX_ERROR));
++              MYSQL_YYABORT;
++            }
++            lex->sql_command= SQLCOM_REVOKE;
++            lex->type= TYPE_ENUM_PROCEDURE;
++          }
++#line 35792 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2412:
++#line 14018 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            Lex->sql_command = SQLCOM_REVOKE_ALL;
++          }
++#line 35800 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2413:
++#line 14022 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex= Lex;
++            lex->users_list.push_front ((yyvsp[-2].lex_user));
++            lex->sql_command= SQLCOM_REVOKE;
++            lex->type= TYPE_ENUM_PROXY;
++          }
++#line 35811 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2414:
++#line 14032 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 35817 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2415:
++#line 14038 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex= Lex;
++            lex->sql_command= SQLCOM_GRANT;
++            lex->type= 0;
++          }
++#line 35827 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2416:
++#line 14045 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex= Lex;
++            if (lex->columns.elements)
++            {
++              my_parse_error(ER(ER_SYNTAX_ERROR));
++              MYSQL_YYABORT;
++            }
++            lex->sql_command= SQLCOM_GRANT;
++            lex->type= TYPE_ENUM_FUNCTION;
++          }
++#line 35842 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2417:
++#line 14057 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex= Lex;
++            if (lex->columns.elements)
++            {
++              my_parse_error(ER(ER_SYNTAX_ERROR));
++              MYSQL_YYABORT;
++            }
++            lex->sql_command= SQLCOM_GRANT;
++            lex->type= TYPE_ENUM_PROCEDURE;
++          }
++#line 35857 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2418:
++#line 14068 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex= Lex;
++            lex->users_list.push_front ((yyvsp[-3].lex_user));
++            lex->sql_command= SQLCOM_GRANT;
++            lex->type= TYPE_ENUM_PROXY;
++          }
++#line 35868 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2421:
++#line 14082 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 35874 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2422:
++#line 14084 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { 
++            Lex->all_privileges= 1; 
++            Lex->grant= GLOBAL_ACLS;
++          }
++#line 35883 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2427:
++#line 14102 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Lex->which_columns = SELECT_ACL;}
++#line 35889 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2428:
++#line 14103 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 35895 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2429:
++#line 14105 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Lex->which_columns = INSERT_ACL;}
++#line 35901 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2430:
++#line 14106 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 35907 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2431:
++#line 14108 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Lex->which_columns = UPDATE_ACL; }
++#line 35913 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2432:
++#line 14109 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 35919 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2433:
++#line 14111 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Lex->which_columns = REFERENCES_ACL;}
++#line 35925 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2434:
++#line 14112 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 35931 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2435:
++#line 14113 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Lex->grant |= DELETE_ACL;}
++#line 35937 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2436:
++#line 14114 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 35943 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2437:
++#line 14115 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Lex->grant |= INDEX_ACL;}
++#line 35949 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2438:
++#line 14116 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Lex->grant |= ALTER_ACL;}
++#line 35955 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2439:
++#line 14117 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Lex->grant |= CREATE_ACL;}
++#line 35961 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2440:
++#line 14118 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Lex->grant |= DROP_ACL;}
++#line 35967 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2441:
++#line 14119 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Lex->grant |= EXECUTE_ACL;}
++#line 35973 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2442:
++#line 14120 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Lex->grant |= RELOAD_ACL;}
++#line 35979 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2443:
++#line 14121 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Lex->grant |= SHUTDOWN_ACL;}
++#line 35985 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2444:
++#line 14122 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Lex->grant |= PROCESS_ACL;}
++#line 35991 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2445:
++#line 14123 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Lex->grant |= FILE_ACL;}
++#line 35997 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2446:
++#line 14124 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Lex->grant |= GRANT_ACL;}
++#line 36003 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2447:
++#line 14125 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Lex->grant |= SHOW_DB_ACL;}
++#line 36009 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2448:
++#line 14126 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Lex->grant |= SUPER_ACL;}
++#line 36015 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2449:
++#line 14127 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Lex->grant |= CREATE_TMP_ACL;}
++#line 36021 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2450:
++#line 14128 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Lex->grant |= LOCK_TABLES_ACL; }
++#line 36027 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2451:
++#line 14129 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Lex->grant |= REPL_SLAVE_ACL; }
++#line 36033 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2452:
++#line 14130 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Lex->grant |= REPL_CLIENT_ACL; }
++#line 36039 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2453:
++#line 14131 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Lex->grant |= CREATE_VIEW_ACL; }
++#line 36045 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2454:
++#line 14132 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Lex->grant |= SHOW_VIEW_ACL; }
++#line 36051 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2455:
++#line 14133 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Lex->grant |= CREATE_PROC_ACL; }
++#line 36057 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2456:
++#line 14134 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Lex->grant |= ALTER_PROC_ACL; }
++#line 36063 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2457:
++#line 14135 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Lex->grant |= CREATE_USER_ACL; }
++#line 36069 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2458:
++#line 14136 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Lex->grant |= EVENT_ACL;}
++#line 36075 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2459:
++#line 14137 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Lex->grant |= TRIGGER_ACL; }
++#line 36081 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2460:
++#line 14138 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Lex->grant |= CREATE_TABLESPACE_ACL; }
++#line 36087 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2461:
++#line 14142 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 36093 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2462:
++#line 14143 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 36099 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2465:
++#line 14153 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex=Lex;
++            if (lex->x509_subject)
++            {
++              my_error(ER_DUP_ARGUMENT, MYF(0), "SUBJECT");
++              MYSQL_YYABORT;
++            }
++            lex->x509_subject=(yyvsp[0].lex_str).str;
++          }
++#line 36113 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2466:
++#line 14163 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex=Lex;
++            if (lex->x509_issuer)
++            {
++              my_error(ER_DUP_ARGUMENT, MYF(0), "ISSUER");
++              MYSQL_YYABORT;
++            }
++            lex->x509_issuer=(yyvsp[0].lex_str).str;
++          }
++#line 36127 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2467:
++#line 14173 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex=Lex;
++            if (lex->ssl_cipher)
++            {
++              my_error(ER_DUP_ARGUMENT, MYF(0), "CIPHER");
++              MYSQL_YYABORT;
++            }
++            lex->ssl_cipher=(yyvsp[0].lex_str).str;
++          }
++#line 36141 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2468:
++#line 14186 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex= Lex;
++            size_t dummy;
++            if (lex->copy_db_to(&lex->current_select->db, &dummy))
++              MYSQL_YYABORT;
++            if (lex->grant == GLOBAL_ACLS)
++              lex->grant = DB_ACLS & ~GRANT_ACL;
++            else if (lex->columns.elements)
++            {
++              my_message(ER_ILLEGAL_GRANT_FOR_TABLE,
++                         ER(ER_ILLEGAL_GRANT_FOR_TABLE), MYF(0));
++              MYSQL_YYABORT;
++            }
++          }
++#line 36160 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2469:
++#line 14201 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex= Lex;
++            lex->current_select->db = (yyvsp[-2].lex_str).str;
++            if (lex->grant == GLOBAL_ACLS)
++              lex->grant = DB_ACLS & ~GRANT_ACL;
++            else if (lex->columns.elements)
++            {
++              my_message(ER_ILLEGAL_GRANT_FOR_TABLE,
++                         ER(ER_ILLEGAL_GRANT_FOR_TABLE), MYF(0));
++              MYSQL_YYABORT;
++            }
++          }
++#line 36177 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2470:
++#line 14214 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex= Lex;
++            lex->current_select->db = NULL;
++            if (lex->grant == GLOBAL_ACLS)
++              lex->grant= GLOBAL_ACLS & ~GRANT_ACL;
++            else if (lex->columns.elements)
++            {
++              my_message(ER_ILLEGAL_GRANT_FOR_TABLE,
++                         ER(ER_ILLEGAL_GRANT_FOR_TABLE), MYF(0));
++              MYSQL_YYABORT;
++            }
++          }
++#line 36194 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2471:
++#line 14227 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex=Lex;
++            if (!lex->current_select->add_table_to_list(lex->thd, (yyvsp[0].table),NULL,
++                                                        TL_OPTION_UPDATING))
++              MYSQL_YYABORT;
++            if (lex->grant == GLOBAL_ACLS)
++              lex->grant =  TABLE_ACLS & ~GRANT_ACL;
++          }
++#line 36207 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2472:
++#line 14239 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            if (Lex->users_list.push_back((yyvsp[0].lex_user)))
++              MYSQL_YYABORT;
++          }
++#line 36216 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2473:
++#line 14244 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            if (Lex->users_list.push_back((yyvsp[0].lex_user)))
++              MYSQL_YYABORT;
++          }
++#line 36225 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2474:
++#line 14252 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            if (Lex->users_list.push_back((yyvsp[0].lex_user)))
++              MYSQL_YYABORT;
++          }
++#line 36234 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2475:
++#line 14257 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            if (Lex->users_list.push_back((yyvsp[0].lex_user)))
++              MYSQL_YYABORT;
++          }
++#line 36243 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2480:
++#line 14268 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            (yyval.lex_user)=(yyvsp[-3].lex_user); (yyvsp[-3].lex_user)->password=(yyvsp[0].lex_str);
++            if ((yyvsp[0].lex_str).length)
++            {
++              if (thd->variables.old_passwords)
++              {
++                char *buff= 
++                  (char *) thd->alloc(SCRAMBLED_PASSWORD_CHAR_LENGTH_323+1);
++                if (buff == NULL)
++                  MYSQL_YYABORT;
++                my_make_scrambled_password_323(buff, (yyvsp[0].lex_str).str, (yyvsp[0].lex_str).length);
++                (yyvsp[-3].lex_user)->password.str= buff;
++                (yyvsp[-3].lex_user)->password.length= SCRAMBLED_PASSWORD_CHAR_LENGTH_323;
++              }
++              else
++              {
++                char *buff= 
++                  (char *) thd->alloc(SCRAMBLED_PASSWORD_CHAR_LENGTH+1);
++                if (buff == NULL)
++                  MYSQL_YYABORT;
++                my_make_scrambled_password(buff, (yyvsp[0].lex_str).str, (yyvsp[0].lex_str).length);
++                (yyvsp[-3].lex_user)->password.str= buff;
++                (yyvsp[-3].lex_user)->password.length= SCRAMBLED_PASSWORD_CHAR_LENGTH;
++              }
++            }
++          }
++#line 36274 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2481:
++#line 14295 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { 
++            (yyval.lex_user)= (yyvsp[-4].lex_user); 
++            (yyvsp[-4].lex_user)->password= (yyvsp[0].lex_str); 
++          }
++#line 36283 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2482:
++#line 14300 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            (yyval.lex_user)= (yyvsp[-3].lex_user);
++            (yyvsp[-3].lex_user)->plugin= (yyvsp[0].lex_str);
++            (yyvsp[-3].lex_user)->auth= empty_lex_str;
++          }
++#line 36293 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2483:
++#line 14306 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            (yyval.lex_user)= (yyvsp[-5].lex_user);
++            (yyvsp[-5].lex_user)->plugin= (yyvsp[-2].lex_str);
++            (yyvsp[-5].lex_user)->auth= (yyvsp[0].lex_str);
++          }
++#line 36303 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2484:
++#line 14312 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.lex_user)= (yyvsp[0].lex_user); (yyvsp[0].lex_user)->password= null_lex_str; }
++#line 36309 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2485:
++#line 14317 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex=Lex;
++            lex->grant |= lex->which_columns;
++          }
++#line 36318 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2489:
++#line 14331 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            String *new_str = new (thd->mem_root) String((const char*) (yyvsp[0].lex_str).str,(yyvsp[0].lex_str).length,system_charset_info);
++            if (new_str == NULL)
++              MYSQL_YYABORT;
++            List_iterator <LEX_COLUMN> iter(Lex->columns);
++            class LEX_COLUMN *point;
++            LEX *lex=Lex;
++            while ((point=iter++))
++            {
++              if (!my_strcasecmp(system_charset_info,
++                                 point->column.c_ptr(), new_str->c_ptr()))
++                break;
++            }
++            lex->grant_tot_col|= lex->which_columns;
++            if (point)
++              point->rights |= lex->which_columns;
++            else
++            {
++              LEX_COLUMN *col= new LEX_COLUMN (*new_str,lex->which_columns);
++              if (col == NULL)
++                MYSQL_YYABORT;
++              lex->columns.push_back(col);
++            }
++          }
++#line 36347 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2491:
++#line 14360 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            Lex->ssl_type=SSL_TYPE_SPECIFIED;
++          }
++#line 36355 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2492:
++#line 14364 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            Lex->ssl_type=SSL_TYPE_ANY;
++          }
++#line 36363 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2493:
++#line 14368 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            Lex->ssl_type=SSL_TYPE_X509;
++          }
++#line 36371 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2494:
++#line 14372 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            Lex->ssl_type=SSL_TYPE_NONE;
++          }
++#line 36379 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2495:
++#line 14378 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 36385 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2497:
++#line 14383 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 36391 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2498:
++#line 14384 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Lex->grant |= GRANT_ACL;}
++#line 36397 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2499:
++#line 14388 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 36403 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2500:
++#line 14389 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 36409 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2501:
++#line 14393 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Lex->grant |= GRANT_ACL;}
++#line 36415 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2502:
++#line 14395 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex=Lex;
++            lex->mqh.questions=(yyvsp[0].ulong_num);
++            lex->mqh.specified_limits|= USER_RESOURCES::QUERIES_PER_HOUR;
++          }
++#line 36425 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2503:
++#line 14401 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex=Lex;
++            lex->mqh.updates=(yyvsp[0].ulong_num);
++            lex->mqh.specified_limits|= USER_RESOURCES::UPDATES_PER_HOUR;
++          }
++#line 36435 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2504:
++#line 14407 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex=Lex;
++            lex->mqh.conn_per_hour= (yyvsp[0].ulong_num);
++            lex->mqh.specified_limits|= USER_RESOURCES::CONNECTIONS_PER_HOUR;
++          }
++#line 36445 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2505:
++#line 14413 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex=Lex;
++            lex->mqh.user_conn= (yyvsp[0].num);
++            lex->mqh.specified_limits|= USER_RESOURCES::USER_CONNECTIONS;
++          }
++#line 36455 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2506:
++#line 14422 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex=Lex;
++            lex->sql_command = SQLCOM_BEGIN;
++            lex->start_transaction_opt= 0;
++          }
++#line 36465 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2507:
++#line 14427 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 36471 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2508:
++#line 14431 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 36477 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2509:
++#line 14432 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 36483 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2510:
++#line 14437 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.m_yes_no_unk)= TVL_UNKNOWN; }
++#line 36489 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2511:
++#line 14438 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.m_yes_no_unk)= TVL_NO; }
++#line 36495 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2512:
++#line 14439 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.m_yes_no_unk)= TVL_YES; }
++#line 36501 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2513:
++#line 14444 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.m_yes_no_unk)= TVL_UNKNOWN; }
++#line 36507 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2514:
++#line 14445 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.m_yes_no_unk)= TVL_YES; }
++#line 36513 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2515:
++#line 14446 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.m_yes_no_unk)= TVL_NO; }
++#line 36519 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2516:
++#line 14450 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 36525 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2517:
++#line 14451 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 36531 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2518:
++#line 14456 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex=Lex;
++            lex->sql_command= SQLCOM_COMMIT;
++            /* Don't allow AND CHAIN RELEASE. */
++            MYSQL_YYABORT_UNLESS((yyvsp[-1].m_yes_no_unk) != TVL_YES || (yyvsp[0].m_yes_no_unk) != TVL_YES);
++            lex->tx_chain= (yyvsp[-1].m_yes_no_unk);
++            lex->tx_release= (yyvsp[0].m_yes_no_unk);
++          }
++#line 36544 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2519:
++#line 14468 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex=Lex;
++            lex->sql_command= SQLCOM_ROLLBACK;
++            /* Don't allow AND CHAIN RELEASE. */
++            MYSQL_YYABORT_UNLESS((yyvsp[-1].m_yes_no_unk) != TVL_YES || (yyvsp[0].m_yes_no_unk) != TVL_YES);
++            lex->tx_chain= (yyvsp[-1].m_yes_no_unk);
++            lex->tx_release= (yyvsp[0].m_yes_no_unk);
++          }
++#line 36557 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2520:
++#line 14478 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex=Lex;
++            lex->sql_command= SQLCOM_ROLLBACK_TO_SAVEPOINT;
++            lex->ident= (yyvsp[0].lex_str);
++          }
++#line 36567 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2521:
++#line 14487 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex=Lex;
++            lex->sql_command= SQLCOM_SAVEPOINT;
++            lex->ident= (yyvsp[0].lex_str);
++          }
++#line 36577 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2522:
++#line 14496 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex=Lex;
++            lex->sql_command= SQLCOM_RELEASE_SAVEPOINT;
++            lex->ident= (yyvsp[0].lex_str);
++          }
++#line 36587 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2523:
++#line 14509 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 36593 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2525:
++#line 14515 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            if (add_select_to_union_list(Lex, (bool)(yyvsp[0].num), TRUE))
++              MYSQL_YYABORT;
++          }
++#line 36602 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2526:
++#line 14520 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            /*
++              Remove from the name resolution context stack the context of the
++              last select in the union.
++            */
++            Lex->pop_context();
++          }
++#line 36614 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2527:
++#line 14530 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.num)= 0; }
++#line 36620 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2528:
++#line 14531 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.num)= 1; }
++#line 36626 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2529:
++#line 14532 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.num)= 1; }
++#line 36632 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2530:
++#line 14536 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.is_not_empty)= false; }
++#line 36638 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2531:
++#line 14537 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.is_not_empty)= true; }
++#line 36644 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2532:
++#line 14541 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex= thd->lex;
++            DBUG_ASSERT(lex->current_select->linkage != GLOBAL_OPTIONS_TYPE);
++            SELECT_LEX *sel= lex->current_select;
++            SELECT_LEX_UNIT *unit= sel->master_unit();
++            SELECT_LEX *fake= unit->fake_select_lex;
++            if (fake)
++            {
++              unit->global_parameters= fake;
++              fake->no_table_names_allowed= 1;
++              lex->current_select= fake;
++            }
++            thd->where= "global ORDER clause";
++          }
++#line 36663 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2533:
++#line 14556 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            thd->lex->current_select->no_table_names_allowed= 0;
++            thd->where= "";
++          }
++#line 36672 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2536:
++#line 14568 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.num)=1; }
++#line 36678 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2537:
++#line 14569 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.num)=1; }
++#line 36684 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2538:
++#line 14570 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { (yyval.num)=0; }
++#line 36690 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2539:
++#line 14575 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { 
++            (yyval.select_lex)= Lex->current_select->master_unit()->first_select();
++          }
++#line 36698 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2540:
++#line 14579 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            (yyval.select_lex)= Lex->current_select->master_unit()->first_select();
++          }
++#line 36706 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2542:
++#line 14588 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            if (add_select_to_union_list(Lex, (bool)(yyvsp[0].num), FALSE))
++              MYSQL_YYABORT;
++          }
++#line 36715 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2543:
++#line 14594 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            Lex->pop_context();
++            (yyval.select_lex)= (yyvsp[-5].select_lex);
++          }
++#line 36724 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2544:
++#line 14603 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { 
++            (yyval.select_lex)= (yyvsp[-1].select_lex);
++          }
++#line 36732 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2545:
++#line 14609 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex=Lex;
++            if (!lex->expr_allows_subselect ||
++               lex->sql_command == (int)SQLCOM_PURGE)
++            {
++              my_parse_error(ER(ER_SYNTAX_ERROR));
++              MYSQL_YYABORT;
++            }
++            /* 
++              we are making a "derived table" for the parenthesis
++              as we need to have a lex level to fit the union 
++              after the parenthesis, e.g. 
++              (SELECT .. ) UNION ...  becomes 
++              SELECT * FROM ((SELECT ...) UNION ...)
++            */
++            if (mysql_new_select(Lex, 1))
++              MYSQL_YYABORT;
++          }
++#line 36755 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2546:
++#line 14630 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex=Lex;
++
++            lex->pop_context();
++            SELECT_LEX *child= lex->current_select;
++            lex->current_select = lex->current_select->return_after_parsing();
++            lex->nest_level--;
++            lex->current_select->n_child_sum_items += child->n_sum_items;
++            /*
++              A subselect can add fields to an outer select. Reserve space for
++              them.
++            */
++            lex->current_select->select_n_where_fields+=
++            child->select_n_where_fields;
++
++            /*
++              Aggregate functions in having clause may add fields to an outer
++              select. Count them also.
++            */
++            lex->current_select->select_n_having_items+=
++            child->select_n_having_items;
++          }
++#line 36782 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2551:
++#line 14665 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Select->options|= SELECT_STRAIGHT_JOIN; }
++#line 36788 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2552:
++#line 14667 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            if (check_simple_select())
++              MYSQL_YYABORT;
++            YYPS->m_lock_type= TL_READ_HIGH_PRIORITY;
++            YYPS->m_mdl_type= MDL_SHARED_READ;
++            Select->options|= SELECT_HIGH_PRIORITY;
++          }
++#line 36800 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2553:
++#line 14674 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Select->options|= SELECT_DISTINCT; }
++#line 36806 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2554:
++#line 14675 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Select->options|= SELECT_SMALL_RESULT; }
++#line 36812 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2555:
++#line 14676 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Select->options|= SELECT_BIG_RESULT; }
++#line 36818 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2556:
++#line 14678 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            if (check_simple_select())
++              MYSQL_YYABORT;
++            Select->options|= OPTION_BUFFER_RESULT;
++          }
++#line 36828 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2557:
++#line 14684 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            if (check_simple_select())
++              MYSQL_YYABORT;
++            Select->options|= OPTION_FOUND_ROWS;
++          }
++#line 36838 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2558:
++#line 14689 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Select->options|= SELECT_ALL; }
++#line 36844 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2559:
++#line 14700 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 36850 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2560:
++#line 14702 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 36856 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2561:
++#line 14704 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 36862 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2575:
++#line 14737 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            /*
++              We have to distinguish missing DEFINER-clause from case when
++              CURRENT_USER specified as definer explicitly in order to properly
++              handle CREATE TRIGGER statements which come to replication thread
++              from older master servers (i.e. to create non-suid trigger in this
++              case).
++            */
++            thd->lex->definer= 0;
++          }
++#line 36877 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2576:
++#line 14751 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            thd->lex->definer= get_current_user(thd, (yyvsp[0].lex_user));
++          }
++#line 36885 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2577:
++#line 14764 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 36891 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2578:
++#line 14766 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 36897 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2579:
++#line 14768 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 36903 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2580:
++#line 14773 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Lex->create_view_mode= VIEW_CREATE_OR_REPLACE; }
++#line 36909 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2581:
++#line 14778 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Lex->create_view_algorithm= DTYPE_ALGORITHM_UNDEFINED; }
++#line 36915 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2582:
++#line 14780 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Lex->create_view_algorithm= VIEW_ALGORITHM_MERGE; }
++#line 36921 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2583:
++#line 14782 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Lex->create_view_algorithm= VIEW_ALGORITHM_TMPTABLE; }
++#line 36927 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2584:
++#line 14787 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Lex->create_view_suid= VIEW_SUID_DEFAULT; }
++#line 36933 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2585:
++#line 14789 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Lex->create_view_suid= VIEW_SUID_DEFINER; }
++#line 36939 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2586:
++#line 14791 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Lex->create_view_suid= VIEW_SUID_INVOKER; }
++#line 36945 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2587:
++#line 14796 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex= thd->lex;
++            lex->sql_command= SQLCOM_CREATE_VIEW;
++            /* first table in list is target VIEW name */
++            if (!lex->select_lex.add_table_to_list(thd, (yyvsp[0].table), NULL,
++                                                   TL_OPTION_UPDATING,
++                                                   TL_IGNORE,
++                                                   MDL_EXCLUSIVE))
++              MYSQL_YYABORT;
++            lex->query_tables->open_strategy= TABLE_LIST::OPEN_STUB;
++          }
++#line 36961 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2589:
++#line 14812 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 36967 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2591:
++#line 14818 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++              Lex->view_list.push_back((LEX_STRING*)
++              sql_memdup(&(yyvsp[0].lex_str), sizeof(LEX_STRING)));
++            }
++#line 36976 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2592:
++#line 14823 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++              Lex->view_list.push_back((LEX_STRING*)
++              sql_memdup(&(yyvsp[0].lex_str), sizeof(LEX_STRING)));
++            }
++#line 36985 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2593:
++#line 14830 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex= Lex;
++            lex->parsing_options.allows_variable= FALSE;
++            lex->parsing_options.allows_select_into= FALSE;
++            lex->parsing_options.allows_select_procedure= FALSE;
++            lex->parsing_options.allows_derived= FALSE;
++            lex->create_view_select.str= (char *) YYLIP->get_cpp_ptr();
++          }
++#line 36998 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2594:
++#line 14839 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex= Lex;
++            uint len= YYLIP->get_cpp_ptr() - lex->create_view_select.str;
++            void *create_view_select= thd->memdup(lex->create_view_select.str, len);
++            lex->create_view_select.length= len;
++            lex->create_view_select.str= (char *) create_view_select;
++            trim_whitespace(thd->charset(), &lex->create_view_select);
++            lex->parsing_options.allows_variable= TRUE;
++            lex->parsing_options.allows_select_into= TRUE;
++            lex->parsing_options.allows_select_procedure= TRUE;
++            lex->parsing_options.allows_derived= TRUE;
++          }
++#line 37015 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2597:
++#line 14860 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Lex->create_view_check= VIEW_CHECK_NONE; }
++#line 37021 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2598:
++#line 14862 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Lex->create_view_check= VIEW_CHECK_CASCADED; }
++#line 37027 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2599:
++#line 14864 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Lex->create_view_check= VIEW_CHECK_CASCADED; }
++#line 37033 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2600:
++#line 14866 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Lex->create_view_check= VIEW_CHECK_LOCAL; }
++#line 37039 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2601:
++#line 14883 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { /* $8 */
++            Lex->raw_trg_on_table_name_begin= YYLIP->get_tok_start();
++          }
++#line 37047 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2602:
++#line 14889 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { /* $12 */
++            Lex->raw_trg_on_table_name_end= YYLIP->get_tok_start();
++          }
++#line 37055 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2603:
++#line 14894 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { /* $15 */
++            LEX *lex= thd->lex;
++            Lex_input_stream *lip= YYLIP;
++            sp_head *sp;
++
++            if (lex->sphead)
++            {
++              my_error(ER_SP_NO_RECURSIVE_CREATE, MYF(0), "TRIGGER");
++              MYSQL_YYABORT;
++            }
++
++            if (!(sp= new sp_head()))
++              MYSQL_YYABORT;
++            sp->reset_thd_mem_root(thd);
++            sp->init(lex);
++            sp->m_type= TYPE_ENUM_TRIGGER;
++            sp->init_sp_name(thd, (yyvsp[-11].spname));
++            lex->stmt_definition_begin= (yyvsp[-12].simple_string);
++            lex->ident.str= (yyvsp[-7].simple_string);
++            lex->ident.length= (yyvsp[-3].simple_string) - (yyvsp[-7].simple_string);
++
++            lex->sphead= sp;
++            lex->spname= (yyvsp[-11].spname);
++
++            bzero((char *)&lex->sp_chistics, sizeof(st_sp_chistics));
++            lex->sphead->m_chistics= &lex->sp_chistics;
++            lex->sphead->set_body_start(thd, lip->get_cpp_ptr());
++          }
++#line 37088 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2604:
++#line 14923 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { /* $17 */
++            LEX *lex= Lex;
++            sp_head *sp= lex->sphead;
++
++            lex->sql_command= SQLCOM_CREATE_TRIGGER;
++            sp->set_stmt_end(thd);
++            sp->restore_thd_mem_root(thd);
++
++            if (sp->is_not_allowed_in_function("trigger"))
++              MYSQL_YYABORT;
++
++            /*
++              We have to do it after parsing trigger body, because some of
++              sp_proc_stmt alternatives are not saving/restoring LEX, so
++              lex->query_tables can be wiped out.
++            */
++            if (!lex->select_lex.add_table_to_list(thd, (yyvsp[-7].table),
++                                                   (LEX_STRING*) 0,
++                                                   TL_OPTION_UPDATING,
++                                                   TL_READ_NO_INSERT,
++                                                   MDL_SHARED_NO_WRITE))
++              MYSQL_YYABORT;
++          }
++#line 37116 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2605:
++#line 14957 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex= thd->lex;
++            if (is_native_function(thd, & (yyvsp[-4].lex_str)))
++            {
++              my_error(ER_NATIVE_FCT_NAME_COLLISION, MYF(0),
++                       (yyvsp[-4].lex_str).str);
++              MYSQL_YYABORT;
++            }
++            lex->sql_command = SQLCOM_CREATE_FUNCTION;
++            lex->udf.type= UDFTYPE_AGGREGATE;
++            lex->stmt_definition_begin= (yyvsp[-6].simple_string);
++            lex->udf.name = (yyvsp[-4].lex_str);
++            lex->udf.returns=(Item_result) (yyvsp[-2].num);
++            lex->udf.dl=(yyvsp[0].lex_str).str;
++          }
++#line 37136 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2606:
++#line 14974 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex= thd->lex;
++            if (is_native_function(thd, & (yyvsp[-4].lex_str)))
++            {
++              my_error(ER_NATIVE_FCT_NAME_COLLISION, MYF(0),
++                       (yyvsp[-4].lex_str).str);
++              MYSQL_YYABORT;
++            }
++            lex->sql_command = SQLCOM_CREATE_FUNCTION;
++            lex->udf.type= UDFTYPE_FUNCTION;
++            lex->stmt_definition_begin= (yyvsp[-6].simple_string);
++            lex->udf.name = (yyvsp[-4].lex_str);
++            lex->udf.returns=(Item_result) (yyvsp[-2].num);
++            lex->udf.dl=(yyvsp[0].lex_str).str;
++          }
++#line 37156 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2607:
++#line 14996 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { /* $5 */
++            LEX *lex= thd->lex;
++            Lex_input_stream *lip= YYLIP;
++            sp_head *sp;
++            const char* tmp_param_begin;
++
++            lex->stmt_definition_begin= (yyvsp[-3].simple_string);
++            lex->spname= (yyvsp[-1].spname);
++
++            if (lex->sphead)
++            {
++              my_error(ER_SP_NO_RECURSIVE_CREATE, MYF(0), "FUNCTION");
++              MYSQL_YYABORT;
++            }
++            /* Order is important here: new - reset - init */
++            sp= new sp_head();
++            if (sp == NULL)
++              MYSQL_YYABORT;
++            sp->reset_thd_mem_root(thd);
++            sp->init(lex);
++            sp->init_sp_name(thd, lex->spname);
++
++            sp->m_type= TYPE_ENUM_FUNCTION;
++            lex->sphead= sp;
++
++            tmp_param_begin= lip->get_cpp_tok_start();
++            tmp_param_begin++;
++            lex->sphead->m_param_begin= tmp_param_begin;
++          }
++#line 37190 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2608:
++#line 15027 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { /* $8 */
++            Lex->sphead->m_param_end= YYLIP->get_cpp_tok_start();
++          }
++#line 37198 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2609:
++#line 15031 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { /* $10 */
++            LEX *lex= Lex;
++            lex->charset= NULL;
++            lex->length= lex->dec= NULL;
++            lex->interval_list.empty();
++            lex->type= 0;
++            lex->vcol_info= 0;
++          }
++#line 37211 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2610:
++#line 15040 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { /* $12 */
++            LEX *lex= Lex;
++            sp_head *sp= lex->sphead;
++            /*
++              This was disabled in 5.1.12. See bug #20701
++              When collation support in SP is implemented, then this test
++              should be removed.
++            */
++            if (((yyvsp[0].num) == MYSQL_TYPE_STRING || (yyvsp[0].num) == MYSQL_TYPE_VARCHAR)
++                && (lex->type & BINCMP_FLAG))
++            {
++              my_error(ER_NOT_SUPPORTED_YET, MYF(0), "return value collation");
++              MYSQL_YYABORT;
++            }
++
++            if (sp->fill_field_definition(thd, lex,
++                                          (enum enum_field_types) (yyvsp[0].num),
++                                          &sp->m_return_field_def))
++              MYSQL_YYABORT;
++
++            bzero((char *)&lex->sp_chistics, sizeof(st_sp_chistics));
++          }
++#line 37238 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2611:
++#line 15063 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { /* $14 */
++            LEX *lex= thd->lex;
++            Lex_input_stream *lip= YYLIP;
++
++            lex->sphead->m_chistics= &lex->sp_chistics;
++            lex->sphead->set_body_start(thd, lip->get_cpp_tok_start());
++          }
++#line 37250 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2612:
++#line 15071 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex= thd->lex;
++            sp_head *sp= lex->sphead;
++
++            if (sp->is_not_allowed_in_function("function"))
++              MYSQL_YYABORT;
++
++            lex->sql_command= SQLCOM_CREATE_SPFUNCTION;
++            sp->set_stmt_end(thd);
++            if (!(sp->m_flags & sp_head::HAS_RETURN))
++            {
++              my_error(ER_SP_NORETURN, MYF(0), sp->m_qname.str);
++              MYSQL_YYABORT;
++            }
++            if (is_native_function(thd, & sp->m_name))
++            {
++              /*
++                This warning will be printed when
++                [1] A client query is parsed,
++                [2] A stored function is loaded by db_load_routine.
++                Printing the warning for [2] is intentional, to cover the
++                following scenario:
++                - A user define a SF 'foo' using MySQL 5.N
++                - An application uses select foo(), and works.
++                - MySQL 5.{N+1} defines a new native function 'foo', as
++                part of a new feature.
++                - MySQL 5.{N+1} documentation is updated, and should mention
++                that there is a potential incompatible change in case of
++                existing stored function named 'foo'.
++                - The user deploys 5.{N+1}. At this point, 'select foo()'
++                means something different, and the user code is most likely
++                broken (it's only safe if the code is 'select db.foo()').
++                With a warning printed when the SF is loaded (which has to occur
++                before the call), the warning will provide a hint explaining
++                the root cause of a later failure of 'select foo()'.
++                With no warning printed, the user code will fail with no
++                apparent reason.
++                Printing a warning each time db_load_routine is executed for
++                an ambiguous function is annoying, since that can happen a lot,
++                but in practice should not happen unless there *are* name
++                collisions.
++                If a collision exists, it should not be silenced but fixed.
++              */
++              push_warning_printf(thd,
++                                  MYSQL_ERROR::WARN_LEVEL_NOTE,
++                                  ER_NATIVE_FCT_NAME_COLLISION,
++                                  ER(ER_NATIVE_FCT_NAME_COLLISION),
++                                  sp->m_name.str);
++            }
++            sp->restore_thd_mem_root(thd);
++          }
++#line 37306 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2613:
++#line 15126 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex= Lex;
++            sp_head *sp;
++
++            if (lex->sphead)
++            {
++              my_error(ER_SP_NO_RECURSIVE_CREATE, MYF(0), "PROCEDURE");
++              MYSQL_YYABORT;
++            }
++
++            lex->stmt_definition_begin= (yyvsp[-1].simple_string);
++
++            /* Order is important here: new - reset - init */
++            sp= new sp_head();
++            if (sp == NULL)
++              MYSQL_YYABORT;
++            sp->reset_thd_mem_root(thd);
++            sp->init(lex);
++            sp->m_type= TYPE_ENUM_PROCEDURE;
++            sp->init_sp_name(thd, (yyvsp[0].spname));
++
++            lex->sphead= sp;
++          }
++#line 37334 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2614:
++#line 15150 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            const char* tmp_param_begin;
++
++            tmp_param_begin= YYLIP->get_cpp_tok_start();
++            tmp_param_begin++;
++            Lex->sphead->m_param_begin= tmp_param_begin;
++          }
++#line 37346 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2615:
++#line 15159 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex= thd->lex;
++
++            lex->sphead->m_param_end= YYLIP->get_cpp_tok_start();
++            bzero((char *)&lex->sp_chistics, sizeof(st_sp_chistics));
++          }
++#line 37357 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2616:
++#line 15166 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex= thd->lex;
++
++            lex->sphead->m_chistics= &lex->sp_chistics;
++            lex->sphead->set_body_start(thd, YYLIP->get_cpp_tok_start());
++          }
++#line 37368 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2617:
++#line 15173 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex= Lex;
++            sp_head *sp= lex->sphead;
++
++            sp->set_stmt_end(thd);
++            lex->sql_command= SQLCOM_CREATE_PROCEDURE;
++            sp->restore_thd_mem_root(thd);
++          }
++#line 37381 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2618:
++#line 15187 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            Lex->sql_command = SQLCOM_XA_START;
++          }
++#line 37389 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2619:
++#line 15191 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            Lex->sql_command = SQLCOM_XA_END;
++          }
++#line 37397 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2620:
++#line 15195 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            Lex->sql_command = SQLCOM_XA_PREPARE;
++          }
++#line 37405 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2621:
++#line 15199 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            Lex->sql_command = SQLCOM_XA_COMMIT;
++          }
++#line 37413 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2622:
++#line 15203 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            Lex->sql_command = SQLCOM_XA_ROLLBACK;
++          }
++#line 37421 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2623:
++#line 15207 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            Lex->sql_command = SQLCOM_XA_RECOVER;
++          }
++#line 37429 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2624:
++#line 15214 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            MYSQL_YYABORT_UNLESS((yyvsp[0].string)->length() <= MAXGTRIDSIZE);
++            if (!(Lex->xid=(XID *)thd->alloc(sizeof(XID))))
++              MYSQL_YYABORT;
++            Lex->xid->set(1L, (yyvsp[0].string)->ptr(), (yyvsp[0].string)->length(), 0, 0);
++          }
++#line 37440 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2625:
++#line 15221 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            MYSQL_YYABORT_UNLESS((yyvsp[-2].string)->length() <= MAXGTRIDSIZE && (yyvsp[0].string)->length() <= MAXBQUALSIZE);
++            if (!(Lex->xid=(XID *)thd->alloc(sizeof(XID))))
++              MYSQL_YYABORT;
++            Lex->xid->set(1L, (yyvsp[-2].string)->ptr(), (yyvsp[-2].string)->length(), (yyvsp[0].string)->ptr(), (yyvsp[0].string)->length());
++          }
++#line 37451 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2626:
++#line 15228 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            MYSQL_YYABORT_UNLESS((yyvsp[-4].string)->length() <= MAXGTRIDSIZE && (yyvsp[-2].string)->length() <= MAXBQUALSIZE);
++            if (!(Lex->xid=(XID *)thd->alloc(sizeof(XID))))
++              MYSQL_YYABORT;
++            Lex->xid->set((yyvsp[0].ulong_num), (yyvsp[-4].string)->ptr(), (yyvsp[-4].string)->length(), (yyvsp[-2].string)->ptr(), (yyvsp[-2].string)->length());
++          }
++#line 37462 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2627:
++#line 15237 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 37468 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2628:
++#line 15238 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 37474 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2629:
++#line 15242 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Lex->xa_opt=XA_NONE;        }
++#line 37480 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2630:
++#line 15243 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Lex->xa_opt=XA_JOIN;        }
++#line 37486 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2631:
++#line 15244 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Lex->xa_opt=XA_RESUME;      }
++#line 37492 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2632:
++#line 15248 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Lex->xa_opt=XA_NONE;        }
++#line 37498 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2633:
++#line 15249 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Lex->xa_opt=XA_ONE_PHASE;   }
++#line 37504 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2634:
++#line 15254 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Lex->xa_opt=XA_NONE;        }
++#line 37510 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2635:
++#line 15256 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Lex->xa_opt=XA_SUSPEND;     }
++#line 37516 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2637:
++#line 15261 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {}
++#line 37522 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2638:
++#line 15262 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    { Lex->xa_opt=XA_FOR_MIGRATE; }
++#line 37528 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2639:
++#line 15267 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex= Lex;
++            lex->sql_command= SQLCOM_INSTALL_PLUGIN;
++            lex->comment= (yyvsp[-2].lex_str);
++            lex->ident= (yyvsp[0].lex_str);
++          }
++#line 37539 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2640:
++#line 15274 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex= Lex;
++            lex->sql_command= SQLCOM_INSTALL_PLUGIN;
++            lex->comment= null_lex_str;
++            lex->ident= (yyvsp[0].lex_str);
++          }
++#line 37550 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2641:
++#line 15284 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex= Lex;
++            lex->sql_command= SQLCOM_UNINSTALL_PLUGIN;
++            lex->comment= (yyvsp[0].lex_str);
++          }
++#line 37560 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2642:
++#line 15290 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++            LEX *lex= Lex;
++            lex->sql_command= SQLCOM_UNINSTALL_PLUGIN;
++            lex->comment= null_lex_str;
++            lex->ident= (yyvsp[0].lex_str);
++          }
++#line 37571 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++  case 2643:
++#line 15301 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
++    {
++	  YYERROR;
++	}
++#line 37579 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++    break;
++
++
++#line 37583 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
++      default: break;
++    }
++  /* User semantic actions sometimes alter yychar, and that requires
++     that yytoken be updated with the new translation.  We take the
++     approach of translating immediately before every use of yytoken.
++     One alternative is translating here after every semantic action,
++     but that translation would be missed if the semantic action invokes
++     YYABORT, YYACCEPT, or YYERROR immediately after altering yychar or
++     if it invokes YYBACKUP.  In the case of YYABORT or YYACCEPT, an
++     incorrect destructor might then be invoked immediately.  In the
++     case of YYERROR or YYBACKUP, subsequent parser actions might lead
++     to an incorrect destructor call or verbose syntax error message
++     before the lookahead is translated.  */
++  YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
++
++  YYPOPSTACK (yylen);
++  yylen = 0;
++  YY_STACK_PRINT (yyss, yyssp);
++
++  *++yyvsp = yyval;
++
++  /* Now 'shift' the result of the reduction.  Determine what state
++     that goes to, based on the state we popped back to and the rule
++     number reduced by.  */
++
++  yyn = yyr1[yyn];
++
++  yystate = yypgoto[yyn - YYNTOKENS] + *yyssp;
++  if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp)
++    yystate = yytable[yystate];
++  else
++    yystate = yydefgoto[yyn - YYNTOKENS];
++
++  goto yynewstate;
++
++
++/*--------------------------------------.
++| yyerrlab -- here on detecting error.  |
++`--------------------------------------*/
++yyerrlab:
++  /* Make sure we have latest lookahead translation.  See comments at
++     user semantic actions for why this is necessary.  */
++  yytoken = yychar == YYEMPTY ? YYEMPTY : YYTRANSLATE (yychar);
++
++  /* If not already recovering from an error, report this error.  */
++  if (!yyerrstatus)
++    {
++      ++yynerrs;
++#if ! YYERROR_VERBOSE
++      yyerror (thd, YY_("syntax error"));
++#else
++# define YYSYNTAX_ERROR yysyntax_error (&yymsg_alloc, &yymsg, \
++                                        yyssp, yytoken)
++      {
++        char const *yymsgp = YY_("syntax error");
++        int yysyntax_error_status;
++        yysyntax_error_status = YYSYNTAX_ERROR;
++        if (yysyntax_error_status == 0)
++          yymsgp = yymsg;
++        else if (yysyntax_error_status == 1)
++          {
++            if (yymsg != yymsgbuf)
++              YYSTACK_FREE (yymsg);
++            yymsg = (char *) YYSTACK_ALLOC (yymsg_alloc);
++            if (!yymsg)
++              {
++                yymsg = yymsgbuf;
++                yymsg_alloc = sizeof yymsgbuf;
++                yysyntax_error_status = 2;
++              }
++            else
++              {
++                yysyntax_error_status = YYSYNTAX_ERROR;
++                yymsgp = yymsg;
++              }
++          }
++        yyerror (thd, yymsgp);
++        if (yysyntax_error_status == 2)
++          goto yyexhaustedlab;
++      }
++# undef YYSYNTAX_ERROR
++#endif
++    }
++
++
++
++  if (yyerrstatus == 3)
++    {
++      /* If just tried and failed to reuse lookahead token after an
++         error, discard it.  */
++
++      if (yychar <= YYEOF)
++        {
++          /* Return failure if at end of input.  */
++          if (yychar == YYEOF)
++            YYABORT;
++        }
++      else
++        {
++          yydestruct ("Error: discarding",
++                      yytoken, &yylval, thd);
++          yychar = YYEMPTY;
++        }
++    }
++
++  /* Else will try to reuse lookahead token after shifting the error
++     token.  */
++  goto yyerrlab1;
++
++
++/*---------------------------------------------------.
++| yyerrorlab -- error raised explicitly by YYERROR.  |
++`---------------------------------------------------*/
++yyerrorlab:
++
++  /* Pacify compilers like GCC when the user code never invokes
++     YYERROR and the label yyerrorlab therefore never appears in user
++     code.  */
++  if (/*CONSTCOND*/ 0)
++     goto yyerrorlab;
++
++  /* Do not reclaim the symbols of the rule whose action triggered
++     this YYERROR.  */
++  YYPOPSTACK (yylen);
++  yylen = 0;
++  YY_STACK_PRINT (yyss, yyssp);
++  yystate = *yyssp;
++  goto yyerrlab1;
++
++
++/*-------------------------------------------------------------.
++| yyerrlab1 -- common code for both syntax error and YYERROR.  |
++`-------------------------------------------------------------*/
++yyerrlab1:
++  yyerrstatus = 3;      /* Each real token shifted decrements this.  */
++
++  for (;;)
++    {
++      yyn = yypact[yystate];
++      if (!yypact_value_is_default (yyn))
++        {
++          yyn += YYTERROR;
++          if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
++            {
++              yyn = yytable[yyn];
++              if (0 < yyn)
++                break;
++            }
++        }
++
++      /* Pop the current state because it cannot handle the error token.  */
++      if (yyssp == yyss)
++        YYABORT;
++
++
++      yydestruct ("Error: popping",
++                  yystos[yystate], yyvsp, thd);
++      YYPOPSTACK (1);
++      yystate = *yyssp;
++      YY_STACK_PRINT (yyss, yyssp);
++    }
++
++  YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
++  *++yyvsp = yylval;
++  YY_IGNORE_MAYBE_UNINITIALIZED_END
++
++
++  /* Shift the error token.  */
++  YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp);
++
++  yystate = yyn;
++  goto yynewstate;
++
++
++/*-------------------------------------.
++| yyacceptlab -- YYACCEPT comes here.  |
++`-------------------------------------*/
++yyacceptlab:
++  yyresult = 0;
++  goto yyreturn;
++
++/*-----------------------------------.
++| yyabortlab -- YYABORT comes here.  |
++`-----------------------------------*/
++yyabortlab:
++  yyresult = 1;
++  goto yyreturn;
++
++#if !defined yyoverflow || YYERROR_VERBOSE
++/*-------------------------------------------------.
++| yyexhaustedlab -- memory exhaustion comes here.  |
++`-------------------------------------------------*/
++yyexhaustedlab:
++  yyerror (thd, YY_("memory exhausted"));
++  yyresult = 2;
++  /* Fall through.  */
++#endif
++
++yyreturn:
++  if (yychar != YYEMPTY)
++    {
++      /* Make sure we have latest lookahead translation.  See comments at
++         user semantic actions for why this is necessary.  */
++      yytoken = YYTRANSLATE (yychar);
++      yydestruct ("Cleanup: discarding lookahead",
++                  yytoken, &yylval, thd);
++    }
++  /* Do not reclaim the symbols of the rule whose action triggered
++     this YYABORT or YYACCEPT.  */
++  YYPOPSTACK (yylen);
++  YY_STACK_PRINT (yyss, yyssp);
++  while (yyssp != yyss)
++    {
++      yydestruct ("Cleanup: popping",
++                  yystos[*yyssp], yyvsp, thd);
++      YYPOPSTACK (1);
++    }
++#ifndef yyoverflow
++  if (yyss != yyssa)
++    YYSTACK_FREE (yyss);
++#endif
++#if YYERROR_VERBOSE
++  if (yymsg != yymsgbuf)
++    YYSTACK_FREE (yymsg);
++#endif
++  return yyresult;
++}
+diff --git a/sql/sql_yacc.h b/sql/sql_yacc.h
+new file mode 100644
+index 0000000..75959ac
+--- /dev/null
++++ b/sql/sql_yacc.h
+@@ -0,0 +1,1348 @@
++/* A Bison parser, made by GNU Bison 3.0.2.  */
++
++/* Bison interface for Yacc-like parsers in C
++
++   Copyright (C) 1984, 1989-1990, 2000-2013 Free Software Foundation, Inc.
++
++   This program is free software: you can redistribute it and/or modify
++   it under the terms of the GNU General Public License as published by
++   the Free Software Foundation, either version 3 of the License, or
++   (at your option) any later version.
++
++   This program is distributed in the hope that it will be useful,
++   but WITHOUT ANY WARRANTY; without even the implied warranty of
++   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
++   GNU General Public License for more details.
++
++   You should have received a copy of the GNU General Public License
++   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
++
++/* As a special exception, you may create a larger work that contains
++   part or all of the Bison parser skeleton and distribute that work
++   under terms of your choice, so long as that work isn't itself a
++   parser generator using the skeleton or a modified version thereof
++   as a parser skeleton.  Alternatively, if you modify or redistribute
++   the parser skeleton itself, you may (at your option) remove this
++   special exception, which will cause the skeleton and the resulting
++   Bison output files to be licensed under the GNU General Public
++   License without this special exception.
++
++   This special exception was added by the Free Software Foundation in
++   version 2.2 of Bison.  */
++
++#ifndef YY_MYSQL_HOME_BUILDBOT_GIT_MKDIST_SQL_SQL_YACC_H_INCLUDED
++# define YY_MYSQL_HOME_BUILDBOT_GIT_MKDIST_SQL_SQL_YACC_H_INCLUDED
++/* Debug traces.  */
++#ifndef YYDEBUG
++# define YYDEBUG 0
++#endif
++#if YYDEBUG
++extern int MYSQLdebug;
++#endif
++
++/* Token type.  */
++#ifndef YYTOKENTYPE
++# define YYTOKENTYPE
++  enum yytokentype
++  {
++    ABORT_SYM = 258,
++    ACCESSIBLE_SYM = 259,
++    ACTION = 260,
++    ADD = 261,
++    ADDDATE_SYM = 262,
++    AFTER_SYM = 263,
++    AGAINST = 264,
++    AGGREGATE_SYM = 265,
++    ALGORITHM_SYM = 266,
++    ALL = 267,
++    ALTER = 268,
++    ALWAYS_SYM = 269,
++    ANALYZE_SYM = 270,
++    AND_AND_SYM = 271,
++    AND_SYM = 272,
++    ANY_SYM = 273,
++    AS = 274,
++    ASC = 275,
++    ASCII_SYM = 276,
++    ASENSITIVE_SYM = 277,
++    AT_SYM = 278,
++    AUTHORS_SYM = 279,
++    AUTOEXTEND_SIZE_SYM = 280,
++    AUTO_INC = 281,
++    AVG_ROW_LENGTH = 282,
++    AVG_SYM = 283,
++    BACKUP_SYM = 284,
++    BEFORE_SYM = 285,
++    BEGIN_SYM = 286,
++    BETWEEN_SYM = 287,
++    BIGINT = 288,
++    BINARY = 289,
++    BINLOG_SYM = 290,
++    BIN_NUM = 291,
++    BIT_AND = 292,
++    BIT_OR = 293,
++    BIT_SYM = 294,
++    BIT_XOR = 295,
++    BLOB_SYM = 296,
++    BLOCK_SYM = 297,
++    BOOLEAN_SYM = 298,
++    BOOL_SYM = 299,
++    BOTH = 300,
++    BTREE_SYM = 301,
++    BY = 302,
++    BYTE_SYM = 303,
++    CACHE_SYM = 304,
++    CALL_SYM = 305,
++    CASCADE = 306,
++    CASCADED = 307,
++    CASE_SYM = 308,
++    CAST_SYM = 309,
++    CATALOG_NAME_SYM = 310,
++    CHAIN_SYM = 311,
++    CHANGE = 312,
++    CHANGED = 313,
++    CHARSET = 314,
++    CHAR_SYM = 315,
++    CHECKPOINT_SYM = 316,
++    CHECKSUM_SYM = 317,
++    CHECK_SYM = 318,
++    CIPHER_SYM = 319,
++    CLASS_ORIGIN_SYM = 320,
++    CLIENT_SYM = 321,
++    CLIENT_STATS_SYM = 322,
++    CLOSE_SYM = 323,
++    COALESCE = 324,
++    CODE_SYM = 325,
++    COLLATE_SYM = 326,
++    COLLATION_SYM = 327,
++    COLUMNS = 328,
++    COLUMN_ADD_SYM = 329,
++    COLUMN_CREATE_SYM = 330,
++    COLUMN_DELETE_SYM = 331,
++    COLUMN_EXISTS_SYM = 332,
++    COLUMN_GET_SYM = 333,
++    COLUMN_LIST_SYM = 334,
++    COLUMN_SYM = 335,
++    COLUMN_NAME_SYM = 336,
++    COMMENT_SYM = 337,
++    COMMITTED_SYM = 338,
++    COMMIT_SYM = 339,
++    COMPACT_SYM = 340,
++    COMPLETION_SYM = 341,
++    COMPRESSED_SYM = 342,
++    CONCURRENT = 343,
++    CONDITION_SYM = 344,
++    CONNECTION_SYM = 345,
++    CONSISTENT_SYM = 346,
++    CONSTRAINT = 347,
++    CONSTRAINT_CATALOG_SYM = 348,
++    CONSTRAINT_NAME_SYM = 349,
++    CONSTRAINT_SCHEMA_SYM = 350,
++    CONTAINS_SYM = 351,
++    CONTEXT_SYM = 352,
++    CONTINUE_SYM = 353,
++    CONTRIBUTORS_SYM = 354,
++    CONVERT_SYM = 355,
++    COUNT_SYM = 356,
++    CPU_SYM = 357,
++    CREATE = 358,
++    CROSS = 359,
++    CUBE_SYM = 360,
++    CURDATE = 361,
++    CURRENT_USER = 362,
++    CURSOR_SYM = 363,
++    CURSOR_NAME_SYM = 364,
++    CURTIME = 365,
++    DATABASE = 366,
++    DATABASES = 367,
++    DATAFILE_SYM = 368,
++    DATA_SYM = 369,
++    DATETIME = 370,
++    DATE_ADD_INTERVAL = 371,
++    DATE_SUB_INTERVAL = 372,
++    DATE_SYM = 373,
++    DAY_HOUR_SYM = 374,
++    DAY_MICROSECOND_SYM = 375,
++    DAY_MINUTE_SYM = 376,
++    DAY_SECOND_SYM = 377,
++    DAY_SYM = 378,
++    DEALLOCATE_SYM = 379,
++    DECIMAL_NUM = 380,
++    DECIMAL_SYM = 381,
++    DECLARE_SYM = 382,
++    DEFAULT = 383,
++    DEFINER_SYM = 384,
++    DELAYED_SYM = 385,
++    DELAY_KEY_WRITE_SYM = 386,
++    DELETE_SYM = 387,
++    DESC = 388,
++    DESCRIBE = 389,
++    DES_KEY_FILE = 390,
++    DETERMINISTIC_SYM = 391,
++    DIRECTORY_SYM = 392,
++    DISABLE_SYM = 393,
++    DISCARD = 394,
++    DISK_SYM = 395,
++    DISTINCT = 396,
++    DIV_SYM = 397,
++    DOUBLE_SYM = 398,
++    DO_SYM = 399,
++    DROP = 400,
++    DUAL_SYM = 401,
++    DUMPFILE = 402,
++    DUPLICATE_SYM = 403,
++    DYNAMIC_SYM = 404,
++    EACH_SYM = 405,
++    ELSE = 406,
++    ELSEIF_SYM = 407,
++    ENABLE_SYM = 408,
++    ENCLOSED = 409,
++    END = 410,
++    ENDS_SYM = 411,
++    END_OF_INPUT = 412,
++    ENGINES_SYM = 413,
++    ENGINE_SYM = 414,
++    ENUM = 415,
++    EQUAL_SYM = 416,
++    ERROR_SYM = 417,
++    ERRORS = 418,
++    ESCAPED = 419,
++    ESCAPE_SYM = 420,
++    EVENTS_SYM = 421,
++    EVENT_SYM = 422,
++    EVERY_SYM = 423,
++    EXAMINED_SYM = 424,
++    EXECUTE_SYM = 425,
++    EXISTS = 426,
++    EXIT_SYM = 427,
++    EXPANSION_SYM = 428,
++    EXTENDED_SYM = 429,
++    EXTENT_SIZE_SYM = 430,
++    EXTRACT_SYM = 431,
++    FALSE_SYM = 432,
++    FAST_SYM = 433,
++    FAULTS_SYM = 434,
++    FETCH_SYM = 435,
++    FILE_SYM = 436,
++    FIRST_SYM = 437,
++    FIXED_SYM = 438,
++    FLOAT_NUM = 439,
++    FLOAT_SYM = 440,
++    FLUSH_SYM = 441,
++    FORCE_SYM = 442,
++    FOREIGN = 443,
++    FOR_SYM = 444,
++    FOUND_SYM = 445,
++    FROM = 446,
++    FULL = 447,
++    FULLTEXT_SYM = 448,
++    FUNCTION_SYM = 449,
++    GE = 450,
++    GENERAL = 451,
++    GENERATED_SYM = 452,
++    GEOMETRYCOLLECTION = 453,
++    GEOMETRY_SYM = 454,
++    GET_FORMAT = 455,
++    GLOBAL_SYM = 456,
++    GRANT = 457,
++    GRANTS = 458,
++    GROUP_SYM = 459,
++    GROUP_CONCAT_SYM = 460,
++    HANDLER_SYM = 461,
++    HARD_SYM = 462,
++    HASH_SYM = 463,
++    HAVING = 464,
++    HELP_SYM = 465,
++    HEX_NUM = 466,
++    HEX_STRING = 467,
++    HIGH_PRIORITY = 468,
++    HOST_SYM = 469,
++    HOSTS_SYM = 470,
++    HOUR_MICROSECOND_SYM = 471,
++    HOUR_MINUTE_SYM = 472,
++    HOUR_SECOND_SYM = 473,
++    HOUR_SYM = 474,
++    IDENT = 475,
++    IDENTIFIED_SYM = 476,
++    IDENT_QUOTED = 477,
++    IF = 478,
++    IGNORE_SYM = 479,
++    IGNORE_SERVER_IDS_SYM = 480,
++    IMPORT = 481,
++    INDEXES = 482,
++    INDEX_SYM = 483,
++    INDEX_STATS_SYM = 484,
++    INFILE = 485,
++    INITIAL_SIZE_SYM = 486,
++    INNER_SYM = 487,
++    INOUT_SYM = 488,
++    INSENSITIVE_SYM = 489,
++    INSERT = 490,
++    INSERT_METHOD = 491,
++    INSTALL_SYM = 492,
++    INTERVAL_SYM = 493,
++    INTO = 494,
++    INT_SYM = 495,
++    INVOKER_SYM = 496,
++    IN_SYM = 497,
++    IO_SYM = 498,
++    IPC_SYM = 499,
++    IS = 500,
++    ISOLATION = 501,
++    ISSUER_SYM = 502,
++    ITERATE_SYM = 503,
++    JOIN_SYM = 504,
++    KEYS = 505,
++    KEY_BLOCK_SIZE = 506,
++    KEY_SYM = 507,
++    KILL_SYM = 508,
++    LANGUAGE_SYM = 509,
++    LAST_SYM = 510,
++    LAST_VALUE = 511,
++    LE = 512,
++    LEADING = 513,
++    LEAVES = 514,
++    LEAVE_SYM = 515,
++    LEFT = 516,
++    LESS_SYM = 517,
++    LEVEL_SYM = 518,
++    LEX_HOSTNAME = 519,
++    LIKE = 520,
++    LIMIT = 521,
++    LINEAR_SYM = 522,
++    LINES = 523,
++    LINESTRING = 524,
++    LIST_SYM = 525,
++    LOAD = 526,
++    LOCAL_SYM = 527,
++    LOCATOR_SYM = 528,
++    LOCKS_SYM = 529,
++    LOCK_SYM = 530,
++    LOGFILE_SYM = 531,
++    LOGS_SYM = 532,
++    LONGBLOB = 533,
++    LONGTEXT = 534,
++    LONG_NUM = 535,
++    LONG_SYM = 536,
++    LOOP_SYM = 537,
++    LOW_PRIORITY = 538,
++    MASTER_CONNECT_RETRY_SYM = 539,
++    MASTER_HOST_SYM = 540,
++    MASTER_LOG_FILE_SYM = 541,
++    MASTER_LOG_POS_SYM = 542,
++    MASTER_PASSWORD_SYM = 543,
++    MASTER_PORT_SYM = 544,
++    MASTER_SERVER_ID_SYM = 545,
++    MASTER_SSL_CAPATH_SYM = 546,
++    MASTER_SSL_CA_SYM = 547,
++    MASTER_SSL_CERT_SYM = 548,
++    MASTER_SSL_CIPHER_SYM = 549,
++    MASTER_SSL_KEY_SYM = 550,
++    MASTER_SSL_SYM = 551,
++    MASTER_SSL_VERIFY_SERVER_CERT_SYM = 552,
++    MASTER_SYM = 553,
++    MASTER_USER_SYM = 554,
++    MASTER_HEARTBEAT_PERIOD_SYM = 555,
++    MATCH = 556,
++    MAX_CONNECTIONS_PER_HOUR = 557,
++    MAX_QUERIES_PER_HOUR = 558,
++    MAX_ROWS = 559,
++    MAX_SIZE_SYM = 560,
++    MAX_SYM = 561,
++    MAX_UPDATES_PER_HOUR = 562,
++    MAX_USER_CONNECTIONS_SYM = 563,
++    MAX_VALUE_SYM = 564,
++    MEDIUMBLOB = 565,
++    MEDIUMINT = 566,
++    MEDIUMTEXT = 567,
++    MEDIUM_SYM = 568,
++    MEMORY_SYM = 569,
++    MERGE_SYM = 570,
++    MESSAGE_TEXT_SYM = 571,
++    MICROSECOND_SYM = 572,
++    MIGRATE_SYM = 573,
++    MINUTE_MICROSECOND_SYM = 574,
++    MINUTE_SECOND_SYM = 575,
++    MINUTE_SYM = 576,
++    MIN_ROWS = 577,
++    MIN_SYM = 578,
++    MODE_SYM = 579,
++    MODIFIES_SYM = 580,
++    MODIFY_SYM = 581,
++    MOD_SYM = 582,
++    MONTH_SYM = 583,
++    MULTILINESTRING = 584,
++    MULTIPOINT = 585,
++    MULTIPOLYGON = 586,
++    MUTEX_SYM = 587,
++    MYSQL_SYM = 588,
++    MYSQL_ERRNO_SYM = 589,
++    NAMES_SYM = 590,
++    NAME_SYM = 591,
++    NATIONAL_SYM = 592,
++    NATURAL = 593,
++    NCHAR_STRING = 594,
++    NCHAR_SYM = 595,
++    NDBCLUSTER_SYM = 596,
++    NE = 597,
++    NEG = 598,
++    NEW_SYM = 599,
++    NEXT_SYM = 600,
++    NODEGROUP_SYM = 601,
++    NONE_SYM = 602,
++    NOT2_SYM = 603,
++    NOT_SYM = 604,
++    NOW_SYM = 605,
++    NO_SYM = 606,
++    NO_WAIT_SYM = 607,
++    NO_WRITE_TO_BINLOG = 608,
++    NULL_SYM = 609,
++    NUM = 610,
++    NUMERIC_SYM = 611,
++    NVARCHAR_SYM = 612,
++    OFFSET_SYM = 613,
++    OLD_PASSWORD = 614,
++    ON = 615,
++    ONE_SHOT_SYM = 616,
++    ONE_SYM = 617,
++    ONLINE_SYM = 618,
++    OPEN_SYM = 619,
++    OPTIMIZE = 620,
++    OPTIONS_SYM = 621,
++    OPTION = 622,
++    OPTIONALLY = 623,
++    OR2_SYM = 624,
++    ORDER_SYM = 625,
++    OR_OR_SYM = 626,
++    OR_SYM = 627,
++    OUTER = 628,
++    OUTFILE = 629,
++    OUT_SYM = 630,
++    OWNER_SYM = 631,
++    PACK_KEYS_SYM = 632,
++    PAGE_SYM = 633,
++    PAGE_CHECKSUM_SYM = 634,
++    PARAM_MARKER = 635,
++    PARSER_SYM = 636,
++    PARSE_VCOL_EXPR_SYM = 637,
++    PARTIAL = 638,
++    PARTITIONING_SYM = 639,
++    PARTITIONS_SYM = 640,
++    PARTITION_SYM = 641,
++    PASSWORD = 642,
++    PERSISTENT_SYM = 643,
++    PHASE_SYM = 644,
++    PLUGINS_SYM = 645,
++    PLUGIN_SYM = 646,
++    POINT_SYM = 647,
++    POLYGON = 648,
++    PORT_SYM = 649,
++    POSITION_SYM = 650,
++    PRECISION = 651,
++    PREPARE_SYM = 652,
++    PRESERVE_SYM = 653,
++    PREV_SYM = 654,
++    PRIMARY_SYM = 655,
++    PRIVILEGES = 656,
++    PROCEDURE_SYM = 657,
++    PROCESS = 658,
++    PROCESSLIST_SYM = 659,
++    PROFILE_SYM = 660,
++    PROFILES_SYM = 661,
++    PROXY_SYM = 662,
++    PURGE = 663,
++    QUARTER_SYM = 664,
++    QUERY_SYM = 665,
++    QUICK = 666,
++    RANGE_SYM = 667,
++    READS_SYM = 668,
++    READ_ONLY_SYM = 669,
++    READ_SYM = 670,
++    READ_WRITE_SYM = 671,
++    REAL = 672,
++    REBUILD_SYM = 673,
++    RECOVER_SYM = 674,
++    REDOFILE_SYM = 675,
++    REDO_BUFFER_SIZE_SYM = 676,
++    REDUNDANT_SYM = 677,
++    REFERENCES = 678,
++    REGEXP = 679,
++    RELAY = 680,
++    RELAYLOG_SYM = 681,
++    RELAY_LOG_FILE_SYM = 682,
++    RELAY_LOG_POS_SYM = 683,
++    RELAY_THREAD = 684,
++    RELEASE_SYM = 685,
++    RELOAD = 686,
++    REMOVE_SYM = 687,
++    RENAME = 688,
++    REORGANIZE_SYM = 689,
++    REPAIR = 690,
++    REPEATABLE_SYM = 691,
++    REPEAT_SYM = 692,
++    REPLACE = 693,
++    REPLICATION = 694,
++    REQUIRE_SYM = 695,
++    RESET_SYM = 696,
++    RESIGNAL_SYM = 697,
++    RESOURCES = 698,
++    RESTORE_SYM = 699,
++    RESTRICT = 700,
++    RESUME_SYM = 701,
++    RETURNS_SYM = 702,
++    RETURN_SYM = 703,
++    REVOKE = 704,
++    RIGHT = 705,
++    ROLLBACK_SYM = 706,
++    ROLLUP_SYM = 707,
++    ROUTINE_SYM = 708,
++    ROWS_SYM = 709,
++    ROW_FORMAT_SYM = 710,
++    ROW_SYM = 711,
++    RTREE_SYM = 712,
++    SAVEPOINT_SYM = 713,
++    SCHEDULE_SYM = 714,
++    SCHEMA_NAME_SYM = 715,
++    SECOND_MICROSECOND_SYM = 716,
++    SECOND_SYM = 717,
++    SECURITY_SYM = 718,
++    SELECT_SYM = 719,
++    SENSITIVE_SYM = 720,
++    SEPARATOR_SYM = 721,
++    SERIALIZABLE_SYM = 722,
++    SERIAL_SYM = 723,
++    SESSION_SYM = 724,
++    SERVER_SYM = 725,
++    SERVER_OPTIONS = 726,
++    SET = 727,
++    SET_VAR = 728,
++    SHARE_SYM = 729,
++    SHIFT_LEFT = 730,
++    SHIFT_RIGHT = 731,
++    SHOW = 732,
++    SHUTDOWN = 733,
++    SIGNAL_SYM = 734,
++    SIGNED_SYM = 735,
++    SIMPLE_SYM = 736,
++    SLAVE = 737,
++    SLOW = 738,
++    SMALLINT = 739,
++    SNAPSHOT_SYM = 740,
++    SOCKET_SYM = 741,
++    SOFT_SYM = 742,
++    SONAME_SYM = 743,
++    SOUNDS_SYM = 744,
++    SOURCE_SYM = 745,
++    SPATIAL_SYM = 746,
++    SPECIFIC_SYM = 747,
++    SQLEXCEPTION_SYM = 748,
++    SQLSTATE_SYM = 749,
++    SQLWARNING_SYM = 750,
++    SQL_BIG_RESULT = 751,
++    SQL_BUFFER_RESULT = 752,
++    SQL_CACHE_SYM = 753,
++    SQL_CALC_FOUND_ROWS = 754,
++    SQL_NO_CACHE_SYM = 755,
++    SQL_SMALL_RESULT = 756,
++    SQL_SYM = 757,
++    SQL_THREAD = 758,
++    SSL_SYM = 759,
++    STARTING = 760,
++    STARTS_SYM = 761,
++    START_SYM = 762,
++    STATUS_SYM = 763,
++    STDDEV_SAMP_SYM = 764,
++    STD_SYM = 765,
++    STOP_SYM = 766,
++    STORAGE_SYM = 767,
++    STRAIGHT_JOIN = 768,
++    STRING_SYM = 769,
++    SUBCLASS_ORIGIN_SYM = 770,
++    SUBDATE_SYM = 771,
++    SUBJECT_SYM = 772,
++    SUBPARTITIONS_SYM = 773,
++    SUBPARTITION_SYM = 774,
++    SUBSTRING = 775,
++    SUM_SYM = 776,
++    SUPER_SYM = 777,
++    SUSPEND_SYM = 778,
++    SWAPS_SYM = 779,
++    SWITCHES_SYM = 780,
++    SYSDATE = 781,
++    TABLES = 782,
++    TABLESPACE = 783,
++    TABLE_REF_PRIORITY = 784,
++    TABLE_STATS_SYM = 785,
++    TABLE_SYM = 786,
++    TABLE_CHECKSUM_SYM = 787,
++    TABLE_NAME_SYM = 788,
++    TEMPORARY = 789,
++    TEMPTABLE_SYM = 790,
++    TERMINATED = 791,
++    TEXT_STRING = 792,
++    TEXT_SYM = 793,
++    THAN_SYM = 794,
++    THEN_SYM = 795,
++    TIMESTAMP = 796,
++    TIMESTAMP_ADD = 797,
++    TIMESTAMP_DIFF = 798,
++    TIME_SYM = 799,
++    TINYBLOB = 800,
++    TINYINT = 801,
++    TINYTEXT = 802,
++    TO_SYM = 803,
++    TRAILING = 804,
++    TRANSACTION_SYM = 805,
++    TRANSACTIONAL_SYM = 806,
++    TRIGGERS_SYM = 807,
++    TRIGGER_SYM = 808,
++    TRIM = 809,
++    TRUE_SYM = 810,
++    TRUNCATE_SYM = 811,
++    TYPES_SYM = 812,
++    TYPE_SYM = 813,
++    UDF_RETURNS_SYM = 814,
++    ULONGLONG_NUM = 815,
++    UNCOMMITTED_SYM = 816,
++    UNDEFINED_SYM = 817,
++    UNDERSCORE_CHARSET = 818,
++    UNDOFILE_SYM = 819,
++    UNDO_BUFFER_SIZE_SYM = 820,
++    UNDO_SYM = 821,
++    UNICODE_SYM = 822,
++    UNINSTALL_SYM = 823,
++    UNION_SYM = 824,
++    UNIQUE_SYM = 825,
++    UNKNOWN_SYM = 826,
++    UNLOCK_SYM = 827,
++    UNSIGNED = 828,
++    UNTIL_SYM = 829,
++    UPDATE_SYM = 830,
++    UPGRADE_SYM = 831,
++    USAGE = 832,
++    USER = 833,
++    USER_STATS_SYM = 834,
++    USE_FRM = 835,
++    USE_SYM = 836,
++    USING = 837,
++    UTC_DATE_SYM = 838,
++    UTC_TIMESTAMP_SYM = 839,
++    UTC_TIME_SYM = 840,
++    VALUES = 841,
++    VALUE_SYM = 842,
++    VARBINARY = 843,
++    VARCHAR = 844,
++    VARIABLES = 845,
++    VARIANCE_SYM = 846,
++    VARYING = 847,
++    VAR_SAMP_SYM = 848,
++    VIA_SYM = 849,
++    VIEW_SYM = 850,
++    VIRTUAL_SYM = 851,
++    WAIT_SYM = 852,
++    WARNINGS = 853,
++    WEEK_SYM = 854,
++    WHEN_SYM = 855,
++    WHERE = 856,
++    WHILE_SYM = 857,
++    WITH = 858,
++    WITH_CUBE_SYM = 859,
++    WITH_ROLLUP_SYM = 860,
++    WORK_SYM = 861,
++    WRAPPER_SYM = 862,
++    WRITE_SYM = 863,
++    X509_SYM = 864,
++    XA_SYM = 865,
++    XML_SYM = 866,
++    XOR = 867,
++    YEAR_MONTH_SYM = 868,
++    YEAR_SYM = 869,
++    ZEROFILL = 870,
++    IMPOSSIBLE_ACTION = 871
++  };
++#endif
++/* Tokens.  */
++#define ABORT_SYM 258
++#define ACCESSIBLE_SYM 259
++#define ACTION 260
++#define ADD 261
++#define ADDDATE_SYM 262
++#define AFTER_SYM 263
++#define AGAINST 264
++#define AGGREGATE_SYM 265
++#define ALGORITHM_SYM 266
++#define ALL 267
++#define ALTER 268
++#define ALWAYS_SYM 269
++#define ANALYZE_SYM 270
++#define AND_AND_SYM 271
++#define AND_SYM 272
++#define ANY_SYM 273
++#define AS 274
++#define ASC 275
++#define ASCII_SYM 276
++#define ASENSITIVE_SYM 277
++#define AT_SYM 278
++#define AUTHORS_SYM 279
++#define AUTOEXTEND_SIZE_SYM 280
++#define AUTO_INC 281
++#define AVG_ROW_LENGTH 282
++#define AVG_SYM 283
++#define BACKUP_SYM 284
++#define BEFORE_SYM 285
++#define BEGIN_SYM 286
++#define BETWEEN_SYM 287
++#define BIGINT 288
++#define BINARY 289
++#define BINLOG_SYM 290
++#define BIN_NUM 291
++#define BIT_AND 292
++#define BIT_OR 293
++#define BIT_SYM 294
++#define BIT_XOR 295
++#define BLOB_SYM 296
++#define BLOCK_SYM 297
++#define BOOLEAN_SYM 298
++#define BOOL_SYM 299
++#define BOTH 300
++#define BTREE_SYM 301
++#define BY 302
++#define BYTE_SYM 303
++#define CACHE_SYM 304
++#define CALL_SYM 305
++#define CASCADE 306
++#define CASCADED 307
++#define CASE_SYM 308
++#define CAST_SYM 309
++#define CATALOG_NAME_SYM 310
++#define CHAIN_SYM 311
++#define CHANGE 312
++#define CHANGED 313
++#define CHARSET 314
++#define CHAR_SYM 315
++#define CHECKPOINT_SYM 316
++#define CHECKSUM_SYM 317
++#define CHECK_SYM 318
++#define CIPHER_SYM 319
++#define CLASS_ORIGIN_SYM 320
++#define CLIENT_SYM 321
++#define CLIENT_STATS_SYM 322
++#define CLOSE_SYM 323
++#define COALESCE 324
++#define CODE_SYM 325
++#define COLLATE_SYM 326
++#define COLLATION_SYM 327
++#define COLUMNS 328
++#define COLUMN_ADD_SYM 329
++#define COLUMN_CREATE_SYM 330
++#define COLUMN_DELETE_SYM 331
++#define COLUMN_EXISTS_SYM 332
++#define COLUMN_GET_SYM 333
++#define COLUMN_LIST_SYM 334
++#define COLUMN_SYM 335
++#define COLUMN_NAME_SYM 336
++#define COMMENT_SYM 337
++#define COMMITTED_SYM 338
++#define COMMIT_SYM 339
++#define COMPACT_SYM 340
++#define COMPLETION_SYM 341
++#define COMPRESSED_SYM 342
++#define CONCURRENT 343
++#define CONDITION_SYM 344
++#define CONNECTION_SYM 345
++#define CONSISTENT_SYM 346
++#define CONSTRAINT 347
++#define CONSTRAINT_CATALOG_SYM 348
++#define CONSTRAINT_NAME_SYM 349
++#define CONSTRAINT_SCHEMA_SYM 350
++#define CONTAINS_SYM 351
++#define CONTEXT_SYM 352
++#define CONTINUE_SYM 353
++#define CONTRIBUTORS_SYM 354
++#define CONVERT_SYM 355
++#define COUNT_SYM 356
++#define CPU_SYM 357
++#define CREATE 358
++#define CROSS 359
++#define CUBE_SYM 360
++#define CURDATE 361
++#define CURRENT_USER 362
++#define CURSOR_SYM 363
++#define CURSOR_NAME_SYM 364
++#define CURTIME 365
++#define DATABASE 366
++#define DATABASES 367
++#define DATAFILE_SYM 368
++#define DATA_SYM 369
++#define DATETIME 370
++#define DATE_ADD_INTERVAL 371
++#define DATE_SUB_INTERVAL 372
++#define DATE_SYM 373
++#define DAY_HOUR_SYM 374
++#define DAY_MICROSECOND_SYM 375
++#define DAY_MINUTE_SYM 376
++#define DAY_SECOND_SYM 377
++#define DAY_SYM 378
++#define DEALLOCATE_SYM 379
++#define DECIMAL_NUM 380
++#define DECIMAL_SYM 381
++#define DECLARE_SYM 382
++#define DEFAULT 383
++#define DEFINER_SYM 384
++#define DELAYED_SYM 385
++#define DELAY_KEY_WRITE_SYM 386
++#define DELETE_SYM 387
++#define DESC 388
++#define DESCRIBE 389
++#define DES_KEY_FILE 390
++#define DETERMINISTIC_SYM 391
++#define DIRECTORY_SYM 392
++#define DISABLE_SYM 393
++#define DISCARD 394
++#define DISK_SYM 395
++#define DISTINCT 396
++#define DIV_SYM 397
++#define DOUBLE_SYM 398
++#define DO_SYM 399
++#define DROP 400
++#define DUAL_SYM 401
++#define DUMPFILE 402
++#define DUPLICATE_SYM 403
++#define DYNAMIC_SYM 404
++#define EACH_SYM 405
++#define ELSE 406
++#define ELSEIF_SYM 407
++#define ENABLE_SYM 408
++#define ENCLOSED 409
++#define END 410
++#define ENDS_SYM 411
++#define END_OF_INPUT 412
++#define ENGINES_SYM 413
++#define ENGINE_SYM 414
++#define ENUM 415
++#define EQUAL_SYM 416
++#define ERROR_SYM 417
++#define ERRORS 418
++#define ESCAPED 419
++#define ESCAPE_SYM 420
++#define EVENTS_SYM 421
++#define EVENT_SYM 422
++#define EVERY_SYM 423
++#define EXAMINED_SYM 424
++#define EXECUTE_SYM 425
++#define EXISTS 426
++#define EXIT_SYM 427
++#define EXPANSION_SYM 428
++#define EXTENDED_SYM 429
++#define EXTENT_SIZE_SYM 430
++#define EXTRACT_SYM 431
++#define FALSE_SYM 432
++#define FAST_SYM 433
++#define FAULTS_SYM 434
++#define FETCH_SYM 435
++#define FILE_SYM 436
++#define FIRST_SYM 437
++#define FIXED_SYM 438
++#define FLOAT_NUM 439
++#define FLOAT_SYM 440
++#define FLUSH_SYM 441
++#define FORCE_SYM 442
++#define FOREIGN 443
++#define FOR_SYM 444
++#define FOUND_SYM 445
++#define FROM 446
++#define FULL 447
++#define FULLTEXT_SYM 448
++#define FUNCTION_SYM 449
++#define GE 450
++#define GENERAL 451
++#define GENERATED_SYM 452
++#define GEOMETRYCOLLECTION 453
++#define GEOMETRY_SYM 454
++#define GET_FORMAT 455
++#define GLOBAL_SYM 456
++#define GRANT 457
++#define GRANTS 458
++#define GROUP_SYM 459
++#define GROUP_CONCAT_SYM 460
++#define HANDLER_SYM 461
++#define HARD_SYM 462
++#define HASH_SYM 463
++#define HAVING 464
++#define HELP_SYM 465
++#define HEX_NUM 466
++#define HEX_STRING 467
++#define HIGH_PRIORITY 468
++#define HOST_SYM 469
++#define HOSTS_SYM 470
++#define HOUR_MICROSECOND_SYM 471
++#define HOUR_MINUTE_SYM 472
++#define HOUR_SECOND_SYM 473
++#define HOUR_SYM 474
++#define IDENT 475
++#define IDENTIFIED_SYM 476
++#define IDENT_QUOTED 477
++#define IF 478
++#define IGNORE_SYM 479
++#define IGNORE_SERVER_IDS_SYM 480
++#define IMPORT 481
++#define INDEXES 482
++#define INDEX_SYM 483
++#define INDEX_STATS_SYM 484
++#define INFILE 485
++#define INITIAL_SIZE_SYM 486
++#define INNER_SYM 487
++#define INOUT_SYM 488
++#define INSENSITIVE_SYM 489
++#define INSERT 490
++#define INSERT_METHOD 491
++#define INSTALL_SYM 492
++#define INTERVAL_SYM 493
++#define INTO 494
++#define INT_SYM 495
++#define INVOKER_SYM 496
++#define IN_SYM 497
++#define IO_SYM 498
++#define IPC_SYM 499
++#define IS 500
++#define ISOLATION 501
++#define ISSUER_SYM 502
++#define ITERATE_SYM 503
++#define JOIN_SYM 504
++#define KEYS 505
++#define KEY_BLOCK_SIZE 506
++#define KEY_SYM 507
++#define KILL_SYM 508
++#define LANGUAGE_SYM 509
++#define LAST_SYM 510
++#define LAST_VALUE 511
++#define LE 512
++#define LEADING 513
++#define LEAVES 514
++#define LEAVE_SYM 515
++#define LEFT 516
++#define LESS_SYM 517
++#define LEVEL_SYM 518
++#define LEX_HOSTNAME 519
++#define LIKE 520
++#define LIMIT 521
++#define LINEAR_SYM 522
++#define LINES 523
++#define LINESTRING 524
++#define LIST_SYM 525
++#define LOAD 526
++#define LOCAL_SYM 527
++#define LOCATOR_SYM 528
++#define LOCKS_SYM 529
++#define LOCK_SYM 530
++#define LOGFILE_SYM 531
++#define LOGS_SYM 532
++#define LONGBLOB 533
++#define LONGTEXT 534
++#define LONG_NUM 535
++#define LONG_SYM 536
++#define LOOP_SYM 537
++#define LOW_PRIORITY 538
++#define MASTER_CONNECT_RETRY_SYM 539
++#define MASTER_HOST_SYM 540
++#define MASTER_LOG_FILE_SYM 541
++#define MASTER_LOG_POS_SYM 542
++#define MASTER_PASSWORD_SYM 543
++#define MASTER_PORT_SYM 544
++#define MASTER_SERVER_ID_SYM 545
++#define MASTER_SSL_CAPATH_SYM 546
++#define MASTER_SSL_CA_SYM 547
++#define MASTER_SSL_CERT_SYM 548
++#define MASTER_SSL_CIPHER_SYM 549
++#define MASTER_SSL_KEY_SYM 550
++#define MASTER_SSL_SYM 551
++#define MASTER_SSL_VERIFY_SERVER_CERT_SYM 552
++#define MASTER_SYM 553
++#define MASTER_USER_SYM 554
++#define MASTER_HEARTBEAT_PERIOD_SYM 555
++#define MATCH 556
++#define MAX_CONNECTIONS_PER_HOUR 557
++#define MAX_QUERIES_PER_HOUR 558
++#define MAX_ROWS 559
++#define MAX_SIZE_SYM 560
++#define MAX_SYM 561
++#define MAX_UPDATES_PER_HOUR 562
++#define MAX_USER_CONNECTIONS_SYM 563
++#define MAX_VALUE_SYM 564
++#define MEDIUMBLOB 565
++#define MEDIUMINT 566
++#define MEDIUMTEXT 567
++#define MEDIUM_SYM 568
++#define MEMORY_SYM 569
++#define MERGE_SYM 570
++#define MESSAGE_TEXT_SYM 571
++#define MICROSECOND_SYM 572
++#define MIGRATE_SYM 573
++#define MINUTE_MICROSECOND_SYM 574
++#define MINUTE_SECOND_SYM 575
++#define MINUTE_SYM 576
++#define MIN_ROWS 577
++#define MIN_SYM 578
++#define MODE_SYM 579
++#define MODIFIES_SYM 580
++#define MODIFY_SYM 581
++#define MOD_SYM 582
++#define MONTH_SYM 583
++#define MULTILINESTRING 584
++#define MULTIPOINT 585
++#define MULTIPOLYGON 586
++#define MUTEX_SYM 587
++#define MYSQL_SYM 588
++#define MYSQL_ERRNO_SYM 589
++#define NAMES_SYM 590
++#define NAME_SYM 591
++#define NATIONAL_SYM 592
++#define NATURAL 593
++#define NCHAR_STRING 594
++#define NCHAR_SYM 595
++#define NDBCLUSTER_SYM 596
++#define NE 597
++#define NEG 598
++#define NEW_SYM 599
++#define NEXT_SYM 600
++#define NODEGROUP_SYM 601
++#define NONE_SYM 602
++#define NOT2_SYM 603
++#define NOT_SYM 604
++#define NOW_SYM 605
++#define NO_SYM 606
++#define NO_WAIT_SYM 607
++#define NO_WRITE_TO_BINLOG 608
++#define NULL_SYM 609
++#define NUM 610
++#define NUMERIC_SYM 611
++#define NVARCHAR_SYM 612
++#define OFFSET_SYM 613
++#define OLD_PASSWORD 614
++#define ON 615
++#define ONE_SHOT_SYM 616
++#define ONE_SYM 617
++#define ONLINE_SYM 618
++#define OPEN_SYM 619
++#define OPTIMIZE 620
++#define OPTIONS_SYM 621
++#define OPTION 622
++#define OPTIONALLY 623
++#define OR2_SYM 624
++#define ORDER_SYM 625
++#define OR_OR_SYM 626
++#define OR_SYM 627
++#define OUTER 628
++#define OUTFILE 629
++#define OUT_SYM 630
++#define OWNER_SYM 631
++#define PACK_KEYS_SYM 632
++#define PAGE_SYM 633
++#define PAGE_CHECKSUM_SYM 634
++#define PARAM_MARKER 635
++#define PARSER_SYM 636
++#define PARSE_VCOL_EXPR_SYM 637
++#define PARTIAL 638
++#define PARTITIONING_SYM 639
++#define PARTITIONS_SYM 640
++#define PARTITION_SYM 641
++#define PASSWORD 642
++#define PERSISTENT_SYM 643
++#define PHASE_SYM 644
++#define PLUGINS_SYM 645
++#define PLUGIN_SYM 646
++#define POINT_SYM 647
++#define POLYGON 648
++#define PORT_SYM 649
++#define POSITION_SYM 650
++#define PRECISION 651
++#define PREPARE_SYM 652
++#define PRESERVE_SYM 653
++#define PREV_SYM 654
++#define PRIMARY_SYM 655
++#define PRIVILEGES 656
++#define PROCEDURE_SYM 657
++#define PROCESS 658
++#define PROCESSLIST_SYM 659
++#define PROFILE_SYM 660
++#define PROFILES_SYM 661
++#define PROXY_SYM 662
++#define PURGE 663
++#define QUARTER_SYM 664
++#define QUERY_SYM 665
++#define QUICK 666
++#define RANGE_SYM 667
++#define READS_SYM 668
++#define READ_ONLY_SYM 669
++#define READ_SYM 670
++#define READ_WRITE_SYM 671
++#define REAL 672
++#define REBUILD_SYM 673
++#define RECOVER_SYM 674
++#define REDOFILE_SYM 675
++#define REDO_BUFFER_SIZE_SYM 676
++#define REDUNDANT_SYM 677
++#define REFERENCES 678
++#define REGEXP 679
++#define RELAY 680
++#define RELAYLOG_SYM 681
++#define RELAY_LOG_FILE_SYM 682
++#define RELAY_LOG_POS_SYM 683
++#define RELAY_THREAD 684
++#define RELEASE_SYM 685
++#define RELOAD 686
++#define REMOVE_SYM 687
++#define RENAME 688
++#define REORGANIZE_SYM 689
++#define REPAIR 690
++#define REPEATABLE_SYM 691
++#define REPEAT_SYM 692
++#define REPLACE 693
++#define REPLICATION 694
++#define REQUIRE_SYM 695
++#define RESET_SYM 696
++#define RESIGNAL_SYM 697
++#define RESOURCES 698
++#define RESTORE_SYM 699
++#define RESTRICT 700
++#define RESUME_SYM 701
++#define RETURNS_SYM 702
++#define RETURN_SYM 703
++#define REVOKE 704
++#define RIGHT 705
++#define ROLLBACK_SYM 706
++#define ROLLUP_SYM 707
++#define ROUTINE_SYM 708
++#define ROWS_SYM 709
++#define ROW_FORMAT_SYM 710
++#define ROW_SYM 711
++#define RTREE_SYM 712
++#define SAVEPOINT_SYM 713
++#define SCHEDULE_SYM 714
++#define SCHEMA_NAME_SYM 715
++#define SECOND_MICROSECOND_SYM 716
++#define SECOND_SYM 717
++#define SECURITY_SYM 718
++#define SELECT_SYM 719
++#define SENSITIVE_SYM 720
++#define SEPARATOR_SYM 721
++#define SERIALIZABLE_SYM 722
++#define SERIAL_SYM 723
++#define SESSION_SYM 724
++#define SERVER_SYM 725
++#define SERVER_OPTIONS 726
++#define SET 727
++#define SET_VAR 728
++#define SHARE_SYM 729
++#define SHIFT_LEFT 730
++#define SHIFT_RIGHT 731
++#define SHOW 732
++#define SHUTDOWN 733
++#define SIGNAL_SYM 734
++#define SIGNED_SYM 735
++#define SIMPLE_SYM 736
++#define SLAVE 737
++#define SLOW 738
++#define SMALLINT 739
++#define SNAPSHOT_SYM 740
++#define SOCKET_SYM 741
++#define SOFT_SYM 742
++#define SONAME_SYM 743
++#define SOUNDS_SYM 744
++#define SOURCE_SYM 745
++#define SPATIAL_SYM 746
++#define SPECIFIC_SYM 747
++#define SQLEXCEPTION_SYM 748
++#define SQLSTATE_SYM 749
++#define SQLWARNING_SYM 750
++#define SQL_BIG_RESULT 751
++#define SQL_BUFFER_RESULT 752
++#define SQL_CACHE_SYM 753
++#define SQL_CALC_FOUND_ROWS 754
++#define SQL_NO_CACHE_SYM 755
++#define SQL_SMALL_RESULT 756
++#define SQL_SYM 757
++#define SQL_THREAD 758
++#define SSL_SYM 759
++#define STARTING 760
++#define STARTS_SYM 761
++#define START_SYM 762
++#define STATUS_SYM 763
++#define STDDEV_SAMP_SYM 764
++#define STD_SYM 765
++#define STOP_SYM 766
++#define STORAGE_SYM 767
++#define STRAIGHT_JOIN 768
++#define STRING_SYM 769
++#define SUBCLASS_ORIGIN_SYM 770
++#define SUBDATE_SYM 771
++#define SUBJECT_SYM 772
++#define SUBPARTITIONS_SYM 773
++#define SUBPARTITION_SYM 774
++#define SUBSTRING 775
++#define SUM_SYM 776
++#define SUPER_SYM 777
++#define SUSPEND_SYM 778
++#define SWAPS_SYM 779
++#define SWITCHES_SYM 780
++#define SYSDATE 781
++#define TABLES 782
++#define TABLESPACE 783
++#define TABLE_REF_PRIORITY 784
++#define TABLE_STATS_SYM 785
++#define TABLE_SYM 786
++#define TABLE_CHECKSUM_SYM 787
++#define TABLE_NAME_SYM 788
++#define TEMPORARY 789
++#define TEMPTABLE_SYM 790
++#define TERMINATED 791
++#define TEXT_STRING 792
++#define TEXT_SYM 793
++#define THAN_SYM 794
++#define THEN_SYM 795
++#define TIMESTAMP 796
++#define TIMESTAMP_ADD 797
++#define TIMESTAMP_DIFF 798
++#define TIME_SYM 799
++#define TINYBLOB 800
++#define TINYINT 801
++#define TINYTEXT 802
++#define TO_SYM 803
++#define TRAILING 804
++#define TRANSACTION_SYM 805
++#define TRANSACTIONAL_SYM 806
++#define TRIGGERS_SYM 807
++#define TRIGGER_SYM 808
++#define TRIM 809
++#define TRUE_SYM 810
++#define TRUNCATE_SYM 811
++#define TYPES_SYM 812
++#define TYPE_SYM 813
++#define UDF_RETURNS_SYM 814
++#define ULONGLONG_NUM 815
++#define UNCOMMITTED_SYM 816
++#define UNDEFINED_SYM 817
++#define UNDERSCORE_CHARSET 818
++#define UNDOFILE_SYM 819
++#define UNDO_BUFFER_SIZE_SYM 820
++#define UNDO_SYM 821
++#define UNICODE_SYM 822
++#define UNINSTALL_SYM 823
++#define UNION_SYM 824
++#define UNIQUE_SYM 825
++#define UNKNOWN_SYM 826
++#define UNLOCK_SYM 827
++#define UNSIGNED 828
++#define UNTIL_SYM 829
++#define UPDATE_SYM 830
++#define UPGRADE_SYM 831
++#define USAGE 832
++#define USER 833
++#define USER_STATS_SYM 834
++#define USE_FRM 835
++#define USE_SYM 836
++#define USING 837
++#define UTC_DATE_SYM 838
++#define UTC_TIMESTAMP_SYM 839
++#define UTC_TIME_SYM 840
++#define VALUES 841
++#define VALUE_SYM 842
++#define VARBINARY 843
++#define VARCHAR 844
++#define VARIABLES 845
++#define VARIANCE_SYM 846
++#define VARYING 847
++#define VAR_SAMP_SYM 848
++#define VIA_SYM 849
++#define VIEW_SYM 850
++#define VIRTUAL_SYM 851
++#define WAIT_SYM 852
++#define WARNINGS 853
++#define WEEK_SYM 854
++#define WHEN_SYM 855
++#define WHERE 856
++#define WHILE_SYM 857
++#define WITH 858
++#define WITH_CUBE_SYM 859
++#define WITH_ROLLUP_SYM 860
++#define WORK_SYM 861
++#define WRAPPER_SYM 862
++#define WRITE_SYM 863
++#define X509_SYM 864
++#define XA_SYM 865
++#define XML_SYM 866
++#define XOR 867
++#define YEAR_MONTH_SYM 868
++#define YEAR_SYM 869
++#define ZEROFILL 870
++#define IMPOSSIBLE_ACTION 871
++
++/* Value type.  */
++#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
++typedef union YYSTYPE YYSTYPE;
++union YYSTYPE
++{
++#line 732 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1909  */
++
++  int  num;
++  ulong ulong_num;
++  ulonglong ulonglong_number;
++  longlong longlong_number;
++  LEX_STRING lex_str;
++  LEX_STRING *lex_str_ptr;
++  LEX_SYMBOL symbol;
++  LEX_TYPE lex_type;
++  Table_ident *table;
++  char *simple_string;
++  Item *item;
++  Item_num *item_num;
++  List<Item> *item_list;
++  List<String> *string_list;
++  String *string;
++  Key_part_spec *key_part;
++  TABLE_LIST *table_list;
++  udf_func *udf;
++  LEX_USER *lex_user;
++  struct sys_var_with_base variable;
++  enum enum_var_type var_type;
++  Key::Keytype key_type;
++  enum ha_key_alg key_alg;
++  handlerton *db_type;
++  enum row_type row_type;
++  enum ha_rkey_function ha_rkey_mode;
++  enum enum_tx_isolation tx_isolation;
++  enum Cast_target cast_type;
++  enum Item_udftype udf_type;
++  enum ha_choice choice;
++  CHARSET_INFO *charset;
++  thr_lock_type lock_type;
++  interval_type interval, interval_time_st;
++  timestamp_type date_time_type;
++  st_select_lex *select_lex;
++  chooser_compare_func_creator boolfunc2creator;
++  struct sp_cond_type *spcondtype;
++  struct { int vars, conds, hndlrs, curs; } spblock;
++  sp_name *spname;
++  LEX *lex;
++  sp_head *sphead;
++  struct p_elem_val *p_elem_value;
++  enum index_hint_type index_hint;
++  enum enum_filetype filetype;
++  enum Foreign_key::fk_option m_fk_option;
++  enum enum_yes_no_unknown m_yes_no_unk;
++  Diag_condition_item_name diag_condition_item_name;
++  DYNCALL_CREATE_DEF *dyncol_def;
++  List<DYNCALL_CREATE_DEF> *dyncol_def_list;
++  bool is_not_empty;
++
++#line 1339 "/home/buildbot/git/mkdist/sql/sql_yacc.h" /* yacc.c:1909  */
++};
++# define YYSTYPE_IS_TRIVIAL 1
++# define YYSTYPE_IS_DECLARED 1
++#endif
++
++
++
++int MYSQLparse (THD *thd);
++
++#endif /* !YY_MYSQL_HOME_BUILDBOT_GIT_MKDIST_SQL_SQL_YACC_H_INCLUDED  */
+diff --git a/storage/maria/unittest/ma_test_all-t b/storage/maria/unittest/ma_test_all-t
+new file mode 100755
+index 0000000..e66d269
+--- /dev/null
++++ b/storage/maria/unittest/ma_test_all-t
+@@ -0,0 +1,766 @@
++#!/usr/bin/env perl
++#
++# Run various unit tests.
++#
++
++use Getopt::Long;
++use File::Basename;
++
++$|= 1;
++$^W = 1; # warnings, because env cannot parse 'perl -w'
++$VER= "1.5";
++
++$opt_version=         0;
++$opt_help=            0;
++$opt_verbose=         0;
++$opt_abort_on_error=  0;
++$opt_valgrind=        "valgrind --alignment=8 --leak-check=yes";
++$opt_silent=          "-s";
++$opt_number_of_tests= 0;
++$opt_run_tests=       undef();
++
++my $maria_path;       # path to "storage/maria"
++my $maria_exe_path;   # path to executables (ma_test1, aria_chk etc)
++my $my_progname= $0;
++$my_progname=~ s/.*[\/]//;
++my $runtime_error= 0; # Return 1 if error(s) occur during run
++my $NEW_TEST= 0;      # Test group separator in an array of tests
++my $test_begin= 0;
++my $test_end= 0;
++my $test_counter= 0;
++my $using_internal_tmpdir= 0;
++my $full_tmpdir;
++my $tmpdir="tmp";
++my $exec_dir="TMP-ma_test_all"; # Run test in this directory
++run_tests();
++
++####
++#### Initialise variables, clean temporary files and run the tests
++####
++
++sub run_tests
++{
++  my $nr_tests= 0;
++  my $flag_exit= 0;
++
++  if (!GetOptions("help" => \$opt_help,
++                  "version" => \$opt_version,
++                  "verbose" => \$opt_verbose,
++                  "abort-on-error" => \$opt_abort_on_error,
++                  "valgrind=s" => \$opt_valgrind,
++                  "silent=s" => \$opt_silent,
++                  "tmpdir=s" => \$full_tmpdir,
++                  "number-of-tests" => \$opt_number_of_tests,
++                  "run-tests=s" => \$opt_run_tests,
++                  "start-from=s" => \$opt_run_tests))
++  {
++    $flag_exit= 1;
++  }
++  if ($opt_version)
++  {
++    print "$my_progname version $VER\n";
++    exit(0);
++  }
++
++  if (! -d $exec_dir)
++  {
++    die if (!mkdir("$exec_dir"));
++  }
++  chdir($exec_dir);
++
++  $maria_path= "../" . dirname($0) . "/..";
++
++  my $suffix= ( $^O =~ /win/i  && $^O !~ /darwin/i ) ? ".exe" : "";
++  $maria_exe_path= "$maria_path/release";
++  # we use -f, sometimes -x is unexpectedly false in Cygwin
++  if ( ! -f "$maria_exe_path/ma_test1$suffix" )
++  {
++    $maria_exe_path= "$maria_path/relwithdebinfo";
++    if ( ! -f "$maria_exe_path/ma_test1$suffix" )
++    {
++      $maria_exe_path= "$maria_path/debug";
++      if ( ! -f "$maria_exe_path/ma_test1$suffix" )
++      {
++        $maria_exe_path= $maria_path;
++        if ( ! -f "$maria_exe_path/ma_test1$suffix" )
++        {
++           die("Cannot find ma_test1 executable in $maria_path\n");
++        }
++      }
++    }
++  }
++
++  usage() if ($opt_help || $flag_exit);
++
++  if (defined($full_tmpdir))
++  {
++    $tmpdir= $full_tmpdir;
++  }
++  else
++  {
++    $full_tmpdir= $tmpdir;
++    $using_internal_tmpdir= 1;
++    if (! -d "$full_tmpdir")
++    {
++      die if (!mkdir("$full_tmpdir"));
++    }
++  }
++
++  #
++  # IMPORTANT: If you modify this file, please read this:
++  #
++  # Count total number of tests. Make sure that the functions return
++  # number of unit tests correctly, e.g. calls to ok(). The last argument
++  # for each function is a flag counter and will return the number of
++  # unit tests in each. Please see comments on function ok() at the end.
++  #
++  # If you modify any functions or add any new ones, please make sure the
++  # unit tests are appropriately detected here. A wrong count will
++  # make the unit test fail during 'make test'. $nr_tests must be right.
++  #
++
++  $nr_tests+= run_check_tests(0, 0, 0, 0, 1) * 5;  #
++  $nr_tests+= run_repair_tests(0, 0, 0, 0, 1) * 5; # called 4 times
++  $nr_tests+= run_pack_tests(0, 0, 0, 0, 1) * 5;   #
++  $nr_tests+= run_tests_on_warnings_and_errors(0, 0, 0, 1);
++  $nr_tests+= run_ma_test_recovery(0, 1);
++  $nr_tests+= run_tests_on_clrs(0, 0, 1);
++
++  if ($opt_number_of_tests)
++  {
++    print "Total number of tests is $nr_tests\n";
++    exit(0);
++  }
++
++  if (defined($opt_run_tests))
++  {
++    if ($opt_run_tests =~ m/^(\d+)$/ ||
++        $opt_run_tests =~ m/^(\d+)\.+$/)
++    {
++      $test_begin= $1;
++    }
++    elsif ($opt_run_tests =~ m/^(\d+)\.+(\d+)$/)
++    {
++      $test_begin= $1;
++      $test_end= $2;
++    }
++    else
++    {
++      print "Wrong syntax for option --run-tests=$opt_run_tests\n";
++      print "Please use --run-tests=<begin>..<end>\nwhere 'begin' is the ";
++      print "first test to be run and 'end' is the last.\n";
++      exit(1);
++    }
++    if ($test_end > $nr_tests)
++    {
++      print "Test range ($test_begin..$test_end) out of range. ";
++      print "There are only $nr_tests in the test suite.\n";
++      exit(1);
++    }
++    $test_begin++ if (!$test_begin); # Handle zero, if user gave that
++    if ($test_end && $test_begin > $test_end)
++    {
++      print "Bad test range ($test_begin..$test_end)\n";
++      exit(1);
++    }
++    # Now adjust number of tests
++    $nr_tests= ($test_end ? $test_end : $nr_tests) - $test_begin + 1;
++  }
++
++  #
++  # clean-up
++  #
++
++  unlink_all_possible_tmp_files();
++
++  #
++  # Run tests
++  #
++
++  if (!$opt_verbose)
++  {
++    print "1..$nr_tests\n";
++  }
++  else
++  {
++    print "Total tests: $nr_tests\n";
++  }
++
++  if ($opt_verbose)
++  {
++    print "Running tests with dynamic row format\n"
++  }
++  run_check_tests($suffix, $opt_silent, "", $opt_verbose, 0);
++  run_repair_tests($suffix, $opt_silent, "", $opt_verbose, 0);
++  run_pack_tests($suffix, $opt_silent, "", $opt_verbose, 0);
++
++  if ($opt_verbose)
++  {
++    print "\nRunning tests with static row format\n";
++  }
++  run_check_tests($suffix, $opt_silent, "-S", $opt_verbose, 0);
++  run_repair_tests($suffix, $opt_silent, "-S", $opt_verbose, 0);
++  run_pack_tests($suffix, $opt_silent, "-S", $opt_verbose, 0);
++
++  if ($opt_verbose)
++  {
++    print "\nRunning tests with block row format\n";
++  }
++  run_check_tests($suffix, $opt_silent, "-M", $opt_verbose, 0);
++  run_repair_tests($suffix, $opt_silent, "-M", $opt_verbose, 0);
++  run_pack_tests($suffix, $opt_silent, "-M", $opt_verbose, 0);
++
++  if ($opt_verbose)
++  {
++    print "\nRunning tests with block row format and transactions\n";
++  }
++  run_check_tests($suffix, $opt_silent, "-M -T", $opt_verbose, 0);
++  run_repair_tests($suffix, $opt_silent, "-M -T", $opt_verbose, 0);
++  run_pack_tests($suffix, $opt_silent, "-M -T", $opt_verbose, 0);
++
++  if ($opt_verbose)
++  {
++    print "\nRunning tests with block row format, transactions and versioning\n";
++  }
++  run_check_tests($suffix, $opt_silent, "-M -T -C", $opt_verbose, 0);
++  run_repair_tests($suffix, $opt_silent, "-M -T -C", $opt_verbose, 0);
++  run_pack_tests($suffix, $opt_silent, "-M -T -C", $opt_verbose, 0);
++
++
++  if ($opt_verbose)
++  {
++    print "\nRunning tests with warnings and recovery\n";
++  }
++  run_tests_on_warnings_and_errors($suffix, $opt_silent, $opt_verbose, 0);
++  run_ma_test_recovery($opt_verbose, 0);
++  run_tests_on_clrs($suffix, $opt_verbose, 0);
++
++  unlink_all_possible_tmp_files();
++  if ($using_internal_tmpdir)
++  {
++    rmdir($tmpdir);
++  }
++  rmdir($exec_dir);
++  chdir("..");
++  rmdir($exec_dir);
++  exit($runtime_error);
++}
++
++####
++#### regular tests
++####
++
++sub run_check_tests
++{
++  my ($suffix, $silent, $row_type, $verbose, $count)= @_;
++  my ($i, $nr_tests);
++  my @ma_test1_opt= ( ["","-se"],
++                      ["-N","-se"],
++                      ["-P --checksum","-se"],
++                      ["-P -N","-se"],
++                      ["-B -N -R2","-sm"],
++                      ["-a -k 480 --unique","-sm"],
++                      ["-a -N -R1 ","-sm"],
++                      ["-p","-sm"],
++                      ["-p -N --unique","-sm"],
++                      ["-p -N --key_length=127 --checksum","-sm"],
++                      ["-p -N --key_length=128","-sm"],
++                      ["-p --key_length=480","-sm"],
++                      ["-a -B","-sm"],
++                      ["-a -B --key_length=64 --unique","-sm"],
++                      ["-a -B -k 480 --checksum","-sm"],
++                      ["-a -B -k 480 -N --unique --checksum","-sm"],
++                      ["-a -m","-sm"],
++                      ["-a -m -P --unique --checksum","-sm"],
++                      ["-a -m -P --key_length=480 --key_cache","-sm"],
++                      ["-m -p","-sm"],
++                      ["-w --unique","-sm"],
++                      ["-a -w --key_length=64 --checksum","-sm"],
++                      ["-a -w -N --key_length=480","-sm"],
++                      ["-a -w --key_length=480 --checksum","-sm"],
++                      ["-a -b -N","-sm"],
++                      ["-a -b --key_length=480","-sm"],
++                      ["-p -B --key_length=480","-sm"],
++                      ["--checksum --unique","-se"],
++                      ["--unique","-se"],
++                      ["--rows-no-data", "-s"],
++                      ["--key_multiple -N -S","-sm"],
++                      ["--key_multiple -a -p --key_length=480","-sm"],
++                      ["--key_multiple -a -B --key_length=480","-sm"],
++                      ["--key_multiple -P -S","-sm"] );
++  my @ma_test2_opt= ( ["-L -K -W -P","-sm"],
++                      ["-L -K -W -P -A","-sm"],
++                      ["-L -K -W -P -b32768", "-sm"],
++                      ["-L -K -W -P -M -T -c -b32768 -t4 -m300", "-sm"],
++                      ["-L -K -P -R3 -m50 -b1000000", "-sm"],
++                      ["-L -B","-sm"],
++                      ["-D -B -c","-sm"],
++                      ["-m10000 -e4096 -K","-sm"],
++                      ["-m10000 -e8192 -K","-sm"],
++                      ["-m10000 -e16384 -E16384 -K -L","-sm"],
++                      ["-L -K -W -P -b32768", "-se"],
++                      ["-c -b65000","-se"] );
++  my @ma_rt_test_opt= ( ); # (["--checksum", "-se"] );
++
++
++  if ($count)
++  {
++    $nr_tests= 2;                # Number of tests outside loops
++    for ($i= 0; defined($ma_test1_opt[$i]); $i++) { $nr_tests+=2; }
++    for ($i= 0; defined($ma_test2_opt[$i]); $i++) { $nr_tests+=2; }
++    for ($i= 0; defined($ma_rt_test_opt[$i]); $i++) { $nr_tests+=2; }
++    return $nr_tests;
++  }
++
++  for ($i= 0; defined($ma_test1_opt[$i]); $i++)
++  {
++    unlink_log_files();
++    ok("$maria_exe_path/ma_test1$suffix $silent -h$tmpdir $ma_test1_opt[$i][0] $row_type",
++       $verbose, $i + 1);
++    ok("$maria_exe_path/aria_chk$suffix -h$tmpdir $ma_test1_opt[$i][1] $tmpdir/test1",
++       $verbose, $i + 1);
++  }
++  #
++  # These tests are outside the loops. Make sure to include them in
++  # nr_tests manually
++  #
++  ok("$maria_exe_path/aria_pack$suffix --force -s $tmpdir/test1", $verbose, 0);
++  ok("$maria_exe_path/aria_chk$suffix -ess $tmpdir/test1", $verbose, 0);
++
++  for ($i= 0; defined($ma_test2_opt[$i]); $i++)
++  {
++    unlink_log_files();
++    ok("$maria_exe_path/ma_test2$suffix $silent -h$tmpdir $ma_test2_opt[$i][0] $row_type",
++       $verbose, $i + 1);
++    ok("$maria_exe_path/aria_chk$suffix -h$tmpdir $ma_test2_opt[$i][1] $tmpdir/test2",
++       $verbose, $i + 1);
++  }
++
++  for ($i= 0; defined($ma_rt_test_opt[$i]); $i++)
++  {
++    unlink_log_files();
++    ok("$maria_exe_path/ma_rt_test$suffix $silent -h$tmpdir $ma_rt_test_opt[$i][0] $row_type",
++       $verbose, $i + 1);
++    ok("$maria_exe_path/aria_chk$suffix -h$tmpdir $ma_rt_test_opt[$i][1] $tmpdir/rt_test",
++       $verbose, $i + 1);
++  }
++
++  unlink_log_files();
++
++  return 0;
++}
++
++####
++#### repair tests
++####
++
++sub run_repair_tests()
++{
++  my ($suffix, $silent, $row_type, $verbose, $count)= @_;
++  my ($i);
++
++  my @t= ($NEW_TEST,
++          "$maria_exe_path/ma_test1$suffix $silent --checksum $row_type",
++          "$maria_exe_path/aria_chk$suffix -se test1",
++          "$maria_exe_path/aria_chk$suffix --silent -re --transaction-log test1",
++          "$maria_exe_path/aria_chk$suffix -rs test1",
++          "$maria_exe_path/aria_chk$suffix -se test1",
++          "$maria_exe_path/aria_chk$suffix -rqs test1",
++          "$maria_exe_path/aria_chk$suffix -se test1",
++          "$maria_exe_path/aria_chk$suffix -rs --correct-checksum test1",
++          "$maria_exe_path/aria_chk$suffix -se test1",
++          "$maria_exe_path/aria_chk$suffix -rqs --correct-checksum test1",
++          "$maria_exe_path/aria_chk$suffix -se test1",
++          "$maria_exe_path/aria_chk$suffix -ros --correct-checksum test1",
++          "$maria_exe_path/aria_chk$suffix -se test1",
++          "$maria_exe_path/aria_chk$suffix -rqos --correct-checksum test1",
++          "$maria_exe_path/aria_chk$suffix -se test1",
++          "$maria_exe_path/aria_chk$suffix -sz test1",
++          "$maria_exe_path/aria_chk$suffix -se test1",
++          "$maria_exe_path/ma_test2$suffix $silent -c -d1 $row_type",
++          "$maria_exe_path/aria_chk$suffix -s --parallel-recover test2",
++          "$maria_exe_path/aria_chk$suffix -se test2",
++          "$maria_exe_path/aria_chk$suffix -s --parallel-recover --quick test2",
++          "$maria_exe_path/aria_chk$suffix -se test2",
++          "$maria_exe_path/ma_test2$suffix $silent -c $row_type",
++          "$maria_exe_path/aria_chk$suffix -se test2",
++          "$maria_exe_path/aria_chk$suffix -sr test2",
++          "$maria_exe_path/aria_chk$suffix -se test2",
++          "$maria_exe_path/ma_test2$suffix $silent -c -t4 -b32768 $row_type",
++          "$maria_exe_path/aria_chk$suffix -s --zerofill test1",
++          "$maria_exe_path/aria_chk$suffix -se test1"
++         );
++
++  return &count_tests(\@t) if ($count);
++  &run_test_bunch(\@t, $verbose, 0);
++  return 0;
++}
++
++####
++#### pack tests
++####
++
++sub run_pack_tests()
++{
++  my ($suffix, $silent, $row_type, $verbose, $count)= @_;
++  my ($i);
++
++  my @t= ($NEW_TEST,
++          "$maria_exe_path/ma_test1$suffix $silent --checksum $row_type",
++          "$maria_exe_path/aria_pack$suffix --force -s test1",
++          "$maria_exe_path/aria_chk$suffix -ess test1",
++          "$maria_exe_path/aria_chk$suffix -rqs test1",
++          "$maria_exe_path/aria_chk$suffix -es test1",
++          "$maria_exe_path/aria_chk$suffix -rs test1",
++          "$maria_exe_path/aria_chk$suffix -es test1",
++          "$maria_exe_path/aria_chk$suffix -rus test1",
++          "$maria_exe_path/aria_chk$suffix -es test1",
++          $NEW_TEST,
++          "$maria_exe_path/ma_test1$suffix $silent --checksum $row_type",
++          "$maria_exe_path/aria_pack$suffix --force -s test1",
++          "$maria_exe_path/aria_chk$suffix -rus --safe-recover test1",
++          "$maria_exe_path/aria_chk$suffix -es test1",
++          $NEW_TEST,
++          "$maria_exe_path/ma_test1$suffix $silent --checksum -S $row_type",
++          "$maria_exe_path/aria_chk$suffix -se test1",
++          "$maria_exe_path/aria_chk$suffix -ros test1",
++          "$maria_exe_path/aria_chk$suffix -rqs test1",
++          "$maria_exe_path/aria_chk$suffix -se test1",
++          $NEW_TEST,
++          "$maria_exe_path/aria_pack$suffix --force -s test1",
++          "$maria_exe_path/aria_chk$suffix -rqs test1",
++          "$maria_exe_path/aria_chk$suffix -es test1",
++          "$maria_exe_path/aria_chk$suffix -rus test1",
++          "$maria_exe_path/aria_chk$suffix -es test1",
++          $NEW_TEST,
++          "$maria_exe_path/ma_test2$suffix $silent -c -d1 $row_type",
++          "$maria_exe_path/aria_chk$suffix -s --parallel-recover test2",
++          "$maria_exe_path/aria_chk$suffix -se test2",
++          "$maria_exe_path/aria_chk$suffix -s --unpack --parallel-recover test2",
++          "$maria_exe_path/aria_chk$suffix -se test2",
++          "$maria_exe_path/aria_pack$suffix --force -s test1",
++          "$maria_exe_path/aria_chk$suffix -s --unpack --parallel-recover test2",
++          "$maria_exe_path/aria_chk$suffix -se test2",
++          $NEW_TEST,
++          "$maria_exe_path/ma_test1$suffix $silent -c $row_type",
++          "cp test1.MAD test2.MAD",
++          "cp test1.MAI test2.MAI",
++          "$maria_exe_path/aria_pack$suffix --force -s --join=test3 test1 test2",
++         );
++
++  return (&count_tests(\@t) + 3) if ($count);
++  &run_test_bunch(\@t, $verbose, 0);
++
++  ok("$maria_exe_path/aria_chk -s test3", $verbose, 0, 1);
++  @t= ("$maria_exe_path/aria_chk -s --safe-recover test3",
++       "$maria_exe_path/aria_chk -s test3");
++  &run_test_bunch(\@t, $verbose, 0);
++
++  return 0;
++}
++
++####
++#### Tests that gives warnings or errors
++####
++
++sub run_tests_on_warnings_and_errors
++{
++  my ($suffix, $silent, $verbose, $count)= @_;
++  my ($com);
++
++  return 9 if ($count);  # Number of tests in this function, e.g. calls to ok()
++
++  ok("$maria_exe_path/ma_test2$suffix -h$tmpdir $silent -L -K -W -P -S -R1 -m500",
++     $verbose, 0);
++  ok("$maria_exe_path/aria_chk$suffix -h$tmpdir -sm $tmpdir/test2", $verbose, 0);
++  # ma_test2$suffix $silent -L -K -R1 -m2000 ;  Should give error 135\n
++  # In the following a failure is a success and success is a failure
++  $com=  "$maria_exe_path/ma_test2$suffix -h$tmpdir $silent -L -K -R1 -m2000 ";
++  $com.= ">ma_test2_message.txt 2>&1";
++  ok($com, $verbose, 0, 1);
++  ok("cat ma_test2_message.txt", $verbose, 0);
++  ok("grep \"Error: 135\" ma_test2_message.txt > /dev/null", $verbose, 0);
++  # maria_exe_path/aria_chk$suffix -h$tmpdir -sm $tmpdir/test2 will warn that
++  # Datafile is almost full
++  ok("$maria_exe_path/aria_chk$suffix -h$tmpdir -sm $tmpdir/test2 >ma_test2_message.txt 2>&1",
++     $verbose, 0, 1);
++  ok("cat ma_test2_message.txt", $verbose, 0);
++  ok("grep \"warning: Datafile is almost full\" ma_test2_message.txt>/dev/null",
++     $verbose, 0);
++  unlink <ma_test2_message.txt>;
++  ok("$maria_exe_path/aria_chk$suffix -h$tmpdir -ssm $tmpdir/test2", $verbose, 0);
++
++  return 0;
++}
++
++####
++#### Test that removing tables and applying the log leads to identical tables
++####
++
++sub run_ma_test_recovery
++{
++  my ($verbose, $count)= @_;
++
++  return 1 if ($count);                # Number of tests in this function
++  ok("$maria_path/unittest/ma_test_recovery.pl", $verbose, 0);
++  return 0;
++}
++
++####
++#### Tests on CLR's
++####
++
++sub run_tests_on_clrs
++{
++  my ($suffix, $verbose, $count)= @_;
++  my ($i);
++
++  my @t= ($NEW_TEST,
++          "$maria_exe_path/ma_test2$suffix -h$tmpdir -s -L -K -W -P -M -T -c -b -t2 -A1",
++          "cp $tmpdir/aria_log_control $tmpdir/aria_log_control.backup",
++          "$maria_exe_path/aria_read_log$suffix -a -s -h$tmpdir",
++          "$maria_exe_path/aria_chk$suffix -h$tmpdir -s -e $tmpdir/test2",
++          "mv $tmpdir/aria_log_control.backup $tmpdir/aria_log_control",
++          "rm $tmpdir/test2.MA?",
++          "$maria_exe_path/aria_read_log$suffix -a -s -h$tmpdir",
++          "$maria_exe_path/aria_chk$suffix -h$tmpdir -s -e $tmpdir/test2",
++          "rm $tmpdir/test2.MA?",
++          $NEW_TEST,
++          "$maria_exe_path/ma_test2$suffix -h$tmpdir -s -L -K -W -P -M -T -c -b -t2 -A1",
++          "$maria_exe_path/aria_read_log$suffix -a -s -h$tmpdir ",
++          "$maria_exe_path/aria_chk$suffix -h$tmpdir -s -e $tmpdir/test2",
++          "rm $tmpdir/test2.MA?",
++          "$maria_exe_path/aria_read_log$suffix -a -s -h$tmpdir",
++          "$maria_exe_path/aria_chk$suffix -h$tmpdir -e -s $tmpdir/test2",
++          "rm $tmpdir/test2.MA?",
++          $NEW_TEST,
++          "$maria_exe_path/ma_test2$suffix -h$tmpdir -s -L -K -W -P -M -T -c -b32768 -t4 -A1",
++          "$maria_exe_path/aria_read_log$suffix -a -s -h$tmpdir",
++          "$maria_exe_path/aria_chk$suffix -h$tmpdir -es $tmpdir/test2",
++          "$maria_exe_path/aria_read_log$suffix -a -s -h$tmpdir ",
++          "$maria_exe_path/aria_chk$suffix -h$tmpdir -es $tmpdir/test2",
++          "rm $tmpdir/test2.MA?",
++          "$maria_exe_path/aria_read_log$suffix -a -s -h$tmpdir",
++          "$maria_exe_path/aria_chk$suffix -h$tmpdir -es $tmpdir/test2",
++          "rm $tmpdir/test2.MA?"
++         );
++
++  return &count_tests(\@t) if ($count);
++  &run_test_bunch(\@t, $verbose, 1);
++  return 0;
++}
++
++#
++# Print "ok" on success and "not ok" on error
++#
++# Note: Every time this function is called it will be counted
++# as a unit test.
++#
++# Args: $com:            The actual command run. Will be printed on a failure
++#       $verbose:        Be more verbose.
++#       $iteration:      Number of iterations in a loop when the error
++#                        occurred. If not in loop, this should be blank
++#                        (e.g. send zero).
++#       $expected_error: Optional; put here expected error code. Test
++#                        will pass with this result only.
++#
++# Return value:          Will return 1 on success and 0 on an error
++#
++
++sub ok
++{
++  my ($com, $verbose, $iteration, $expected_error)= @_;
++  my ($msg, $output, $err, $errcode, $len);
++
++  $test_counter++;
++  if ($test_begin > $test_counter)
++  {
++    return 0;
++  }
++  if ($test_end && $test_end < $test_counter)
++  {
++    exit(0);
++  }
++
++  $msg= "";
++  $expected_error= 0 if (!defined($expected_error));
++
++  if ($verbose)
++  {
++    # Print command with out the long unittest/../ prefix 
++    my $tmp;
++    $tmp= $com;
++    $tmp =~ s|^unittest/../||;
++    print "$tmp ";
++    $len= length($tmp);
++  }
++  $output= `$com 2>&1`;
++  if ($verbose)
++  {
++    print " " x (62 - $len);
++  }
++  $err= $?;
++  $errcode= ($? >> 8);
++  if ((!$err && !$expected_error) ||
++      ($errcode == $expected_error && $expected_error))
++  {
++    print "[ " if ($verbose);
++    print "ok";
++    if ($verbose)
++    {
++      print " ]";
++      print " " x (5 - length("$test_counter"));
++      print "$test_counter";
++    }
++    else
++    {
++      print " $test_counter - $com"
++    }
++    print "\n";
++    return 1;
++  }
++  print "[ " if ($verbose);
++  print "not ok";
++  print " ]" if ($verbose);
++  print " $test_counter - $com" unless $verbose;
++  print "\n";
++  if ($verbose && defined($output) && length($output))
++  {
++    print "$output\n";
++  }
++  if (!$verbose)
++  {
++    $msg= "\n"; # Get a nicer output in perl unit test mode
++  }
++  $msg.= "Failed test '$com' ";
++  if ($iteration)
++  {
++    $msg.= "(loop iteration $iteration.) ";
++  }
++  $msg.= "at line ";
++  $msg.= (caller)[2];
++  $msg.= "\n(errcode: $errcode, test: $test_counter)\n";
++  if ($expected_error)
++  {
++    $msg.= "Was expecting errcode: $expected_error\n";
++  }
++  warn $msg;
++  $runtime_error= 1;
++  if ($opt_abort_on_error)
++  {
++    exit 1;
++  }
++  return 0;
++}
++
++#
++# Print "skip" and the reason
++#
++# Note: Every time this function is called it will be counted
++# as a unit test.
++#
++# Args: $com:            The actual command run. Will be printed on a failure
++#       $reason:         The reason to skip a test
++#       $verbose:        Be more verbose.
++#
++
++sub skip
++{
++  my ($com, $reason, $verbose)= @_;
++
++  $test_counter++;
++  return 0 if $test_begin > $test_counter;
++  exit 0 if $test_end && $test_end < $test_counter;
++  printf '%-64s[ skipped ]%5d', $com, $test_counter if $verbose;
++  print "ok $test_counter # skip $reason" unless $verbose;
++  print "\n";
++  return 1;
++}
++
++####
++#### Count tests
++#### Arguments: $t:    an array of the tests
++####
++
++sub count_tests
++{
++  my ($t)= @_;
++  my ($i, $nr_tests);
++
++  $nr_tests= 0;
++  for ($i= 0; defined(@$t[$i]); $i++) { $nr_tests++ if (@$t[$i]); }
++  return $nr_tests;
++}
++
++sub unlink_log_files
++{
++  unlink "$full_tmpdir/aria_log_control", "$full_tmpdir/aria_log.00000001", "$full_tmpdir/aria_log.00000002";
++}
++
++sub unlink_all_possible_tmp_files()
++{
++  unlink_log_files();
++
++  # Unlink tmp files that may have been created when testing the test programs
++  unlink <$full_tmpdir/*.TMD $full_tmpdir/aria_read_log_test1.txt $full_tmpdir/test1*.MA? $full_tmpdir/ma_test_recovery.output aria_log_control aria_log.00000001 aria_log.00000002 aria_logtest1.MA? test1.MA? test2.MA? test3.MA?>;
++}
++
++####
++#### Run a bunch of tests
++#### Arguments: $t:       an array of the tests
++####            $verbose: to be passed to ok()
++####            $clear:   clear log files if set
++####
++
++sub run_test_bunch
++{
++  my ($t, $verbose, $clear)= @_;
++  my ($i);
++
++  for ($i= 0; defined(@$t[$i]); $i++)
++  {
++    if ($clear && @$t[$i] eq $NEW_TEST)
++    {
++      unlink_log_files();
++    }
++    if (@$t[$i] ne $NEW_TEST)
++    {
++      ok(@$t[$i], $verbose, $i + 1);
++    }
++  }
++}
++
++####
++#### usage
++####
++
++sub usage
++{
++  print <<EOF;
++$my_progname version $VER
++
++Description:
++
++Run various Aria related tests. Typically used via make test as a unittest.
++
++Options
++--help             Show this help and exit.
++--abort-on-error   Abort at once in case of error.
++--number-of-tests  Print the total number of tests and exit.
++--run-tests=...    Test number(s) that should be run. You can give just
++                   one number or a range. For example 45..89. To run a specific
++                   test alone, for example test 215, use --run-tests=215..215
++                   Use this option with caution, because some of the tests
++                   might depend on previous ones.
++--start-from=...   Alias for --run-tests
++--silent=...       Silent option passed to ma_test* tests ('$opt_silent')
++--tmpdir=...       Store tests data in this directory (works for most tests)
++--valgrind=...     Options for valgrind.
++                   ('$opt_valgrind')
++--verbose          Be more verbose. Will print each unittest on a line
++                   and result after. This mode cannot be used with unit.pl
++                   when running in normal unit test mode.
++--version          Show version number and exit.
++EOF
++  exit(0);
++}
+diff --git a/storage/ndb/ndbapi-examples/Makefile b/storage/ndb/ndbapi-examples/Makefile
+new file mode 100644
+index 0000000..6a48afc
+--- /dev/null
++++ b/storage/ndb/ndbapi-examples/Makefile
+@@ -0,0 +1,27 @@
++BIN_DIRS := 	ndbapi_simple \
++	 	ndbapi_async \
++	 	ndbapi_async1 \
++		ndbapi_retries \
++		ndbapi_simple_index \
++		ndbapi_event \
++		ndbapi_scan \
++		mgmapi_logevent \
++		ndbapi_simple_dual \
++		mgmapi_logevent2
++
++bins: $(patsubst %, _bins_%, $(BIN_DIRS))
++
++$(patsubst %, _bins_%, $(BIN_DIRS)) :
++	$(MAKE) -C $(patsubst _bins_%, %, $@) $(OPTS)
++
++libs:
++
++clean:
++	for f in ${BIN_DIRS}; do \
++		$(MAKE) -C $$f $@;\
++	done
++
++clean_dep: clean
++cleanall: clean
++tidy: clean
++distclean: clean
+diff --git a/storage/ndb/ndbapi-examples/mgmapi_logevent/Makefile b/storage/ndb/ndbapi-examples/mgmapi_logevent/Makefile
+new file mode 100644
+index 0000000..b67150b
+--- /dev/null
++++ b/storage/ndb/ndbapi-examples/mgmapi_logevent/Makefile
+@@ -0,0 +1,24 @@
++TARGET = mgmapi_logevent
++SRCS = main.cpp
++OBJS = main.o
++CXX = g++
++CFLAGS = -c -Wall -fno-rtti -fno-exceptions
++CXXFLAGS = 
++DEBUG = 
++LFLAGS = -Wall
++TOP_SRCDIR = ../../../..
++INCLUDE_DIR = $(TOP_SRCDIR)/storage/ndb/include
++LIB_DIR = -L$(TOP_SRCDIR)/storage/ndb/src/.libs \
++          -L$(TOP_SRCDIR)/libmysql_r/.libs \
++	  -L$(TOP_SRCDIR)/zlib/.libs \
++          -L$(TOP_SRCDIR)/mysys -L$(TOP_SRCDIR)/strings
++SYS_LIB = 
++
++$(TARGET): $(OBJS)
++	$(CXX) $(CXXFLAGS) $(LFLAGS) $(LIB_DIR) $(OBJS) -lndbclient -lmysqlclient_r -lmysys -lmystrings -lz $(SYS_LIB) -o $(TARGET)
++
++$(OBJS): $(SRCS)
++	$(CXX) $(CFLAGS) -I$(TOP_SRCDIR)/include -I$(INCLUDE_DIR) -I$(INCLUDE_DIR)/mgmapi  -I$(INCLUDE_DIR)/ndbapi $(SRCS)
++
++clean:
++	rm -f *.o $(TARGET)
+diff --git a/storage/ndb/ndbapi-examples/mgmapi_logevent2/Makefile b/storage/ndb/ndbapi-examples/mgmapi_logevent2/Makefile
+new file mode 100644
+index 0000000..fd9499c
+--- /dev/null
++++ b/storage/ndb/ndbapi-examples/mgmapi_logevent2/Makefile
+@@ -0,0 +1,24 @@
++TARGET = mgmapi_logevent2
++SRCS = main.cpp
++OBJS = main.o
++CXX = g++
++CFLAGS = -c -Wall -fno-rtti -fno-exceptions
++CXXFLAGS = 
++DEBUG = 
++LFLAGS = -Wall
++TOP_SRCDIR = ../../../..
++INCLUDE_DIR = $(TOP_SRCDIR)/storage/ndb/include
++LIB_DIR = -L$(TOP_SRCDIR)/storage/ndb/src/.libs \
++          -L$(TOP_SRCDIR)/libmysql_r/.libs \
++	  -L$(TOP_SRCDIR)/zlib/.libs \
++          -L$(TOP_SRCDIR)/mysys -L$(TOP_SRCDIR)/strings
++SYS_LIB = 
++
++$(TARGET): $(OBJS)
++	$(CXX) $(CXXFLAGS) $(LFLAGS) $(LIB_DIR) $(OBJS) -lndbclient -lmysqlclient_r -lmysys -lmystrings -lz $(SYS_LIB) -o $(TARGET)
++
++$(OBJS): $(SRCS)
++	$(CXX) $(CFLAGS) -I$(TOP_SRCDIR)/include -I$(INCLUDE_DIR) -I$(INCLUDE_DIR)/mgmapi  -I$(INCLUDE_DIR)/ndbapi $(SRCS)
++
++clean:
++	rm -f *.o $(TARGET)
+diff --git a/storage/ndb/ndbapi-examples/ndbapi_async/Makefile b/storage/ndb/ndbapi-examples/ndbapi_async/Makefile
+new file mode 100644
+index 0000000..c18e967
+--- /dev/null
++++ b/storage/ndb/ndbapi-examples/ndbapi_async/Makefile
+@@ -0,0 +1,24 @@
++TARGET = ndbapi_async
++SRCS = $(TARGET).cpp
++OBJS = $(TARGET).o
++CXX = g++
++CFLAGS = -g -c -Wall -fno-rtti -fno-exceptions
++CXXFLAGS = -g
++DEBUG = 
++LFLAGS = -Wall
++TOP_SRCDIR = ../../../..
++INCLUDE_DIR = $(TOP_SRCDIR)
++LIB_DIR = -L$(TOP_SRCDIR)/storage/ndb/src/.libs \
++          -L$(TOP_SRCDIR)/libmysql_r/.libs \
++          -L$(TOP_SRCDIR)/zlib/.libs \
++          -L$(TOP_SRCDIR)/mysys -L$(TOP_SRCDIR)/strings
++SYS_LIB = 
++
++$(TARGET): $(OBJS)
++	$(CXX) $(CXXFLAGS) $(LFLAGS) $(LIB_DIR) $(OBJS) -lndbclient -lmysqlclient_r -lmysys -lmystrings -lz $(SYS_LIB) -o $(TARGET)
++
++$(TARGET).o: $(SRCS)
++	$(CXX) $(CFLAGS) -I$(INCLUDE_DIR)/include -I$(INCLUDE_DIR)/extra -I$(INCLUDE_DIR)/storage/ndb/include -I$(INCLUDE_DIR)/storage/ndb/include/ndbapi $(SRCS)
++
++clean:
++	rm -f *.o $(TARGET)
+diff --git a/storage/ndb/ndbapi-examples/ndbapi_async1/Makefile b/storage/ndb/ndbapi-examples/ndbapi_async1/Makefile
+new file mode 100644
+index 0000000..c880861
+--- /dev/null
++++ b/storage/ndb/ndbapi-examples/ndbapi_async1/Makefile
+@@ -0,0 +1,23 @@
++TARGET = ndbapi_async1
++SRCS = ndbapi_async1.cpp
++OBJS = ndbapi_async1.o
++CXX = g++
++CFLAGS = -c -Wall -fno-rtti -fno-exceptions
++DEBUG = 
++LFLAGS = -Wall
++TOP_SRCDIR = ../../../..
++INCLUDE_DIR = $(TOP_SRCDIR)/storage/ndb/include
++LIB_DIR = -L$(TOP_SRCDIR)/storage/ndb/src/.libs \
++          -L$(TOP_SRCDIR)/libmysql_r/.libs \
++          -L$(TOP_SRCDIR)/zlib/.libs \
++          -L$(TOP_SRCDIR)/mysys -L$(TOP_SRCDIR)/strings
++SYS_LIB = 
++
++$(TARGET): $(OBJS)
++	$(CXX) $(LFLAGS) $(LIB_DIR) $(OBJS) -lndbclient -lmysqlclient_r -lmysys -lmystrings -lz $(SYS_LIB) -o $(TARGET)
++
++$(TARGET).o: $(SRCS)
++	$(CXX) $(CFLAGS) -I$(TOP_SRCDIR)/include -I$(INCLUDE_DIR) -I$(INCLUDE_DIR)/ndbapi $(SRCS)
++
++clean:
++	rm -f *.o $(TARGET)
+diff --git a/storage/ndb/ndbapi-examples/ndbapi_event/Makefile b/storage/ndb/ndbapi-examples/ndbapi_event/Makefile
+new file mode 100644
+index 0000000..c043001
+--- /dev/null
++++ b/storage/ndb/ndbapi-examples/ndbapi_event/Makefile
+@@ -0,0 +1,24 @@
++TARGET = ndbapi_event
++SRCS = ndbapi_event.cpp
++OBJS = ndbapi_event.o
++CXX = g++ -g
++CFLAGS = -c -Wall -fno-rtti -fno-exceptions
++CXXFLAGS = 
++DEBUG =# -DVM_TRACE
++LFLAGS = -Wall
++TOP_SRCDIR = ../../../..
++INCLUDE_DIR = $(TOP_SRCDIR)/storage/ndb/include
++LIB_DIR = -L$(TOP_SRCDIR)/storage/ndb/src/.libs \
++          -L$(TOP_SRCDIR)/libmysql_r/.libs \
++          -L$(TOP_SRCDIR)/zlib/.libs \
++          -L$(TOP_SRCDIR)/mysys -L$(TOP_SRCDIR)/strings
++SYS_LIB = 
++
++$(TARGET): $(OBJS)
++	$(CXX) $(CXXFLAGS) $(LFLAGS) $(LIB_DIR) $(OBJS) -lndbclient -lmysqlclient_r -lmysys -lmystrings -lz $(SYS_LIB) -o $(TARGET)
++
++$(TARGET).o: $(SRCS) Makefile
++	$(CXX) $(CFLAGS) $(DEBUG) -I$(INCLUDE_DIR) -I$(INCLUDE_DIR)/ndbapi -I$(TOP_SRCDIR)/include $(SRCS)
++
++clean:
++	rm -f *.o $(TARGET)
+diff --git a/storage/ndb/ndbapi-examples/ndbapi_retries/Makefile b/storage/ndb/ndbapi-examples/ndbapi_retries/Makefile
+new file mode 100644
+index 0000000..1b4a316
+--- /dev/null
++++ b/storage/ndb/ndbapi-examples/ndbapi_retries/Makefile
+@@ -0,0 +1,23 @@
++TARGET = ndbapi_retries
++SRCS = ndbapi_retries.cpp
++OBJS = ndbapi_retries.o
++CXX = g++
++CFLAGS = -c -Wall -fno-rtti -fno-exceptions
++DEBUG = 
++LFLAGS = -Wall
++TOP_SRCDIR = ../../../..
++INCLUDE_DIR = $(TOP_SRCDIR)/storage/ndb/include
++LIB_DIR = -L$(TOP_SRCDIR)/storage/ndb/src/.libs \
++          -L$(TOP_SRCDIR)/libmysql_r/.libs \
++          -L$(TOP_SRCDIR)/zlib/.libs \
++          -L$(TOP_SRCDIR)/mysys -L$(TOP_SRCDIR)/strings
++SYS_LIB = 
++
++$(TARGET): $(OBJS)
++	$(CXX) $(LFLAGS) $(LIB_DIR) $(OBJS) -lndbclient -lmysqlclient_r -lmysys -lmystrings -lz $(SYS_LIB) -o $(TARGET)
++
++$(TARGET).o: $(SRCS)
++	$(CXX) $(CFLAGS)  -I$(TOP_SRCDIR)/include -I$(INCLUDE_DIR) -I$(INCLUDE_DIR)/ndbapi $(SRCS)
++
++clean:
++	rm -f *.o $(TARGET)
+diff --git a/storage/ndb/ndbapi-examples/ndbapi_scan/Makefile b/storage/ndb/ndbapi-examples/ndbapi_scan/Makefile
+new file mode 100644
+index 0000000..3074250
+--- /dev/null
++++ b/storage/ndb/ndbapi-examples/ndbapi_scan/Makefile
+@@ -0,0 +1,24 @@
++TARGET = ndbapi_scan
++SRCS = $(TARGET).cpp
++OBJS = $(TARGET).o
++CXX = g++
++CFLAGS = -g -c -Wall -fno-rtti -fno-exceptions
++CXXFLAGS = -g
++DEBUG = 
++LFLAGS = -Wall
++TOP_SRCDIR = ../../../..
++INCLUDE_DIR = $(TOP_SRCDIR)
++LIB_DIR = -L$(TOP_SRCDIR)/storage/ndb/src/.libs \
++          -L$(TOP_SRCDIR)/libmysql_r/.libs \
++          -L$(TOP_SRCDIR)/zlib/.libs \
++          -L$(TOP_SRCDIR)/mysys -L$(TOP_SRCDIR)/strings
++SYS_LIB = 
++
++$(TARGET): $(OBJS)
++	$(CXX) $(CXXFLAGS) $(LFLAGS) $(LIB_DIR) $(OBJS) -lndbclient -lmysqlclient_r -lmysys -lmystrings -lz $(SYS_LIB) -o $(TARGET)
++
++$(TARGET).o: $(SRCS)
++	$(CXX) $(CFLAGS) -I$(INCLUDE_DIR)/include -I$(INCLUDE_DIR)/extra -I$(INCLUDE_DIR)/storage/ndb/include -I$(INCLUDE_DIR)/storage/ndb/include/ndbapi $(SRCS)
++
++clean:
++	rm -f *.o $(TARGET)
+diff --git a/storage/ndb/ndbapi-examples/ndbapi_simple/Makefile b/storage/ndb/ndbapi-examples/ndbapi_simple/Makefile
+new file mode 100644
+index 0000000..fa407fb
+--- /dev/null
++++ b/storage/ndb/ndbapi-examples/ndbapi_simple/Makefile
+@@ -0,0 +1,24 @@
++TARGET = ndbapi_simple
++SRCS = $(TARGET).cpp
++OBJS = $(TARGET).o
++CXX = g++
++CFLAGS = -c -Wall -fno-rtti -fno-exceptions
++CXXFLAGS = 
++DEBUG = 
++LFLAGS = -Wall
++TOP_SRCDIR = ../../../..
++INCLUDE_DIR = $(TOP_SRCDIR)/storage/ndb/include
++LIB_DIR = -L$(TOP_SRCDIR)/storage/ndb/src/.libs \
++          -L$(TOP_SRCDIR)/libmysql_r/.libs \
++          -L$(TOP_SRCDIR)/zlib/.libs \
++          -L$(TOP_SRCDIR)/mysys -L$(TOP_SRCDIR)/strings
++SYS_LIB = 
++
++$(TARGET): $(OBJS)
++	$(CXX) $(CXXFLAGS) $(LFLAGS) $(LIB_DIR) $(OBJS) -lndbclient -lmysqlclient_r -lmysys -lmystrings  -lz $(SYS_LIB) -o $(TARGET)
++
++$(TARGET).o: $(SRCS)
++	$(CXX) $(CFLAGS) -I$(TOP_SRCDIR)/include -I$(INCLUDE_DIR) -I$(INCLUDE_DIR)/ndbapi $(SRCS)
++
++clean:
++	rm -f *.o $(TARGET)
+diff --git a/storage/ndb/ndbapi-examples/ndbapi_simple_dual/Makefile b/storage/ndb/ndbapi-examples/ndbapi_simple_dual/Makefile
+new file mode 100644
+index 0000000..9757df3
+--- /dev/null
++++ b/storage/ndb/ndbapi-examples/ndbapi_simple_dual/Makefile
+@@ -0,0 +1,24 @@
++TARGET = ndbapi_simple_dual
++SRCS = main.cpp
++OBJS = main.o
++CXX = g++
++CFLAGS = -c -Wall -fno-rtti -fno-exceptions
++CXXFLAGS = 
++DEBUG = 
++LFLAGS = -Wall
++TOP_SRCDIR = ../../../..
++INCLUDE_DIR = $(TOP_SRCDIR)/storage/ndb/include
++LIB_DIR = -L$(TOP_SRCDIR)/storage/ndb/src/.libs \
++          -L$(TOP_SRCDIR)/libmysql_r/.libs \
++          -L$(TOP_SRCDIR)/zlib/.libs \
++          -L$(TOP_SRCDIR)/mysys -L$(TOP_SRCDIR)/strings
++SYS_LIB = 
++
++$(TARGET): $(OBJS)
++	$(CXX) $(CXXFLAGS) $(LFLAGS) $(LIB_DIR) $(OBJS) -lndbclient -lmysqlclient_r -lmysys -lmystrings  -lz $(SYS_LIB) -o $(TARGET)
++
++$(OBJS): $(SRCS)
++	$(CXX) $(CFLAGS) -I$(TOP_SRCDIR)/include -I$(INCLUDE_DIR) -I$(INCLUDE_DIR)/ndbapi $(SRCS)
++
++clean:
++	rm -f *.o $(TARGET)
+diff --git a/storage/ndb/ndbapi-examples/ndbapi_simple_index/Makefile b/storage/ndb/ndbapi-examples/ndbapi_simple_index/Makefile
+new file mode 100644
+index 0000000..975563b
+--- /dev/null
++++ b/storage/ndb/ndbapi-examples/ndbapi_simple_index/Makefile
+@@ -0,0 +1,24 @@
++TARGET = ndbapi_simple_index
++SRCS = main.cpp
++OBJS = main.o
++CXX = g++
++CFLAGS = -c -Wall -fno-rtti -fno-exceptions
++CXXFLAGS = 
++DEBUG = 
++LFLAGS = -Wall
++TOP_SRCDIR = ../../../..
++INCLUDE_DIR = $(TOP_SRCDIR)
++LIB_DIR = -L$(TOP_SRCDIR)/storage/ndb/src/.libs \
++          -L$(TOP_SRCDIR)/libmysql_r/.libs \
++          -L$(TOP_SRCDIR)/zlib/.libs \
++          -L$(TOP_SRCDIR)/mysys -L$(TOP_SRCDIR)/strings
++SYS_LIB = 
++
++$(TARGET): $(OBJS)
++	$(CXX) $(CXXFLAGS) $(LFLAGS) $(LIB_DIR) $(OBJS) -lndbclient -lmysqlclient_r -lmysys -lmystrings -lz $(SYS_LIB) -o $(TARGET)
++
++$(OBJS): $(SRCS)
++	$(CXX) $(CFLAGS) -I$(INCLUDE_DIR)/include -I$(INCLUDE_DIR)/storage/ndb/include -I$(INCLUDE_DIR)/storage/ndb/include/ndbapi $(SRCS)
++
++clean:
++	rm -f *.o $(TARGET)
+diff --git a/storage/ndb/src/common/logger/listtest/Makefile b/storage/ndb/src/common/logger/listtest/Makefile
+new file mode 100644
+index 0000000..4688a5e
+--- /dev/null
++++ b/storage/ndb/src/common/logger/listtest/Makefile
+@@ -0,0 +1,14 @@
++include .defs.mk
++
++TYPE := 
++
++BIN_TARGET := listtest
++BIN_TARGET_ARCHIVES :=  portlib logger general
++
++SOURCES := LogHandlerListUnitTest.cpp
++
++CCFLAGS_LOC += -I../ -I$(NDB_TOP)/include/logger -I$(NDB_TOP)/include/portlib
++
++include $(NDB_TOP)/Epilogue.mk
++
++
+diff --git a/storage/ndb/src/common/logger/loggertest/Makefile b/storage/ndb/src/common/logger/loggertest/Makefile
+new file mode 100644
+index 0000000..0aef0ca
+--- /dev/null
++++ b/storage/ndb/src/common/logger/loggertest/Makefile
+@@ -0,0 +1,16 @@
++include .defs.mk
++
++TYPE := 
++
++BIN_TARGET := loggertest
++BIN_TARGET_ARCHIVES := logger portlib general
++
++SOURCES := LoggerUnitTest.cpp
++
++CCFLAGS_LOC += -I$(NDB_TOP)/include/logger \
++               -I$(NDB_TOP)/include/util \
++               -I$(NDB_TOP)/include/portlib
++
++include $(NDB_TOP)/Epilogue.mk
++
++
+diff --git a/storage/ndb/src/common/mgmcommon/printConfig/Makefile b/storage/ndb/src/common/mgmcommon/printConfig/Makefile
+new file mode 100644
+index 0000000..77e8943
+--- /dev/null
++++ b/storage/ndb/src/common/mgmcommon/printConfig/Makefile
+@@ -0,0 +1,16 @@
++include .defs.mk
++
++TYPE := ndbapi mgmapiclient
++
++BIN_TARGET := printConfig
++BIN_TARGET_ARCHIVES := general portlib
++
++CCFLAGS_LOC += -I.. 
++
++SOURCES := printConfig.cpp ../ConfigRetriever.cpp
++
++SOURCES.c := ../NdbConfig.c ../LocalConfig.c
++
++CFLAGS_printConfig.cpp := -I$(call fixpath,$(NDB_TOP)/src/mgmapi)
++
++include $(NDB_TOP)/Epilogue.mk
+diff --git a/storage/ndb/src/common/transporter/basictest/Makefile b/storage/ndb/src/common/transporter/basictest/Makefile
+new file mode 100644
+index 0000000..d86af36
+--- /dev/null
++++ b/storage/ndb/src/common/transporter/basictest/Makefile
+@@ -0,0 +1,15 @@
++include .defs.mk
++
++TYPE := ndbapi
++
++BIN_TARGET := basicTransporterTest
++BIN_TARGET_ARCHIVES := transporter portlib general
++
++SOURCES   = basicTransporterTest.cpp
++
++include $(NDB_TOP)/Epilogue.mk
++
++
++
++
++
+diff --git a/storage/ndb/src/common/transporter/failoverSCI/Makefile b/storage/ndb/src/common/transporter/failoverSCI/Makefile
+new file mode 100644
+index 0000000..1e3d5f4
+--- /dev/null
++++ b/storage/ndb/src/common/transporter/failoverSCI/Makefile
+@@ -0,0 +1,18 @@
++include .defs.mk
++
++TYPE := ndbapi
++
++BIN_TARGET := failoverSCI
++BIN_TARGET_LIBS := sisci
++BIN_TARGET_ARCHIVES := portlib
++
++CCFLAGS_LOC += -I.. 
++
++SOURCES = failoverSCI.cpp
++
++include $(NDB_TOP)/Epilogue.mk
++
++
++
++
++
+diff --git a/storage/ndb/src/common/transporter/perftest/Makefile b/storage/ndb/src/common/transporter/perftest/Makefile
+new file mode 100644
+index 0000000..01869e1
+--- /dev/null
++++ b/storage/ndb/src/common/transporter/perftest/Makefile
+@@ -0,0 +1,15 @@
++include .defs.mk
++
++TYPE := ndbapi
++
++BIN_TARGET := perfTransporterTest
++BIN_TARGET_ARCHIVES := transporter portlib general
++
++SOURCES   = perfTransporterTest.cpp
++
++include $(NDB_TOP)/Epilogue.mk
++
++
++
++
++
+diff --git a/storage/ndb/src/common/transporter/priotest/Makefile b/storage/ndb/src/common/transporter/priotest/Makefile
+new file mode 100644
+index 0000000..483fc0f
+--- /dev/null
++++ b/storage/ndb/src/common/transporter/priotest/Makefile
+@@ -0,0 +1,15 @@
++include .defs.mk
++
++TYPE := ndbapi
++
++SOURCES   = prioTransporterTest.cpp
++ARCHIVE_TARGET := libpriotransportertest.a
++
++DIRS := prioTCP prioSHM prioSCI
++
++include $(NDB_TOP)/Epilogue.mk
++
++
++
++
++
+diff --git a/storage/ndb/src/common/transporter/priotest/prioSCI/Makefile b/storage/ndb/src/common/transporter/priotest/prioSCI/Makefile
+new file mode 100644
+index 0000000..7d40353
+--- /dev/null
++++ b/storage/ndb/src/common/transporter/priotest/prioSCI/Makefile
+@@ -0,0 +1,17 @@
++include .defs.mk
++
++TYPE := ndbapi
++BIN_TARGET := prioSCI
++BIN_TARGET_LIBS := sisci
++BIN_TARGET_ARCHIVES := priotransportertest transporter portlib general
++
++CCFLAGS_LOC += -I.. 
++
++SOURCES = prioSCI.cpp
++
++include $(NDB_TOP)/Epilogue.mk
++
++
++
++
++
+diff --git a/storage/ndb/src/common/transporter/priotest/prioSHM/Makefile b/storage/ndb/src/common/transporter/priotest/prioSHM/Makefile
+new file mode 100644
+index 0000000..a827c6e
+--- /dev/null
++++ b/storage/ndb/src/common/transporter/priotest/prioSHM/Makefile
+@@ -0,0 +1,13 @@
++include .defs.mk
++
++TYPE := ndbapi
++
++BIN_TARGET := prioSHM
++BIN_TARGET_ARCHIVES := priotransportertest transporter portlib general
++
++CCFLAGS_LOC += -I.. 
++
++SOURCES = prioSHM.cpp
++
++include $(NDB_TOP)/Epilogue.mk
++
+diff --git a/storage/ndb/src/common/transporter/priotest/prioTCP/Makefile b/storage/ndb/src/common/transporter/priotest/prioTCP/Makefile
+new file mode 100644
+index 0000000..92abf3e
+--- /dev/null
++++ b/storage/ndb/src/common/transporter/priotest/prioTCP/Makefile
+@@ -0,0 +1,13 @@
++include .defs.mk
++
++TYPE := ndbapi
++
++BIN_TARGET := prioTCP
++BIN_TARGET_ARCHIVES := priotransportertest transporter portlib general
++
++CCFLAGS_LOC += -I.. 
++
++SOURCES = prioTCP.cpp
++
++include $(NDB_TOP)/Epilogue.mk
++
+diff --git a/storage/ndb/src/common/util/filetest/Makefile b/storage/ndb/src/common/util/filetest/Makefile
+new file mode 100644
+index 0000000..fe18429
+--- /dev/null
++++ b/storage/ndb/src/common/util/filetest/Makefile
+@@ -0,0 +1,14 @@
++include .defs.mk
++
++TYPE :=
++
++BIN_TARGET := filetest
++BIN_TARGET_ARCHIVES := portlib general
++
++SOURCES := FileUnitTest.cpp
++
++CCFLAGS_LOC += -I$(NDB_TOP)/include/logger -I$(NDB_TOP)/include/portlib
++
++include $(NDB_TOP)/Epilogue.mk
++
++
+diff --git a/storage/ndb/src/common/util/testConfigValues/Makefile b/storage/ndb/src/common/util/testConfigValues/Makefile
+new file mode 100644
+index 0000000..5b7400f
+--- /dev/null
++++ b/storage/ndb/src/common/util/testConfigValues/Makefile
+@@ -0,0 +1,12 @@
++include .defs.mk
++
++TYPE := util
++
++BIN_TARGET := testConfigValues
++BIN_TARGET_ARCHIVES := portlib general
++
++SOURCES := testConfigValues.cpp
++
++CCFLAGS_LOC += -I$(call fixpath,$(NDB_TOP)/include/util)
++
++include $(NDB_TOP)/Epilogue.mk
+diff --git a/storage/ndb/src/common/util/testProperties/Makefile b/storage/ndb/src/common/util/testProperties/Makefile
+new file mode 100644
+index 0000000..343c07a
+--- /dev/null
++++ b/storage/ndb/src/common/util/testProperties/Makefile
+@@ -0,0 +1,9 @@
++include .defs.mk
++
++TYPE := util
++
++BIN_TARGET := keso
++
++SOURCES := testProperties.cpp
++
++include $(NDB_TOP)/Epilogue.mk
+diff --git a/storage/ndb/src/common/util/testSimpleProperties/Makefile b/storage/ndb/src/common/util/testSimpleProperties/Makefile
+new file mode 100644
+index 0000000..89d33fa
+--- /dev/null
++++ b/storage/ndb/src/common/util/testSimpleProperties/Makefile
+@@ -0,0 +1,12 @@
++include .defs.mk
++
++TYPE := util
++
++BIN_TARGET := sp_test
++BIN_TARGET_ARCHIVES := portlib general
++
++SOURCES := sp_test.cpp
++
++CCFLAGS_LOC += -I$(call fixpath,$(NDB_TOP)/include/util)
++
++include $(NDB_TOP)/Epilogue.mk
+diff --git a/storage/ndb/src/cw/test/socketclient/Makefile b/storage/ndb/src/cw/test/socketclient/Makefile
+new file mode 100644
+index 0000000..04f11f0
+--- /dev/null
++++ b/storage/ndb/src/cw/test/socketclient/Makefile
+@@ -0,0 +1,24 @@
++include .defs.mk
++
++TYPE := 
++
++BIN_TARGET := socketclient
++
++
++
++CCFLAGS_LOC += -I../../util/ -I../../cpcd/
++
++LIBS_LOC += -L$(NDB_TOP)/lib/ -L$(EXTERNAL_LIB_DIR)/sci
++
++LIBS_SPEC += -lsocketclient 
++
++
++SOURCES = socketClientTest.cpp
++
++
++include $(NDB_TOP)/Epilogue.mk
++
++
++
++
++
+diff --git a/storage/ndb/src/cw/util/Makefile b/storage/ndb/src/cw/util/Makefile
+new file mode 100644
+index 0000000..f5ab167
+--- /dev/null
++++ b/storage/ndb/src/cw/util/Makefile
+@@ -0,0 +1,10 @@
++include .defs.mk
++TYPE := ndbapi
++
++PIC_ARCHIVE := Y
++ARCHIVE_TARGET := socketclient
++
++# Source files of non-templated classes (.cpp files)
++SOURCES =  ClientInterface.cpp SocketService.cpp SocketClient.cpp
++
++include $(NDB_TOP)/Epilogue.mk
+diff --git a/storage/ndb/src/kernel/blocks/dbdih/printSysfile/Makefile b/storage/ndb/src/kernel/blocks/dbdih/printSysfile/Makefile
+new file mode 100644
+index 0000000..4c4b102
+--- /dev/null
++++ b/storage/ndb/src/kernel/blocks/dbdih/printSysfile/Makefile
+@@ -0,0 +1,12 @@
++include .defs.mk
++
++TYPE := ndbapi
++
++BIN_TARGET := printSysfile
++BIN_TARGET_ARCHIVES := portlib general
++
++CCFLAGS_LOC += -I..
++
++SOURCES := printSysfile.cpp
++
++include $(NDB_TOP)/Epilogue.mk
+diff --git a/storage/ndb/src/kernel/blocks/ndbfs/AsyncFileTest/Makefile b/storage/ndb/src/kernel/blocks/ndbfs/AsyncFileTest/Makefile
+new file mode 100644
+index 0000000..b0356e6
+--- /dev/null
++++ b/storage/ndb/src/kernel/blocks/ndbfs/AsyncFileTest/Makefile
+@@ -0,0 +1,27 @@
++include .defs.mk
++
++TYPE := kernel
++
++BIN_TARGET := aftest
++BIN_TARGET_ARCHIVES := ndbfs portlib trace signaldataprint
++
++SOURCES = AsyncFileTest.cpp
++
++CFLAGS_AsyncFileTest.cpp = -I../
++
++include $(NDB_TOP)/Epilogue.mk
++
++
++# run basic tests
++run_test :
++	$(NDB_TOP)/bin/$(BIN_TARGET)
++	$(NDB_TOP)/bin/$(BIN_TARGET) -n 8 -r 8 -l 10 -remove
++	$(NDB_TOP)/bin/$(BIN_TARGET) -n 8 -r 8 -l 10 -reverse -remove
++	$(NDB_TOP)/bin/$(BIN_TARGET) -n 8 -r 8 -l 10 -s 512 -remove
++	$(NDB_TOP)/bin/$(BIN_TARGET) -n 8 -r 4 -l 1000
++
++
++
++
++
++
+diff --git a/storage/ndb/src/kernel/blocks/ndbfs/MemoryChannelTest/Makefile b/storage/ndb/src/kernel/blocks/ndbfs/MemoryChannelTest/Makefile
+new file mode 100644
+index 0000000..68f71bf
+--- /dev/null
++++ b/storage/ndb/src/kernel/blocks/ndbfs/MemoryChannelTest/Makefile
+@@ -0,0 +1,13 @@
++include .defs.mk
++
++TYPE := kernel
++
++BIN_TARGET  := mctest
++BIN_TARGET_ARCHIVES := portlib
++
++SOURCES = MemoryChannelTest.cpp
++
++CFLAGS_MemoryChannelTest.cpp = -I../
++
++include $(NDB_TOP)/Epilogue.mk
++
+diff --git a/storage/ndb/src/kernel/vm/al_test/Makefile b/storage/ndb/src/kernel/vm/al_test/Makefile
+new file mode 100644
+index 0000000..a7287a3
+--- /dev/null
++++ b/storage/ndb/src/kernel/vm/al_test/Makefile
+@@ -0,0 +1,12 @@
++include .defs.mk	
++
++TYPE := kernel
++
++BIN_TARGET := al_test
++BIN_TARGET_ARCHIVES := portlib
++
++SOURCES = main.cpp
++
++CFLAGS_main.cpp = -DDEBUG
++
++include $(NDB_TOP)/Epilogue.mk
+diff --git a/storage/ndb/src/kernel/vm/testCopy/Makefile b/storage/ndb/src/kernel/vm/testCopy/Makefile
+new file mode 100644
+index 0000000..5abd93e
+--- /dev/null
++++ b/storage/ndb/src/kernel/vm/testCopy/Makefile
+@@ -0,0 +1,9 @@
++include .defs.mk	
++
++TYPE := util
++
++BIN_TARGET := testCopy
++
++SOURCES = testCopy.cpp 
++
++include $(NDB_TOP)/Epilogue.mk
+diff --git a/storage/ndb/src/kernel/vm/testDataBuffer/Makefile b/storage/ndb/src/kernel/vm/testDataBuffer/Makefile
+new file mode 100644
+index 0000000..693989d
+--- /dev/null
++++ b/storage/ndb/src/kernel/vm/testDataBuffer/Makefile
+@@ -0,0 +1,10 @@
++include .defs.mk	
++
++TYPE := kernel
++
++BIN_TARGET := testKernelDataBuffer 
++BIN_TARGET_ARCHIVES := general portlib
++
++SOURCES = testDataBuffer.cpp
++
++include $(NDB_TOP)/Epilogue.mk
+diff --git a/storage/ndb/src/kernel/vm/testLongSig/Makefile b/storage/ndb/src/kernel/vm/testLongSig/Makefile
+new file mode 100644
+index 0000000..ecf33dc
+--- /dev/null
++++ b/storage/ndb/src/kernel/vm/testLongSig/Makefile
+@@ -0,0 +1,9 @@
++include .defs.mk	
++
++TYPE := signalsender 
++
++BIN_TARGET := testLongSig
++
++SOURCES = testLongSig.cpp
++
++include $(NDB_TOP)/Epilogue.mk
+diff --git a/storage/ndb/src/kernel/vm/testSimplePropertiesSection/Makefile b/storage/ndb/src/kernel/vm/testSimplePropertiesSection/Makefile
+new file mode 100644
+index 0000000..fb3aea0
+--- /dev/null
++++ b/storage/ndb/src/kernel/vm/testSimplePropertiesSection/Makefile
+@@ -0,0 +1,10 @@
++include .defs.mk	
++
++TYPE := kernel
++
++BIN_TARGET := testSimplePropertiesSection
++BIN_TARGET_ARCHIVES := general portlib 
++
++SOURCES = test.cpp ../SimplePropertiesSection.cpp
++
++include $(NDB_TOP)/Epilogue.mk
+diff --git a/storage/ndb/src/mgmapi/test/Makefile b/storage/ndb/src/mgmapi/test/Makefile
+new file mode 100644
+index 0000000..c6d3efa
+--- /dev/null
++++ b/storage/ndb/src/mgmapi/test/Makefile
+@@ -0,0 +1,13 @@
++include .defs.mk
++
++TYPE := mgmapiclient util
++
++BIN_TARGET  := testMgmapi 
++
++CCFLAGS_LOC += -I$(call fixpath,$(NDB_TOP)/src/common/mgmcommon) 
++#-I$(NDB_TOP)/include/util -I$(NDB_TOP)/include/portlib
++
++# Source files of non-templated classes (.C files)
++SOURCES = keso.cpp
++
++include $(NDB_TOP)/Epilogue.mk
+diff --git a/storage/ndb/src/mgmclient/test_cpcd/Makefile b/storage/ndb/src/mgmclient/test_cpcd/Makefile
+new file mode 100644
+index 0000000..4ced10c
+--- /dev/null
++++ b/storage/ndb/src/mgmclient/test_cpcd/Makefile
+@@ -0,0 +1,17 @@
++include .defs.mk
++
++TYPE := ndbapi 
++
++BIN_TARGET := test_cpcd
++BIN_TARGET_LIBS := general
++
++
++# Source files of non-templated classes (.cpp files)
++SOURCES = test_cpcd.cpp ../CpcClient.cpp
++
++CCFLAGS_LOC += -I$(call fixpath,$(NDB_TOP)/include/mgmapi) \
++               -I$(call fixpath,$(NDB_TOP)/src/common/mgmcommon) 
++
++include $(NDB_TOP)/Epilogue.mk
++
++
+diff --git a/storage/ndb/src/mgmsrv/mkconfig/Makefile b/storage/ndb/src/mgmsrv/mkconfig/Makefile
+new file mode 100644
+index 0000000..43574ee
+--- /dev/null
++++ b/storage/ndb/src/mgmsrv/mkconfig/Makefile
+@@ -0,0 +1,13 @@
++include .defs.mk
++
++TYPE := ndbapi
++
++BIN_TARGET := mkconfig
++BIN_TARGET_ARCHIVES := logger trace mgmsrvcommon portlib general 
++
++SOURCES := mkconfig.cpp
++
++CCFLAGS_LOC += -I.. -I$(call fixpath,$(NDB_TOP)/src/common/mgmcommon) 
++CFLAGS_mkconfig.cpp := -I$(call fixpath,$(NDB_TOP)/src/mgmapi)
++
++include $(NDB_TOP)/Epilogue.mk
+diff --git a/storage/ndb/src/ndbapi/signal-sender/Makefile b/storage/ndb/src/ndbapi/signal-sender/Makefile
+new file mode 100644
+index 0000000..56e6ce1
+--- /dev/null
++++ b/storage/ndb/src/ndbapi/signal-sender/Makefile
+@@ -0,0 +1,19 @@
++include .defs.mk
++
++TYPE := ndbapi
++
++NONPIC_ARCHIVE := Y
++ARCHIVE_TARGET := signal-sender
++
++BIN_TARGET_LIBS     :=          # -lkalle
++BIN_TARGET_ARCHIVES := portlib  # $(NDB_TOP)/lib/libkalle.a
++
++# Source files of non-templated classes (.cpp files)
++SOURCES = SignalSender.cpp 
++
++CCFLAGS_LOC += -I$(call fixpath,$(NDB_TOP)/src/ndbapi)
++
++include $(NDB_TOP)/Epilogue.mk
++
++###
++# Backward compatible
+diff --git a/storage/ndb/test/newtonapi/basic_test/Makefile b/storage/ndb/test/newtonapi/basic_test/Makefile
+new file mode 100644
+index 0000000..d7eaf98
+--- /dev/null
++++ b/storage/ndb/test/newtonapi/basic_test/Makefile
+@@ -0,0 +1,25 @@
++include .defs.mk
++
++TYPE := util
++
++PIC_ARCHIVE := Y
++ARCHIVE_TARGET := newtonbasictestcommon
++
++A_LIB       := Y
++SO_LIB      := Y
++PIC_LIB     := Y
++
++LIB_TARGET  := NEWTON_BASICTEST_COMMON
++LIB_TARGET_ARCHIVES := $(ARCHIVE_TARGET) NEWTON_API
++
++
++SOURCES = common.cpp
++
++DIRS := basic \
++        ptr_binding \
++        bulk_read
++
++CCFLAGS_LOC := -I$(call fixpath,$(NDB_TOP)/include/util) -I$(call fixpath,$(NDB_TOP)/include/newtonapi)
++
++include $(NDB_TOP)/Epilogue.mk
++
+diff --git a/storage/ndb/test/newtonapi/basic_test/basic/Makefile b/storage/ndb/test/newtonapi/basic_test/basic/Makefile
+new file mode 100644
+index 0000000..7e2945d
+--- /dev/null
++++ b/storage/ndb/test/newtonapi/basic_test/basic/Makefile
+@@ -0,0 +1,14 @@
++include .defs.mk
++
++TYPE := ndbapitest
++
++BIN_TARGET := newton_basic
++BIN_TARGET_LIBS :=
++BIN_TARGET_ARCHIVES := NEWTON_BASICTEST_COMMON NEWTON_API
++SOURCES    := basic.cpp
++
++CCFLAGS_LOC := -I.. -I$(call fixpath,$(NDB_TOP)/include/util) -I$(call fixpath,$(NDB_TOP)/include/newtonapi) -I$(call fixpath,$(NDB_TOP)/include/portlib)
++
++include $(NDB_TOP)/Epilogue.mk
++
++
+diff --git a/storage/ndb/test/newtonapi/basic_test/bulk_read/Makefile b/storage/ndb/test/newtonapi/basic_test/bulk_read/Makefile
+new file mode 100644
+index 0000000..c45bbad
+--- /dev/null
++++ b/storage/ndb/test/newtonapi/basic_test/bulk_read/Makefile
+@@ -0,0 +1,14 @@
++include .defs.mk
++
++TYPE := ndbapitest
++
++BIN_TARGET := newton_br
++BIN_TARGET_LIBS :=
++BIN_TARGET_ARCHIVES := NEWTON_BASICTEST_COMMON NEWTON_API
++SOURCES    := br_test.cpp
++
++CCFLAGS_LOC := -I.. -I$(call fixpath,$(NDB_TOP)/include/util) -I$(call fixpath,$(NDB_TOP)/include/newtonapi) -I$(call fixpath,$(NDB_TOP)/include/portlib)
++
++include $(NDB_TOP)/Epilogue.mk
++
++
+diff --git a/storage/ndb/test/newtonapi/basic_test/ptr_binding/Makefile b/storage/ndb/test/newtonapi/basic_test/ptr_binding/Makefile
+new file mode 100644
+index 0000000..95e87d4
+--- /dev/null
++++ b/storage/ndb/test/newtonapi/basic_test/ptr_binding/Makefile
+@@ -0,0 +1,14 @@
++include .defs.mk
++
++TYPE := ndbapitest
++
++BIN_TARGET := newton_pb
++BIN_TARGET_LIBS :=
++BIN_TARGET_ARCHIVES := NEWTON_BASICTEST_COMMON NEWTON_API
++SOURCES    := ptr_binding_test.cpp
++
++CCFLAGS_LOC := -I.. -I$(call fixpath,$(NDB_TOP)/include/util) -I$(call fixpath,$(NDB_TOP)/include/newtonapi) -I$(call fixpath,$(NDB_TOP)/include/portlib)
++
++include $(NDB_TOP)/Epilogue.mk
++
++
+diff --git a/storage/ndb/test/newtonapi/perf_test/Makefile b/storage/ndb/test/newtonapi/perf_test/Makefile
+new file mode 100644
+index 0000000..2be004d
+--- /dev/null
++++ b/storage/ndb/test/newtonapi/perf_test/Makefile
+@@ -0,0 +1,14 @@
++include .defs.mk
++
++TYPE := ndbapitest
++
++BIN_TARGET := newton_perf
++BIN_TARGET_LIBS :=
++BIN_TARGET_ARCHIVES := NEWTON_API
++SOURCES    := perf.cpp
++
++CCFLAGS_LOC := -I$(call fixpath,$(NDB_TOP)/include/util) -I$(call fixpath,$(NDB_TOP)/include/newtonapi) -I$(call fixpath,$(NDB_TOP)/include/portlib)
++
++include $(NDB_TOP)/Epilogue.mk
++
++
+diff --git a/storage/ndb/test/odbc/SQL99_test/Makefile b/storage/ndb/test/odbc/SQL99_test/Makefile
+new file mode 100644
+index 0000000..3ac0601
+--- /dev/null
++++ b/storage/ndb/test/odbc/SQL99_test/Makefile
+@@ -0,0 +1,26 @@
++include .defs.mk
++
++TYPE =                  odbcdriver
++
++BIN_TARGET =            SQL99_test
++
++SOURCES =               SQL99_test.cpp
++
++CCFLAGS_LOC += 			-I/usr/local/include \
++				        -I$(NDB_TOP)/test/include \
++						-I$(NDB_TOP)/include \
++                        -I$(NDB_TOP)/src/client/odbc/common
++
++
++CCFLAGS_WARNINGS +=     -Wno-unused
++
++LIBS_SPEC += \
++						-lNDBT \
++						-lodbc \
++						-lodbcinst \
++						-lportlib
++
++
++
++include $(NDB_TOP)/Epilogue.mk
++
+diff --git a/storage/ndb/test/odbc/client/Makefile b/storage/ndb/test/odbc/client/Makefile
+new file mode 100644
+index 0000000..4b962f5
+--- /dev/null
++++ b/storage/ndb/test/odbc/client/Makefile
+@@ -0,0 +1,95 @@
++include .defs.mk
++
++TYPE :=		odbcclient
++#TYPE :=	odbcdriver
++
++BIN_TARGET :=	testOdbcClient
++#BIN_TARGET :=	testodbc2
++
++
++# Source files of non-templated classes (.C files)
++SOURCES =	main.cpp \
++		SQLFetchTest.cpp \
++		SQLDisconnectTest.cpp \
++		SQLTablesTest.cpp \
++		SQLGetInfoTest.cpp \
++		SQLGetTypeInfoTest.cpp \
++		SQLGetFunctionsTest.cpp \
++		SQLGetDataTest.cpp \
++		SQLCancelTest.cpp \
++		SQLTransactTest.cpp \
++		SQLGetCursorNameTest.cpp \
++		SQLSetCursorNameTest.cpp \
++		SQLRowCountTest.cpp \
++		SQLNumResultColsTest.cpp \
++		SQLDescribeColTest.cpp \
++		SQLExecDirectTest.cpp \
++		SQLColAttributeTest.cpp \
++		SQLColAttributeTest1.cpp \
++		SQLColAttributeTest2.cpp \
++		SQLColAttributeTest3.cpp \
++		SQLBindColTest.cpp \
++		SQLDriverConnectTest.cpp \
++		SQLPrepareTest.cpp \
++		SQLGetDiagRecSimpleTest.cpp \
++		SQLConnectTest.cpp
++
++XSOURCES =	testodbc2.cpp
++XSOURCES = \
++		main.cpp \
++		SQLDriverConnectTest.cpp \
++		SQLPrepareTest.cpp \
++		SQLMoreResultsTest.cpp \
++		SQLGetStmtAttrTest.cpp \
++		SQLGetEnvAttrTest.cpp \
++		SQLGetConnectAttrTest.cpp \
++		SQLExecuteTest.cpp \
++		SQLExecDirectTest.cpp \
++		SQLDisconnectTest.cpp \
++		SQLCloseCursorTest.cpp \
++		SQLCancelTest.cpp \
++		SQLBindColTest.cpp \
++		SQLDescribeColTest.cpp \
++		SQLGetTypeInfoTest.cpp \
++		SQLGetFunctionsTest.cpp \
++		SQLNumResultColsTest.cpp \
++		SQLSetDescFieldTest.cpp \
++		SQLGetDescRecTest.cpp \
++		SQLEndTranTest.cpp \
++		SQLGetInfoTest.cpp \
++		SQLConnectTest.cpp \
++		SQLAllocHandleTest.cpp \
++		SQLAllocEnvTest.cpp \
++		SQLRowCountTest.cpp \
++		SQLFetchScrollTest.cpp \
++		SQLFetchTest.cpp \
++		SQLGetDescFieldTest.cpp \
++		SQLSetDescRecTest.cpp \
++		SQLFreeHandleTest.cpp
++
++ifeq ($(TYPE),odbcdriver)
++LIBS_SPEC += \
++		-lodbcdriver_pic \
++		-lodbchandles_pic \
++		-lodbccodegen_pic \
++		-lodbccompiler_pic \
++		-lodbcexecutor_pic \
++		-lodbccommon_pic \
++		-lodbcdictionary_pic \
++		-lNDBT \
++		-lportlib
++endif
++
++ifeq ($(TYPE),odbcclient)
++LIBS_SPEC += \
++		-lportlib \
++		-lNDBT 
++endif
++
++CCFLAGS_LOC += 	-I/usr/local/include \
++	        -I$(NDB_TOP)/include/ndbapi \
++		-I$(NDB_TOP)/test/include
++
++include $(NDB_TOP)/Epilogue.mk
++#LIBS_LOC +=	-L/usr/local/opt/iODBC/lib
++#LIBS_SPEC =	-liodbc -lNDBT -lportlib
+diff --git a/storage/ndb/test/odbc/dm-iodbc/Makefile b/storage/ndb/test/odbc/dm-iodbc/Makefile
+new file mode 100644
+index 0000000..ad0f0d3
+--- /dev/null
++++ b/storage/ndb/test/odbc/dm-iodbc/Makefile
+@@ -0,0 +1,38 @@
++include .defs.mk
++
++TYPE =			*
++
++BIN_TARGET =		testOdbcDMi
++
++SOURCES =		testOdbcDMi.cpp
++
++CCFLAGS_LOC += \
++			-I$(NDB_TOP)/include \
++			-I$(NDB_TOP)/include/ndbapi \
++			-I$(NDB_TOP)/include/portlib \
++			-I$(NDB_TOP)/include/util \
++			-I$(NDB_TOP)/test/include
++
++CCFLAGS_WARNINGS +=	-Wno-unused -Wno-sign-compare
++
++CCFLAGS_TOP +=		-DHAVE_LONG_LONG -DiODBC
++
++BIN_TARGET_LIBS =	NDBT general portlib
++
++ifeq ($(NDB_OS),SOLARIS)
++CCFLAGS_TOP +=		-DDMALLOC
++LIBS_LOC +=		-L/usr/local/opt/iODBC/lib
++LIBS_LOC +=		-R/usr/local/opt/iODBC/lib
++BIN_TARGET_LIBS +=	iodbc
++BIN_TARGET_LIBS +=	dmallocthcxx
++endif
++
++ifeq ($(NDB_OS),LINUX)
++BIN_TARGET_LIBS_DIRS +=	/usr/local/opt/iODBC/lib
++BIN_TARGET_LIBS +=	iodbc
++endif
++
++include $(NDB_TOP)/Epilogue.mk
++
++testOdbcDMi.cpp:
++	ln -s ../driver/testOdbcDriver.cpp $@
+diff --git a/storage/ndb/test/odbc/dm-unixodbc/Makefile b/storage/ndb/test/odbc/dm-unixodbc/Makefile
+new file mode 100644
+index 0000000..50d8e3b
+--- /dev/null
++++ b/storage/ndb/test/odbc/dm-unixodbc/Makefile
+@@ -0,0 +1,39 @@
++include .defs.mk
++
++TYPE =			*
++
++BIN_TARGET =		testOdbcDMu
++
++SOURCES =		testOdbcDMu.cpp
++
++CCFLAGS_LOC += \
++			-I$(NDB_TOP)/include \
++			-I$(NDB_TOP)/include/ndbapi \
++			-I$(NDB_TOP)/include/portlib \
++			-I$(NDB_TOP)/include/util \
++			-I$(NDB_TOP)/test/include
++
++CCFLAGS_WARNINGS +=	-Wno-unused -Wno-sign-compare
++
++CCFLAGS_TOP +=		-DHAVE_LONG_LONG -DunixODBC
++
++BIN_TARGET_LIBS =	NDBT general portlib
++
++ifeq ($(NDB_OS),SOLARIS)
++CCFLAGS_TOP +=		-DDMALLOC
++LIBS_LOC +=		-L/usr/local/lib
++BIN_TARGET_LIBS +=	odbc odbcinst
++BIN_TARGET_LIBS +=	dmallocthcxx
++endif
++
++ifeq ($(NDB_OS),LINUX)
++BIN_TARGET_LIBS +=	odbc odbcinst
++BIN_TARGET_LIBS_DIRS +=	.
++dummy := $(shell [ ! -f /usr/lib/libodbc.so ] || ln -sf /usr/lib/libodbc.so.1 libodbc.so)
++dummy := $(shell [ ! -f /usr/lib/libodbcinst.so ] || ln -sf /usr/lib/libodbcinst.so.1 libodbcinst.so)
++endif
++
++include $(NDB_TOP)/Epilogue.mk
++
++testOdbcDMu.cpp:
++	ln -s ../driver/testOdbcDriver.cpp $@
+diff --git a/storage/ndb/test/odbc/driver/Makefile b/storage/ndb/test/odbc/driver/Makefile
+new file mode 100644
+index 0000000..5cf83d7
+--- /dev/null
++++ b/storage/ndb/test/odbc/driver/Makefile
+@@ -0,0 +1,30 @@
++include .defs.mk
++
++TYPE =			*
++
++BIN_TARGET =		testOdbcDriver
++
++SOURCES =		testOdbcDriver.cpp
++
++CCFLAGS_LOC += \
++			-I$(NDB_TOP)/include \
++			-I$(NDB_TOP)/include/ndbapi \
++			-I$(NDB_TOP)/include/portlib \
++			-I$(NDB_TOP)/include/util \
++			-I$(NDB_TOP)/test/include \
++			-I/usr/local/include
++
++CCFLAGS_WARNINGS +=	-Wno-unused -Wno-sign-compare -Wformat
++
++CCFLAGS_TOP +=		-DHAVE_LONG_LONG -DndbODBC
++
++BIN_TARGET_LIBS =	 NDBT NDB_ODBC
++
++ifeq ($(NDB_OS),SOLARIS)
++BIN_TARGET_LIBS +=	dmallocthcxx
++CCFLAGS_TOP +=		-DDMALLOC
++endif
++
++include $(NDB_TOP)/Epilogue.mk
++
++$(BIN_DIR)$(BIN_TARGET): Makefile
+diff --git a/storage/ndb/test/odbc/test_compiler/Makefile b/storage/ndb/test/odbc/test_compiler/Makefile
+new file mode 100644
+index 0000000..34819f2
+--- /dev/null
++++ b/storage/ndb/test/odbc/test_compiler/Makefile
+@@ -0,0 +1,21 @@
++include .defs.mk
++
++TYPE =                  odbcdriver
++
++BIN_TARGET =            test_compiler
++
++SOURCES =               test_compiler.cpp
++
++CCFLAGS_LOC += \
++                        -I$(NDB_TOP)/src/client/odbc/common \
++			-I$(NDB_TOP)/src/client/odbc/dictionary \
++			-I$(NDB_TOP)/src/client/odbc/compiler
++
++CCFLAGS_WARNINGS +=     -Wno-unused
++
++LIBS_SPEC += \
++                        -lodbccompiler_pic
++
++
++include $(NDB_TOP)/Epilogue.mk
++
+diff --git a/storage/tokudb/ft-index/third_party/xz-4.999.9beta/configure b/storage/tokudb/ft-index/third_party/xz-4.999.9beta/configure
+new file mode 100755
+index 0000000..9dc3178
+--- /dev/null
++++ b/storage/tokudb/ft-index/third_party/xz-4.999.9beta/configure
+@@ -0,0 +1,23074 @@
++#! /bin/sh
++# Guess values for system-dependent variables and create Makefiles.
++# Generated by GNU Autoconf 2.63 for XZ Utils 4.999.9beta.
++#
++# Report bugs to <lasse.collin@tukaani.org>.
++#
++# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
++# 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
++# This configure script is free software; the Free Software Foundation
++# gives unlimited permission to copy, distribute and modify it.
++## --------------------- ##
++## M4sh Initialization.  ##
++## --------------------- ##
++
++# Be more Bourne compatible
++DUALCASE=1; export DUALCASE # for MKS sh
++if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
++  emulate sh
++  NULLCMD=:
++  # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
++  # is contrary to our usage.  Disable this feature.
++  alias -g '${1+"$@"}'='"$@"'
++  setopt NO_GLOB_SUBST
++else
++  case `(set -o) 2>/dev/null` in
++  *posix*) set -o posix ;;
++esac
++
++fi
++
++
++
++
++# PATH needs CR
++# Avoid depending upon Character Ranges.
++as_cr_letters='abcdefghijklmnopqrstuvwxyz'
++as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
++as_cr_Letters=$as_cr_letters$as_cr_LETTERS
++as_cr_digits='0123456789'
++as_cr_alnum=$as_cr_Letters$as_cr_digits
++
++as_nl='
++'
++export as_nl
++# Printing a long string crashes Solaris 7 /usr/bin/printf.
++as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
++as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
++as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
++if (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
++  as_echo='printf %s\n'
++  as_echo_n='printf %s'
++else
++  if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
++    as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
++    as_echo_n='/usr/ucb/echo -n'
++  else
++    as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
++    as_echo_n_body='eval
++      arg=$1;
++      case $arg in
++      *"$as_nl"*)
++	expr "X$arg" : "X\\(.*\\)$as_nl";
++	arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
++      esac;
++      expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
++    '
++    export as_echo_n_body
++    as_echo_n='sh -c $as_echo_n_body as_echo'
++  fi
++  export as_echo_body
++  as_echo='sh -c $as_echo_body as_echo'
++fi
++
++# The user is always right.
++if test "${PATH_SEPARATOR+set}" != set; then
++  PATH_SEPARATOR=:
++  (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
++    (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
++      PATH_SEPARATOR=';'
++  }
++fi
++
++# Support unset when possible.
++if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
++  as_unset=unset
++else
++  as_unset=false
++fi
++
++
++# IFS
++# We need space, tab and new line, in precisely that order.  Quoting is
++# there to prevent editors from complaining about space-tab.
++# (If _AS_PATH_WALK were called with IFS unset, it would disable word
++# splitting by setting IFS to empty value.)
++IFS=" ""	$as_nl"
++
++# Find who we are.  Look in the path if we contain no directory separator.
++case $0 in
++  *[\\/]* ) as_myself=$0 ;;
++  *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++  IFS=$as_save_IFS
++  test -z "$as_dir" && as_dir=.
++  test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
++done
++IFS=$as_save_IFS
++
++     ;;
++esac
++# We did not find ourselves, most probably we were run as `sh COMMAND'
++# in which case we are not to be found in the path.
++if test "x$as_myself" = x; then
++  as_myself=$0
++fi
++if test ! -f "$as_myself"; then
++  $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
++  { (exit 1); exit 1; }
++fi
++
++# Work around bugs in pre-3.0 UWIN ksh.
++for as_var in ENV MAIL MAILPATH
++do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
++done
++PS1='$ '
++PS2='> '
++PS4='+ '
++
++# NLS nuisances.
++LC_ALL=C
++export LC_ALL
++LANGUAGE=C
++export LANGUAGE
++
++# Required to use basename.
++if expr a : '\(a\)' >/dev/null 2>&1 &&
++   test "X`expr 00001 : '.*\(...\)'`" = X001; then
++  as_expr=expr
++else
++  as_expr=false
++fi
++
++if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
++  as_basename=basename
++else
++  as_basename=false
++fi
++
++
++# Name of the executable.
++as_me=`$as_basename -- "$0" ||
++$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
++	 X"$0" : 'X\(//\)$' \| \
++	 X"$0" : 'X\(/\)' \| . 2>/dev/null ||
++$as_echo X/"$0" |
++    sed '/^.*\/\([^/][^/]*\)\/*$/{
++	    s//\1/
++	    q
++	  }
++	  /^X\/\(\/\/\)$/{
++	    s//\1/
++	    q
++	  }
++	  /^X\/\(\/\).*/{
++	    s//\1/
++	    q
++	  }
++	  s/.*/./; q'`
++
++# CDPATH.
++$as_unset CDPATH
++
++
++if test "x$CONFIG_SHELL" = x; then
++  if (eval ":") 2>/dev/null; then
++  as_have_required=yes
++else
++  as_have_required=no
++fi
++
++  if test $as_have_required = yes &&	 (eval ":
++(as_func_return () {
++  (exit \$1)
++}
++as_func_success () {
++  as_func_return 0
++}
++as_func_failure () {
++  as_func_return 1
++}
++as_func_ret_success () {
++  return 0
++}
++as_func_ret_failure () {
++  return 1
++}
++
++exitcode=0
++if as_func_success; then
++  :
++else
++  exitcode=1
++  echo as_func_success failed.
++fi
++
++if as_func_failure; then
++  exitcode=1
++  echo as_func_failure succeeded.
++fi
++
++if as_func_ret_success; then
++  :
++else
++  exitcode=1
++  echo as_func_ret_success failed.
++fi
++
++if as_func_ret_failure; then
++  exitcode=1
++  echo as_func_ret_failure succeeded.
++fi
++
++if ( set x; as_func_ret_success y && test x = \"\$1\" ); then
++  :
++else
++  exitcode=1
++  echo positional parameters were not saved.
++fi
++
++test \$exitcode = 0) || { (exit 1); exit 1; }
++
++(
++  as_lineno_1=\$LINENO
++  as_lineno_2=\$LINENO
++  test \"x\$as_lineno_1\" != \"x\$as_lineno_2\" &&
++  test \"x\`expr \$as_lineno_1 + 1\`\" = \"x\$as_lineno_2\") || { (exit 1); exit 1; }
++") 2> /dev/null; then
++  :
++else
++  as_candidate_shells=
++    as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
++do
++  IFS=$as_save_IFS
++  test -z "$as_dir" && as_dir=.
++  case $as_dir in
++	 /*)
++	   for as_base in sh bash ksh sh5; do
++	     as_candidate_shells="$as_candidate_shells $as_dir/$as_base"
++	   done;;
++       esac
++done
++IFS=$as_save_IFS
++
++
++      for as_shell in $as_candidate_shells $SHELL; do
++	 # Try only shells that exist, to save several forks.
++	 if { test -f "$as_shell" || test -f "$as_shell.exe"; } &&
++		{ ("$as_shell") 2> /dev/null <<\_ASEOF
++if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
++  emulate sh
++  NULLCMD=:
++  # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
++  # is contrary to our usage.  Disable this feature.
++  alias -g '${1+"$@"}'='"$@"'
++  setopt NO_GLOB_SUBST
++else
++  case `(set -o) 2>/dev/null` in
++  *posix*) set -o posix ;;
++esac
++
++fi
++
++
++:
++_ASEOF
++}; then
++  CONFIG_SHELL=$as_shell
++	       as_have_required=yes
++	       if { "$as_shell" 2> /dev/null <<\_ASEOF
++if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
++  emulate sh
++  NULLCMD=:
++  # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
++  # is contrary to our usage.  Disable this feature.
++  alias -g '${1+"$@"}'='"$@"'
++  setopt NO_GLOB_SUBST
++else
++  case `(set -o) 2>/dev/null` in
++  *posix*) set -o posix ;;
++esac
++
++fi
++
++
++:
++(as_func_return () {
++  (exit $1)
++}
++as_func_success () {
++  as_func_return 0
++}
++as_func_failure () {
++  as_func_return 1
++}
++as_func_ret_success () {
++  return 0
++}
++as_func_ret_failure () {
++  return 1
++}
++
++exitcode=0
++if as_func_success; then
++  :
++else
++  exitcode=1
++  echo as_func_success failed.
++fi
++
++if as_func_failure; then
++  exitcode=1
++  echo as_func_failure succeeded.
++fi
++
++if as_func_ret_success; then
++  :
++else
++  exitcode=1
++  echo as_func_ret_success failed.
++fi
++
++if as_func_ret_failure; then
++  exitcode=1
++  echo as_func_ret_failure succeeded.
++fi
++
++if ( set x; as_func_ret_success y && test x = "$1" ); then
++  :
++else
++  exitcode=1
++  echo positional parameters were not saved.
++fi
++
++test $exitcode = 0) || { (exit 1); exit 1; }
++
++(
++  as_lineno_1=$LINENO
++  as_lineno_2=$LINENO
++  test "x$as_lineno_1" != "x$as_lineno_2" &&
++  test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2") || { (exit 1); exit 1; }
++
++_ASEOF
++}; then
++  break
++fi
++
++fi
++
++      done
++
++      if test "x$CONFIG_SHELL" != x; then
++  for as_var in BASH_ENV ENV
++	do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
++	done
++	export CONFIG_SHELL
++	exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"}
++fi
++
++
++    if test $as_have_required = no; then
++  echo This script requires a shell more modern than all the
++      echo shells that I found on your system.  Please install a
++      echo modern shell, or manually run the script under such a
++      echo shell if you do have one.
++      { (exit 1); exit 1; }
++fi
++
++
++fi
++
++fi
++
++
++
++(eval "as_func_return () {
++  (exit \$1)
++}
++as_func_success () {
++  as_func_return 0
++}
++as_func_failure () {
++  as_func_return 1
++}
++as_func_ret_success () {
++  return 0
++}
++as_func_ret_failure () {
++  return 1
++}
++
++exitcode=0
++if as_func_success; then
++  :
++else
++  exitcode=1
++  echo as_func_success failed.
++fi
++
++if as_func_failure; then
++  exitcode=1
++  echo as_func_failure succeeded.
++fi
++
++if as_func_ret_success; then
++  :
++else
++  exitcode=1
++  echo as_func_ret_success failed.
++fi
++
++if as_func_ret_failure; then
++  exitcode=1
++  echo as_func_ret_failure succeeded.
++fi
++
++if ( set x; as_func_ret_success y && test x = \"\$1\" ); then
++  :
++else
++  exitcode=1
++  echo positional parameters were not saved.
++fi
++
++test \$exitcode = 0") || {
++  echo No shell found that supports shell functions.
++  echo Please tell bug-autoconf@gnu.org about your system,
++  echo including any error possibly output before this message.
++  echo This can help us improve future autoconf versions.
++  echo Configuration will now proceed without shell functions.
++}
++
++
++
++  as_lineno_1=$LINENO
++  as_lineno_2=$LINENO
++  test "x$as_lineno_1" != "x$as_lineno_2" &&
++  test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || {
++
++  # Create $as_me.lineno as a copy of $as_myself, but with $LINENO
++  # uniformly replaced by the line number.  The first 'sed' inserts a
++  # line-number line after each line using $LINENO; the second 'sed'
++  # does the real work.  The second script uses 'N' to pair each
++  # line-number line with the line containing $LINENO, and appends
++  # trailing '-' during substitution so that $LINENO is not a special
++  # case at line end.
++  # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the
++  # scripts with optimization help from Paolo Bonzini.  Blame Lee
++  # E. McMahon (1931-1989) for sed's syntax.  :-)
++  sed -n '
++    p
++    /[$]LINENO/=
++  ' <$as_myself |
++    sed '
++      s/[$]LINENO.*/&-/
++      t lineno
++      b
++      :lineno
++      N
++      :loop
++      s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
++      t loop
++      s/-\n.*//
++    ' >$as_me.lineno &&
++  chmod +x "$as_me.lineno" ||
++    { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2
++   { (exit 1); exit 1; }; }
++
++  # Don't try to exec as it changes $[0], causing all sort of problems
++  # (the dirname of $[0] is not the place where we might find the
++  # original and so on.  Autoconf is especially sensitive to this).
++  . "./$as_me.lineno"
++  # Exit status is that of the last command.
++  exit
++}
++
++
++if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
++  as_dirname=dirname
++else
++  as_dirname=false
++fi
++
++ECHO_C= ECHO_N= ECHO_T=
++case `echo -n x` in
++-n*)
++  case `echo 'x\c'` in
++  *c*) ECHO_T='	';;	# ECHO_T is single tab character.
++  *)   ECHO_C='\c';;
++  esac;;
++*)
++  ECHO_N='-n';;
++esac
++if expr a : '\(a\)' >/dev/null 2>&1 &&
++   test "X`expr 00001 : '.*\(...\)'`" = X001; then
++  as_expr=expr
++else
++  as_expr=false
++fi
++
++rm -f conf$$ conf$$.exe conf$$.file
++if test -d conf$$.dir; then
++  rm -f conf$$.dir/conf$$.file
++else
++  rm -f conf$$.dir
++  mkdir conf$$.dir 2>/dev/null
++fi
++if (echo >conf$$.file) 2>/dev/null; then
++  if ln -s conf$$.file conf$$ 2>/dev/null; then
++    as_ln_s='ln -s'
++    # ... but there are two gotchas:
++    # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
++    # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
++    # In both cases, we have to default to `cp -p'.
++    ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
++      as_ln_s='cp -p'
++  elif ln conf$$.file conf$$ 2>/dev/null; then
++    as_ln_s=ln
++  else
++    as_ln_s='cp -p'
++  fi
++else
++  as_ln_s='cp -p'
++fi
++rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
++rmdir conf$$.dir 2>/dev/null
++
++if mkdir -p . 2>/dev/null; then
++  as_mkdir_p=:
++else
++  test -d ./-p && rmdir ./-p
++  as_mkdir_p=false
++fi
++
++if test -x / >/dev/null 2>&1; then
++  as_test_x='test -x'
++else
++  if ls -dL / >/dev/null 2>&1; then
++    as_ls_L_option=L
++  else
++    as_ls_L_option=
++  fi
++  as_test_x='
++    eval sh -c '\''
++      if test -d "$1"; then
++	test -d "$1/.";
++      else
++	case $1 in
++	-*)set "./$1";;
++	esac;
++	case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in
++	???[sx]*):;;*)false;;esac;fi
++    '\'' sh
++  '
++fi
++as_executable_p=$as_test_x
++
++# Sed expression to map a string onto a valid CPP name.
++as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
++
++# Sed expression to map a string onto a valid variable name.
++as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
++
++
++
++
++# Check that we are running under the correct shell.
++SHELL=${CONFIG_SHELL-/bin/sh}
++
++case X$lt_ECHO in
++X*--fallback-echo)
++  # Remove one level of quotation (which was required for Make).
++  ECHO=`echo "$lt_ECHO" | sed 's,\\\\\$\\$0,'$0','`
++  ;;
++esac
++
++ECHO=${lt_ECHO-echo}
++if test "X$1" = X--no-reexec; then
++  # Discard the --no-reexec flag, and continue.
++  shift
++elif test "X$1" = X--fallback-echo; then
++  # Avoid inline document here, it may be left over
++  :
++elif test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' ; then
++  # Yippee, $ECHO works!
++  :
++else
++  # Restart under the correct shell.
++  exec $SHELL "$0" --no-reexec ${1+"$@"}
++fi
++
++if test "X$1" = X--fallback-echo; then
++  # used as fallback echo
++  shift
++  cat <<_LT_EOF
++$*
++_LT_EOF
++  exit 0
++fi
++
++# The HP-UX ksh and POSIX shell print the target directory to stdout
++# if CDPATH is set.
++(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
++
++if test -z "$lt_ECHO"; then
++  if test "X${echo_test_string+set}" != Xset; then
++    # find a string as large as possible, as long as the shell can cope with it
++    for cmd in 'sed 50q "$0"' 'sed 20q "$0"' 'sed 10q "$0"' 'sed 2q "$0"' 'echo test'; do
++      # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ...
++      if { echo_test_string=`eval $cmd`; } 2>/dev/null &&
++	 { test "X$echo_test_string" = "X$echo_test_string"; } 2>/dev/null
++      then
++        break
++      fi
++    done
++  fi
++
++  if test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' &&
++     echo_testing_string=`{ $ECHO "$echo_test_string"; } 2>/dev/null` &&
++     test "X$echo_testing_string" = "X$echo_test_string"; then
++    :
++  else
++    # The Solaris, AIX, and Digital Unix default echo programs unquote
++    # backslashes.  This makes it impossible to quote backslashes using
++    #   echo "$something" | sed 's/\\/\\\\/g'
++    #
++    # So, first we look for a working echo in the user's PATH.
++
++    lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
++    for dir in $PATH /usr/ucb; do
++      IFS="$lt_save_ifs"
++      if (test -f $dir/echo || test -f $dir/echo$ac_exeext) &&
++         test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' &&
++         echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` &&
++         test "X$echo_testing_string" = "X$echo_test_string"; then
++        ECHO="$dir/echo"
++        break
++      fi
++    done
++    IFS="$lt_save_ifs"
++
++    if test "X$ECHO" = Xecho; then
++      # We didn't find a better echo, so look for alternatives.
++      if test "X`{ print -r '\t'; } 2>/dev/null`" = 'X\t' &&
++         echo_testing_string=`{ print -r "$echo_test_string"; } 2>/dev/null` &&
++         test "X$echo_testing_string" = "X$echo_test_string"; then
++        # This shell has a builtin print -r that does the trick.
++        ECHO='print -r'
++      elif { test -f /bin/ksh || test -f /bin/ksh$ac_exeext; } &&
++	   test "X$CONFIG_SHELL" != X/bin/ksh; then
++        # If we have ksh, try running configure again with it.
++        ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh}
++        export ORIGINAL_CONFIG_SHELL
++        CONFIG_SHELL=/bin/ksh
++        export CONFIG_SHELL
++        exec $CONFIG_SHELL "$0" --no-reexec ${1+"$@"}
++      else
++        # Try using printf.
++        ECHO='printf %s\n'
++        if test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' &&
++	   echo_testing_string=`{ $ECHO "$echo_test_string"; } 2>/dev/null` &&
++	   test "X$echo_testing_string" = "X$echo_test_string"; then
++	  # Cool, printf works
++	  :
++        elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "$0" --fallback-echo '\t') 2>/dev/null` &&
++	     test "X$echo_testing_string" = 'X\t' &&
++	     echo_testing_string=`($ORIGINAL_CONFIG_SHELL "$0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
++	     test "X$echo_testing_string" = "X$echo_test_string"; then
++	  CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL
++	  export CONFIG_SHELL
++	  SHELL="$CONFIG_SHELL"
++	  export SHELL
++	  ECHO="$CONFIG_SHELL $0 --fallback-echo"
++        elif echo_testing_string=`($CONFIG_SHELL "$0" --fallback-echo '\t') 2>/dev/null` &&
++	     test "X$echo_testing_string" = 'X\t' &&
++	     echo_testing_string=`($CONFIG_SHELL "$0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
++	     test "X$echo_testing_string" = "X$echo_test_string"; then
++	  ECHO="$CONFIG_SHELL $0 --fallback-echo"
++        else
++	  # maybe with a smaller string...
++	  prev=:
++
++	  for cmd in 'echo test' 'sed 2q "$0"' 'sed 10q "$0"' 'sed 20q "$0"' 'sed 50q "$0"'; do
++	    if { test "X$echo_test_string" = "X`eval $cmd`"; } 2>/dev/null
++	    then
++	      break
++	    fi
++	    prev="$cmd"
++	  done
++
++	  if test "$prev" != 'sed 50q "$0"'; then
++	    echo_test_string=`eval $prev`
++	    export echo_test_string
++	    exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "$0" ${1+"$@"}
++	  else
++	    # Oops.  We lost completely, so just stick with echo.
++	    ECHO=echo
++	  fi
++        fi
++      fi
++    fi
++  fi
++fi
++
++# Copy echo and quote the copy suitably for passing to libtool from
++# the Makefile, instead of quoting the original, which is used later.
++lt_ECHO=$ECHO
++if test "X$lt_ECHO" = "X$CONFIG_SHELL $0 --fallback-echo"; then
++   lt_ECHO="$CONFIG_SHELL \\\$\$0 --fallback-echo"
++fi
++
++
++
++
++exec 7<&0 </dev/null 6>&1
++
++# Name of the host.
++# hostname on some systems (SVR3.2, Linux) returns a bogus exit status,
++# so uname gets run too.
++ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
++
++#
++# Initializations.
++#
++ac_default_prefix=/usr/local
++ac_clean_files=
++ac_config_libobj_dir=.
++LIBOBJS=
++cross_compiling=no
++subdirs=
++MFLAGS=
++MAKEFLAGS=
++SHELL=${CONFIG_SHELL-/bin/sh}
++
++# Identity of this package.
++PACKAGE_NAME='XZ Utils'
++PACKAGE_TARNAME='xz'
++PACKAGE_VERSION='4.999.9beta'
++PACKAGE_STRING='XZ Utils 4.999.9beta'
++PACKAGE_BUGREPORT='lasse.collin@tukaani.org'
++
++ac_unique_file="src/liblzma/common/common.h"
++# Factoring default headers for most tests.
++ac_includes_default="\
++#include <stdio.h>
++#ifdef HAVE_SYS_TYPES_H
++# include <sys/types.h>
++#endif
++#ifdef HAVE_SYS_STAT_H
++# include <sys/stat.h>
++#endif
++#ifdef STDC_HEADERS
++# include <stdlib.h>
++# include <stddef.h>
++#else
++# ifdef HAVE_STDLIB_H
++#  include <stdlib.h>
++# endif
++#endif
++#ifdef HAVE_STRING_H
++# if !defined STDC_HEADERS && defined HAVE_MEMORY_H
++#  include <memory.h>
++# endif
++# include <string.h>
++#endif
++#ifdef HAVE_STRINGS_H
++# include <strings.h>
++#endif
++#ifdef HAVE_INTTYPES_H
++# include <inttypes.h>
++#endif
++#ifdef HAVE_STDINT_H
++# include <stdint.h>
++#endif
++#ifdef HAVE_UNISTD_H
++# include <unistd.h>
++#endif"
++
++gt_needs=
++ac_subst_vars='am__EXEEXT_FALSE
++am__EXEEXT_TRUE
++LTLIBOBJS
++xz
++DYNAMIC_LDFLAGS
++DYNAMIC_CPPFLAGS
++STATIC_LDFLAGS
++STATIC_CPPFLAGS
++AM_CFLAGS
++COND_GNULIB_FALSE
++COND_GNULIB_TRUE
++HAVE_VISIBILITY
++CFLAG_VISIBILITY
++GETOPT_H
++LIBOBJS
++POSUB
++LTLIBINTL
++LIBINTL
++INTLLIBS
++LTLIBICONV
++LIBICONV
++INTL_MACOSX_LIBS
++MSGMERGE
++XGETTEXT_015
++XGETTEXT
++GMSGFMT_015
++MSGFMT_015
++GMSGFMT
++MSGFMT
++USE_NLS
++COND_SHARED_FALSE
++COND_SHARED_TRUE
++RC
++OTOOL64
++OTOOL
++LIPO
++NMEDIT
++DSYMUTIL
++lt_ECHO
++RANLIB
++AR
++NM
++ac_ct_DUMPBIN
++DUMPBIN
++LD
++FGREP
++SED
++LIBTOOL
++OBJDUMP
++DLLTOOL
++AS
++PTHREAD_CFLAGS
++PTHREAD_LIBS
++PTHREAD_CC
++acx_pthread_config
++EGREP
++GREP
++CPP
++am__fastdepCCAS_FALSE
++am__fastdepCCAS_TRUE
++CCASDEPMODE
++CCASFLAGS
++CCAS
++am__fastdepCC_FALSE
++am__fastdepCC_TRUE
++CCDEPMODE
++AMDEPBACKSLASH
++AMDEP_FALSE
++AMDEP_TRUE
++am__quote
++am__include
++DEPDIR
++OBJEXT
++EXEEXT
++ac_ct_CC
++CPPFLAGS
++LDFLAGS
++CFLAGS
++CC
++LN_S
++am__untar
++am__tar
++AMTAR
++am__leading_dot
++SET_MAKE
++AWK
++mkdir_p
++MKDIR_P
++INSTALL_STRIP_PROGRAM
++STRIP
++install_sh
++MAKEINFO
++AUTOHEADER
++AUTOMAKE
++AUTOCONF
++ACLOCAL
++VERSION
++PACKAGE
++CYGPATH_W
++am__isrc
++INSTALL_DATA
++INSTALL_SCRIPT
++INSTALL_PROGRAM
++PREFERABLY_POSIX_SHELL
++POSIX_SHELL
++COND_SMALL_FALSE
++COND_SMALL_TRUE
++COND_ASM_X86_64_FALSE
++COND_ASM_X86_64_TRUE
++COND_ASM_X86_FALSE
++COND_ASM_X86_TRUE
++COND_CHECK_SHA256_FALSE
++COND_CHECK_SHA256_TRUE
++COND_CHECK_CRC64_FALSE
++COND_CHECK_CRC64_TRUE
++COND_CHECK_CRC32_FALSE
++COND_CHECK_CRC32_TRUE
++COND_DECODER_LZ_FALSE
++COND_DECODER_LZ_TRUE
++COND_ENCODER_LZ_FALSE
++COND_ENCODER_LZ_TRUE
++COND_FILTER_LZ_FALSE
++COND_FILTER_LZ_TRUE
++COND_DECODER_SIMPLE_FALSE
++COND_DECODER_SIMPLE_TRUE
++COND_ENCODER_SIMPLE_FALSE
++COND_ENCODER_SIMPLE_TRUE
++COND_FILTER_SIMPLE_FALSE
++COND_FILTER_SIMPLE_TRUE
++COND_DECODER_SPARC_FALSE
++COND_DECODER_SPARC_TRUE
++COND_ENCODER_SPARC_FALSE
++COND_ENCODER_SPARC_TRUE
++COND_FILTER_SPARC_FALSE
++COND_FILTER_SPARC_TRUE
++COND_DECODER_ARMTHUMB_FALSE
++COND_DECODER_ARMTHUMB_TRUE
++COND_ENCODER_ARMTHUMB_FALSE
++COND_ENCODER_ARMTHUMB_TRUE
++COND_FILTER_ARMTHUMB_FALSE
++COND_FILTER_ARMTHUMB_TRUE
++COND_DECODER_ARM_FALSE
++COND_DECODER_ARM_TRUE
++COND_ENCODER_ARM_FALSE
++COND_ENCODER_ARM_TRUE
++COND_FILTER_ARM_FALSE
++COND_FILTER_ARM_TRUE
++COND_DECODER_IA64_FALSE
++COND_DECODER_IA64_TRUE
++COND_ENCODER_IA64_FALSE
++COND_ENCODER_IA64_TRUE
++COND_FILTER_IA64_FALSE
++COND_FILTER_IA64_TRUE
++COND_DECODER_POWERPC_FALSE
++COND_DECODER_POWERPC_TRUE
++COND_ENCODER_POWERPC_FALSE
++COND_ENCODER_POWERPC_TRUE
++COND_FILTER_POWERPC_FALSE
++COND_FILTER_POWERPC_TRUE
++COND_DECODER_X86_FALSE
++COND_DECODER_X86_TRUE
++COND_ENCODER_X86_FALSE
++COND_ENCODER_X86_TRUE
++COND_FILTER_X86_FALSE
++COND_FILTER_X86_TRUE
++COND_DECODER_DELTA_FALSE
++COND_DECODER_DELTA_TRUE
++COND_ENCODER_DELTA_FALSE
++COND_ENCODER_DELTA_TRUE
++COND_FILTER_DELTA_FALSE
++COND_FILTER_DELTA_TRUE
++COND_DECODER_SUBBLOCK_FALSE
++COND_DECODER_SUBBLOCK_TRUE
++COND_ENCODER_SUBBLOCK_FALSE
++COND_ENCODER_SUBBLOCK_TRUE
++COND_FILTER_SUBBLOCK_FALSE
++COND_FILTER_SUBBLOCK_TRUE
++COND_DECODER_LZMA2_FALSE
++COND_DECODER_LZMA2_TRUE
++COND_ENCODER_LZMA2_FALSE
++COND_ENCODER_LZMA2_TRUE
++COND_FILTER_LZMA2_FALSE
++COND_FILTER_LZMA2_TRUE
++COND_DECODER_LZMA1_FALSE
++COND_DECODER_LZMA1_TRUE
++COND_ENCODER_LZMA1_FALSE
++COND_ENCODER_LZMA1_TRUE
++COND_FILTER_LZMA1_FALSE
++COND_FILTER_LZMA1_TRUE
++COND_MAIN_DECODER_FALSE
++COND_MAIN_DECODER_TRUE
++COND_MAIN_ENCODER_FALSE
++COND_MAIN_ENCODER_TRUE
++COND_W32_FALSE
++COND_W32_TRUE
++host_os
++host_vendor
++host_cpu
++host
++build_os
++build_vendor
++build_cpu
++build
++PACKAGE_HOMEPAGE
++target_alias
++host_alias
++build_alias
++LIBS
++ECHO_T
++ECHO_N
++ECHO_C
++DEFS
++mandir
++localedir
++libdir
++psdir
++pdfdir
++dvidir
++htmldir
++infodir
++docdir
++oldincludedir
++includedir
++localstatedir
++sharedstatedir
++sysconfdir
++datadir
++datarootdir
++libexecdir
++sbindir
++bindir
++program_transform_name
++prefix
++exec_prefix
++PACKAGE_BUGREPORT
++PACKAGE_STRING
++PACKAGE_VERSION
++PACKAGE_TARNAME
++PACKAGE_NAME
++PATH_SEPARATOR
++SHELL'
++ac_subst_files=''
++ac_user_opts='
++enable_option_checking
++enable_debug
++enable_encoders
++enable_decoders
++enable_match_finders
++enable_checks
++enable_assembler
++enable_unaligned_access
++enable_small
++enable_threads
++enable_dynamic
++enable_dependency_tracking
++enable_shared
++enable_static
++with_pic
++enable_fast_install
++with_gnu_ld
++enable_libtool_lock
++enable_nls
++enable_rpath
++with_libiconv_prefix
++with_libintl_prefix
++enable_largefile
++enable_werror
++'
++      ac_precious_vars='build_alias
++host_alias
++target_alias
++CC
++CFLAGS
++LDFLAGS
++LIBS
++CPPFLAGS
++CCAS
++CCASFLAGS
++CPP'
++
++
++# Initialize some variables set by options.
++ac_init_help=
++ac_init_version=false
++ac_unrecognized_opts=
++ac_unrecognized_sep=
++# The variables have the same names as the options, with
++# dashes changed to underlines.
++cache_file=/dev/null
++exec_prefix=NONE
++no_create=
++no_recursion=
++prefix=NONE
++program_prefix=NONE
++program_suffix=NONE
++program_transform_name=s,x,x,
++silent=
++site=
++srcdir=
++verbose=
++x_includes=NONE
++x_libraries=NONE
++
++# Installation directory options.
++# These are left unexpanded so users can "make install exec_prefix=/foo"
++# and all the variables that are supposed to be based on exec_prefix
++# by default will actually change.
++# Use braces instead of parens because sh, perl, etc. also accept them.
++# (The list follows the same order as the GNU Coding Standards.)
++bindir='${exec_prefix}/bin'
++sbindir='${exec_prefix}/sbin'
++libexecdir='${exec_prefix}/libexec'
++datarootdir='${prefix}/share'
++datadir='${datarootdir}'
++sysconfdir='${prefix}/etc'
++sharedstatedir='${prefix}/com'
++localstatedir='${prefix}/var'
++includedir='${prefix}/include'
++oldincludedir='/usr/include'
++docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
++infodir='${datarootdir}/info'
++htmldir='${docdir}'
++dvidir='${docdir}'
++pdfdir='${docdir}'
++psdir='${docdir}'
++libdir='${exec_prefix}/lib'
++localedir='${datarootdir}/locale'
++mandir='${datarootdir}/man'
++
++ac_prev=
++ac_dashdash=
++for ac_option
++do
++  # If the previous option needs an argument, assign it.
++  if test -n "$ac_prev"; then
++    eval $ac_prev=\$ac_option
++    ac_prev=
++    continue
++  fi
++
++  case $ac_option in
++  *=*)	ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
++  *)	ac_optarg=yes ;;
++  esac
++
++  # Accept the important Cygnus configure options, so we can diagnose typos.
++
++  case $ac_dashdash$ac_option in
++  --)
++    ac_dashdash=yes ;;
++
++  -bindir | --bindir | --bindi | --bind | --bin | --bi)
++    ac_prev=bindir ;;
++  -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
++    bindir=$ac_optarg ;;
++
++  -build | --build | --buil | --bui | --bu)
++    ac_prev=build_alias ;;
++  -build=* | --build=* | --buil=* | --bui=* | --bu=*)
++    build_alias=$ac_optarg ;;
++
++  -cache-file | --cache-file | --cache-fil | --cache-fi \
++  | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
++    ac_prev=cache_file ;;
++  -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
++  | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
++    cache_file=$ac_optarg ;;
++
++  --config-cache | -C)
++    cache_file=config.cache ;;
++
++  -datadir | --datadir | --datadi | --datad)
++    ac_prev=datadir ;;
++  -datadir=* | --datadir=* | --datadi=* | --datad=*)
++    datadir=$ac_optarg ;;
++
++  -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \
++  | --dataroo | --dataro | --datar)
++    ac_prev=datarootdir ;;
++  -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \
++  | --dataroot=* | --dataroo=* | --dataro=* | --datar=*)
++    datarootdir=$ac_optarg ;;
++
++  -disable-* | --disable-*)
++    ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
++    # Reject names that are not valid shell variable names.
++    expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
++      { $as_echo "$as_me: error: invalid feature name: $ac_useropt" >&2
++   { (exit 1); exit 1; }; }
++    ac_useropt_orig=$ac_useropt
++    ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
++    case $ac_user_opts in
++      *"
++"enable_$ac_useropt"
++"*) ;;
++      *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig"
++	 ac_unrecognized_sep=', ';;
++    esac
++    eval enable_$ac_useropt=no ;;
++
++  -docdir | --docdir | --docdi | --doc | --do)
++    ac_prev=docdir ;;
++  -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*)
++    docdir=$ac_optarg ;;
++
++  -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv)
++    ac_prev=dvidir ;;
++  -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*)
++    dvidir=$ac_optarg ;;
++
++  -enable-* | --enable-*)
++    ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
++    # Reject names that are not valid shell variable names.
++    expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
++      { $as_echo "$as_me: error: invalid feature name: $ac_useropt" >&2
++   { (exit 1); exit 1; }; }
++    ac_useropt_orig=$ac_useropt
++    ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
++    case $ac_user_opts in
++      *"
++"enable_$ac_useropt"
++"*) ;;
++      *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig"
++	 ac_unrecognized_sep=', ';;
++    esac
++    eval enable_$ac_useropt=\$ac_optarg ;;
++
++  -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
++  | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
++  | --exec | --exe | --ex)
++    ac_prev=exec_prefix ;;
++  -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
++  | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
++  | --exec=* | --exe=* | --ex=*)
++    exec_prefix=$ac_optarg ;;
++
++  -gas | --gas | --ga | --g)
++    # Obsolete; use --with-gas.
++    with_gas=yes ;;
++
++  -help | --help | --hel | --he | -h)
++    ac_init_help=long ;;
++  -help=r* | --help=r* | --hel=r* | --he=r* | -hr*)
++    ac_init_help=recursive ;;
++  -help=s* | --help=s* | --hel=s* | --he=s* | -hs*)
++    ac_init_help=short ;;
++
++  -host | --host | --hos | --ho)
++    ac_prev=host_alias ;;
++  -host=* | --host=* | --hos=* | --ho=*)
++    host_alias=$ac_optarg ;;
++
++  -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht)
++    ac_prev=htmldir ;;
++  -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \
++  | --ht=*)
++    htmldir=$ac_optarg ;;
++
++  -includedir | --includedir | --includedi | --included | --include \
++  | --includ | --inclu | --incl | --inc)
++    ac_prev=includedir ;;
++  -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
++  | --includ=* | --inclu=* | --incl=* | --inc=*)
++    includedir=$ac_optarg ;;
++
++  -infodir | --infodir | --infodi | --infod | --info | --inf)
++    ac_prev=infodir ;;
++  -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
++    infodir=$ac_optarg ;;
++
++  -libdir | --libdir | --libdi | --libd)
++    ac_prev=libdir ;;
++  -libdir=* | --libdir=* | --libdi=* | --libd=*)
++    libdir=$ac_optarg ;;
++
++  -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
++  | --libexe | --libex | --libe)
++    ac_prev=libexecdir ;;
++  -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
++  | --libexe=* | --libex=* | --libe=*)
++    libexecdir=$ac_optarg ;;
++
++  -localedir | --localedir | --localedi | --localed | --locale)
++    ac_prev=localedir ;;
++  -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*)
++    localedir=$ac_optarg ;;
++
++  -localstatedir | --localstatedir | --localstatedi | --localstated \
++  | --localstate | --localstat | --localsta | --localst | --locals)
++    ac_prev=localstatedir ;;
++  -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
++  | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*)
++    localstatedir=$ac_optarg ;;
++
++  -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
++    ac_prev=mandir ;;
++  -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
++    mandir=$ac_optarg ;;
++
++  -nfp | --nfp | --nf)
++    # Obsolete; use --without-fp.
++    with_fp=no ;;
++
++  -no-create | --no-create | --no-creat | --no-crea | --no-cre \
++  | --no-cr | --no-c | -n)
++    no_create=yes ;;
++
++  -no-recursion | --no-recursion | --no-recursio | --no-recursi \
++  | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
++    no_recursion=yes ;;
++
++  -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
++  | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
++  | --oldin | --oldi | --old | --ol | --o)
++    ac_prev=oldincludedir ;;
++  -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
++  | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
++  | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
++    oldincludedir=$ac_optarg ;;
++
++  -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
++    ac_prev=prefix ;;
++  -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
++    prefix=$ac_optarg ;;
++
++  -program-prefix | --program-prefix | --program-prefi | --program-pref \
++  | --program-pre | --program-pr | --program-p)
++    ac_prev=program_prefix ;;
++  -program-prefix=* | --program-prefix=* | --program-prefi=* \
++  | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
++    program_prefix=$ac_optarg ;;
++
++  -program-suffix | --program-suffix | --program-suffi | --program-suff \
++  | --program-suf | --program-su | --program-s)
++    ac_prev=program_suffix ;;
++  -program-suffix=* | --program-suffix=* | --program-suffi=* \
++  | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
++    program_suffix=$ac_optarg ;;
++
++  -program-transform-name | --program-transform-name \
++  | --program-transform-nam | --program-transform-na \
++  | --program-transform-n | --program-transform- \
++  | --program-transform | --program-transfor \
++  | --program-transfo | --program-transf \
++  | --program-trans | --program-tran \
++  | --progr-tra | --program-tr | --program-t)
++    ac_prev=program_transform_name ;;
++  -program-transform-name=* | --program-transform-name=* \
++  | --program-transform-nam=* | --program-transform-na=* \
++  | --program-transform-n=* | --program-transform-=* \
++  | --program-transform=* | --program-transfor=* \
++  | --program-transfo=* | --program-transf=* \
++  | --program-trans=* | --program-tran=* \
++  | --progr-tra=* | --program-tr=* | --program-t=*)
++    program_transform_name=$ac_optarg ;;
++
++  -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd)
++    ac_prev=pdfdir ;;
++  -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*)
++    pdfdir=$ac_optarg ;;
++
++  -psdir | --psdir | --psdi | --psd | --ps)
++    ac_prev=psdir ;;
++  -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*)
++    psdir=$ac_optarg ;;
++
++  -q | -quiet | --quiet | --quie | --qui | --qu | --q \
++  | -silent | --silent | --silen | --sile | --sil)
++    silent=yes ;;
++
++  -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
++    ac_prev=sbindir ;;
++  -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
++  | --sbi=* | --sb=*)
++    sbindir=$ac_optarg ;;
++
++  -sharedstatedir | --sharedstatedir | --sharedstatedi \
++  | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
++  | --sharedst | --shareds | --shared | --share | --shar \
++  | --sha | --sh)
++    ac_prev=sharedstatedir ;;
++  -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
++  | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
++  | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
++  | --sha=* | --sh=*)
++    sharedstatedir=$ac_optarg ;;
++
++  -site | --site | --sit)
++    ac_prev=site ;;
++  -site=* | --site=* | --sit=*)
++    site=$ac_optarg ;;
++
++  -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
++    ac_prev=srcdir ;;
++  -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
++    srcdir=$ac_optarg ;;
++
++  -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
++  | --syscon | --sysco | --sysc | --sys | --sy)
++    ac_prev=sysconfdir ;;
++  -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
++  | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
++    sysconfdir=$ac_optarg ;;
++
++  -target | --target | --targe | --targ | --tar | --ta | --t)
++    ac_prev=target_alias ;;
++  -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
++    target_alias=$ac_optarg ;;
++
++  -v | -verbose | --verbose | --verbos | --verbo | --verb)
++    verbose=yes ;;
++
++  -version | --version | --versio | --versi | --vers | -V)
++    ac_init_version=: ;;
++
++  -with-* | --with-*)
++    ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
++    # Reject names that are not valid shell variable names.
++    expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
++      { $as_echo "$as_me: error: invalid package name: $ac_useropt" >&2
++   { (exit 1); exit 1; }; }
++    ac_useropt_orig=$ac_useropt
++    ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
++    case $ac_user_opts in
++      *"
++"with_$ac_useropt"
++"*) ;;
++      *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig"
++	 ac_unrecognized_sep=', ';;
++    esac
++    eval with_$ac_useropt=\$ac_optarg ;;
++
++  -without-* | --without-*)
++    ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'`
++    # Reject names that are not valid shell variable names.
++    expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
++      { $as_echo "$as_me: error: invalid package name: $ac_useropt" >&2
++   { (exit 1); exit 1; }; }
++    ac_useropt_orig=$ac_useropt
++    ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
++    case $ac_user_opts in
++      *"
++"with_$ac_useropt"
++"*) ;;
++      *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig"
++	 ac_unrecognized_sep=', ';;
++    esac
++    eval with_$ac_useropt=no ;;
++
++  --x)
++    # Obsolete; use --with-x.
++    with_x=yes ;;
++
++  -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
++  | --x-incl | --x-inc | --x-in | --x-i)
++    ac_prev=x_includes ;;
++  -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
++  | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
++    x_includes=$ac_optarg ;;
++
++  -x-libraries | --x-libraries | --x-librarie | --x-librari \
++  | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
++    ac_prev=x_libraries ;;
++  -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
++  | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
++    x_libraries=$ac_optarg ;;
++
++  -*) { $as_echo "$as_me: error: unrecognized option: $ac_option
++Try \`$0 --help' for more information." >&2
++   { (exit 1); exit 1; }; }
++    ;;
++
++  *=*)
++    ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='`
++    # Reject names that are not valid shell variable names.
++    expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null &&
++      { $as_echo "$as_me: error: invalid variable name: $ac_envvar" >&2
++   { (exit 1); exit 1; }; }
++    eval $ac_envvar=\$ac_optarg
++    export $ac_envvar ;;
++
++  *)
++    # FIXME: should be removed in autoconf 3.0.
++    $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2
++    expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
++      $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2
++    : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}
++    ;;
++
++  esac
++done
++
++if test -n "$ac_prev"; then
++  ac_option=--`echo $ac_prev | sed 's/_/-/g'`
++  { $as_echo "$as_me: error: missing argument to $ac_option" >&2
++   { (exit 1); exit 1; }; }
++fi
++
++if test -n "$ac_unrecognized_opts"; then
++  case $enable_option_checking in
++    no) ;;
++    fatal) { $as_echo "$as_me: error: unrecognized options: $ac_unrecognized_opts" >&2
++   { (exit 1); exit 1; }; } ;;
++    *)     $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;;
++  esac
++fi
++
++# Check all directory arguments for consistency.
++for ac_var in	exec_prefix prefix bindir sbindir libexecdir datarootdir \
++		datadir sysconfdir sharedstatedir localstatedir includedir \
++		oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
++		libdir localedir mandir
++do
++  eval ac_val=\$$ac_var
++  # Remove trailing slashes.
++  case $ac_val in
++    */ )
++      ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'`
++      eval $ac_var=\$ac_val;;
++  esac
++  # Be sure to have absolute directory names.
++  case $ac_val in
++    [\\/$]* | ?:[\\/]* )  continue;;
++    NONE | '' ) case $ac_var in *prefix ) continue;; esac;;
++  esac
++  { $as_echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2
++   { (exit 1); exit 1; }; }
++done
++
++# There might be people who depend on the old broken behavior: `$host'
++# used to hold the argument of --host etc.
++# FIXME: To remove some day.
++build=$build_alias
++host=$host_alias
++target=$target_alias
++
++# FIXME: To remove some day.
++if test "x$host_alias" != x; then
++  if test "x$build_alias" = x; then
++    cross_compiling=maybe
++    $as_echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host.
++    If a cross compiler is detected then cross compile mode will be used." >&2
++  elif test "x$build_alias" != "x$host_alias"; then
++    cross_compiling=yes
++  fi
++fi
++
++ac_tool_prefix=
++test -n "$host_alias" && ac_tool_prefix=$host_alias-
++
++test "$silent" = yes && exec 6>/dev/null
++
++
++ac_pwd=`pwd` && test -n "$ac_pwd" &&
++ac_ls_di=`ls -di .` &&
++ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||
++  { $as_echo "$as_me: error: working directory cannot be determined" >&2
++   { (exit 1); exit 1; }; }
++test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
++  { $as_echo "$as_me: error: pwd does not report name of working directory" >&2
++   { (exit 1); exit 1; }; }
++
++
++# Find the source files, if location was not specified.
++if test -z "$srcdir"; then
++  ac_srcdir_defaulted=yes
++  # Try the directory containing this script, then the parent directory.
++  ac_confdir=`$as_dirname -- "$as_myself" ||
++$as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
++	 X"$as_myself" : 'X\(//\)[^/]' \| \
++	 X"$as_myself" : 'X\(//\)$' \| \
++	 X"$as_myself" : 'X\(/\)' \| . 2>/dev/null ||
++$as_echo X"$as_myself" |
++    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
++	    s//\1/
++	    q
++	  }
++	  /^X\(\/\/\)[^/].*/{
++	    s//\1/
++	    q
++	  }
++	  /^X\(\/\/\)$/{
++	    s//\1/
++	    q
++	  }
++	  /^X\(\/\).*/{
++	    s//\1/
++	    q
++	  }
++	  s/.*/./; q'`
++  srcdir=$ac_confdir
++  if test ! -r "$srcdir/$ac_unique_file"; then
++    srcdir=..
++  fi
++else
++  ac_srcdir_defaulted=no
++fi
++if test ! -r "$srcdir/$ac_unique_file"; then
++  test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .."
++  { $as_echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2
++   { (exit 1); exit 1; }; }
++fi
++ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work"
++ac_abs_confdir=`(
++	cd "$srcdir" && test -r "./$ac_unique_file" || { $as_echo "$as_me: error: $ac_msg" >&2
++   { (exit 1); exit 1; }; }
++	pwd)`
++# When building in place, set srcdir=.
++if test "$ac_abs_confdir" = "$ac_pwd"; then
++  srcdir=.
++fi
++# Remove unnecessary trailing slashes from srcdir.
++# Double slashes in file names in object file debugging info
++# mess up M-x gdb in Emacs.
++case $srcdir in
++*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;;
++esac
++for ac_var in $ac_precious_vars; do
++  eval ac_env_${ac_var}_set=\${${ac_var}+set}
++  eval ac_env_${ac_var}_value=\$${ac_var}
++  eval ac_cv_env_${ac_var}_set=\${${ac_var}+set}
++  eval ac_cv_env_${ac_var}_value=\$${ac_var}
++done
++
++#
++# Report the --help message.
++#
++if test "$ac_init_help" = "long"; then
++  # Omit some internal or obsolete options to make the list less imposing.
++  # This message is too long to be a string in the A/UX 3.1 sh.
++  cat <<_ACEOF
++\`configure' configures XZ Utils 4.999.9beta to adapt to many kinds of systems.
++
++Usage: $0 [OPTION]... [VAR=VALUE]...
++
++To assign environment variables (e.g., CC, CFLAGS...), specify them as
++VAR=VALUE.  See below for descriptions of some of the useful variables.
++
++Defaults for the options are specified in brackets.
++
++Configuration:
++  -h, --help              display this help and exit
++      --help=short        display options specific to this package
++      --help=recursive    display the short help of all the included packages
++  -V, --version           display version information and exit
++  -q, --quiet, --silent   do not print \`checking...' messages
++      --cache-file=FILE   cache test results in FILE [disabled]
++  -C, --config-cache      alias for \`--cache-file=config.cache'
++  -n, --no-create         do not create output files
++      --srcdir=DIR        find the sources in DIR [configure dir or \`..']
++
++Installation directories:
++  --prefix=PREFIX         install architecture-independent files in PREFIX
++                          [$ac_default_prefix]
++  --exec-prefix=EPREFIX   install architecture-dependent files in EPREFIX
++                          [PREFIX]
++
++By default, \`make install' will install all the files in
++\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc.  You can specify
++an installation prefix other than \`$ac_default_prefix' using \`--prefix',
++for instance \`--prefix=\$HOME'.
++
++For better control, use the options below.
++
++Fine tuning of the installation directories:
++  --bindir=DIR            user executables [EPREFIX/bin]
++  --sbindir=DIR           system admin executables [EPREFIX/sbin]
++  --libexecdir=DIR        program executables [EPREFIX/libexec]
++  --sysconfdir=DIR        read-only single-machine data [PREFIX/etc]
++  --sharedstatedir=DIR    modifiable architecture-independent data [PREFIX/com]
++  --localstatedir=DIR     modifiable single-machine data [PREFIX/var]
++  --libdir=DIR            object code libraries [EPREFIX/lib]
++  --includedir=DIR        C header files [PREFIX/include]
++  --oldincludedir=DIR     C header files for non-gcc [/usr/include]
++  --datarootdir=DIR       read-only arch.-independent data root [PREFIX/share]
++  --datadir=DIR           read-only architecture-independent data [DATAROOTDIR]
++  --infodir=DIR           info documentation [DATAROOTDIR/info]
++  --localedir=DIR         locale-dependent data [DATAROOTDIR/locale]
++  --mandir=DIR            man documentation [DATAROOTDIR/man]
++  --docdir=DIR            documentation root [DATAROOTDIR/doc/xz]
++  --htmldir=DIR           html documentation [DOCDIR]
++  --dvidir=DIR            dvi documentation [DOCDIR]
++  --pdfdir=DIR            pdf documentation [DOCDIR]
++  --psdir=DIR             ps documentation [DOCDIR]
++_ACEOF
++
++  cat <<\_ACEOF
++
++Program names:
++  --program-prefix=PREFIX            prepend PREFIX to installed program names
++  --program-suffix=SUFFIX            append SUFFIX to installed program names
++  --program-transform-name=PROGRAM   run sed PROGRAM on installed program names
++
++System types:
++  --build=BUILD     configure for building on BUILD [guessed]
++  --host=HOST       cross-compile to build programs to run on HOST [BUILD]
++_ACEOF
++fi
++
++if test -n "$ac_init_help"; then
++  case $ac_init_help in
++     short | recursive ) echo "Configuration of XZ Utils 4.999.9beta:";;
++   esac
++  cat <<\_ACEOF
++
++Optional Features:
++  --disable-option-checking  ignore unrecognized --enable/--with options
++  --disable-FEATURE       do not include FEATURE (same as --enable-FEATURE=no)
++  --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]
++  --enable-debug          Enable debugging code.
++  --enable-encoders=LIST  Comma-separated list of encoders to build.
++                          Default=all. Available encoders: lzma1 lzma2
++                          subblock delta x86 powerpc ia64 arm armthumb sparc
++  --enable-decoders=LIST  Comma-separated list of decoders to build.
++                          Default=all. Available decoders are the same as
++                          available encoders.
++  --enable-match-finders=LIST
++                          Comma-separated list of match finders to build.
++                          Default=all. At least one match finder is required
++                          for encoding with the LZMA1 and LZMA2 filters.
++                          Available match finders: hc3 hc4 bt2 bt3 bt4
++  --enable-checks=LIST    Comma-separated list of integrity checks to build.
++                          Default=all. Available integrity checks: crc32 crc64
++                          sha256
++  --disable-assembler     Do not use assembler optimizations even if such
++                          exist for the architecture.
++  --enable-unaligned-access
++                          Enable if the system supports *fast* unaligned
++                          memory access with 16-bit and 32-bit integers. By
++                          default, this is enabled only on x86, x86_64, and
++                          big endian PowerPC.
++  --enable-small          Make liblzma smaller and a little slower. This is
++                          disabled by default to optimize for speed.
++  --disable-threads       Disable threading support. This makes some things
++                          thread-unsafe.
++  --enable-dynamic=TYPE   Set how command line tools are linked against
++                          liblzma. TYPE can be mixed, yes, or no. The default
++                          is mixed.
++  --disable-dependency-tracking  speeds up one-time build
++  --enable-dependency-tracking   do not reject slow dependency extractors
++  --enable-shared[=PKGS]  build shared libraries [default=yes]
++  --enable-static[=PKGS]  build static libraries [default=yes]
++  --enable-fast-install[=PKGS]
++                          optimize for fast installation [default=yes]
++  --disable-libtool-lock  avoid locking (might break parallel builds)
++  --disable-nls           do not use Native Language Support
++  --disable-rpath         do not hardcode runtime library paths
++  --disable-largefile     omit support for large files
++  --enable-werror         Enable -Werror to abort compilation on all compiler
++                          warnings.
++
++Optional Packages:
++  --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]
++  --without-PACKAGE       do not use PACKAGE (same as --with-PACKAGE=no)
++  --with-pic              try to use only PIC/non-PIC objects [default=use
++                          both]
++  --with-gnu-ld           assume the C compiler uses GNU ld [default=no]
++  --with-gnu-ld           assume the C compiler uses GNU ld default=no
++  --with-libiconv-prefix[=DIR]  search for libiconv in DIR/include and DIR/lib
++  --without-libiconv-prefix     don't search for libiconv in includedir and libdir
++  --with-libintl-prefix[=DIR]  search for libintl in DIR/include and DIR/lib
++  --without-libintl-prefix     don't search for libintl in includedir and libdir
++
++Some influential environment variables:
++  CC          C compiler command
++  CFLAGS      C compiler flags
++  LDFLAGS     linker flags, e.g. -L<lib dir> if you have libraries in a
++              nonstandard directory <lib dir>
++  LIBS        libraries to pass to the linker, e.g. -l<library>
++  CPPFLAGS    C/C++/Objective C preprocessor flags, e.g. -I<include dir> if
++              you have headers in a nonstandard directory <include dir>
++  CCAS        assembler compiler command (defaults to CC)
++  CCASFLAGS   assembler compiler flags (defaults to CFLAGS)
++  CPP         C preprocessor
++
++Use these variables to override the choices made by `configure' or to help
++it to find libraries and programs with nonstandard names/locations.
++
++Report bugs to <lasse.collin@tukaani.org>.
++_ACEOF
++ac_status=$?
++fi
++
++if test "$ac_init_help" = "recursive"; then
++  # If there are subdirs, report their specific --help.
++  for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue
++    test -d "$ac_dir" ||
++      { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } ||
++      continue
++    ac_builddir=.
++
++case "$ac_dir" in
++.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
++*)
++  ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
++  # A ".." for each directory in $ac_dir_suffix.
++  ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
++  case $ac_top_builddir_sub in
++  "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
++  *)  ac_top_build_prefix=$ac_top_builddir_sub/ ;;
++  esac ;;
++esac
++ac_abs_top_builddir=$ac_pwd
++ac_abs_builddir=$ac_pwd$ac_dir_suffix
++# for backward compatibility:
++ac_top_builddir=$ac_top_build_prefix
++
++case $srcdir in
++  .)  # We are building in place.
++    ac_srcdir=.
++    ac_top_srcdir=$ac_top_builddir_sub
++    ac_abs_top_srcdir=$ac_pwd ;;
++  [\\/]* | ?:[\\/]* )  # Absolute name.
++    ac_srcdir=$srcdir$ac_dir_suffix;
++    ac_top_srcdir=$srcdir
++    ac_abs_top_srcdir=$srcdir ;;
++  *) # Relative name.
++    ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
++    ac_top_srcdir=$ac_top_build_prefix$srcdir
++    ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
++esac
++ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
++
++    cd "$ac_dir" || { ac_status=$?; continue; }
++    # Check for guested configure.
++    if test -f "$ac_srcdir/configure.gnu"; then
++      echo &&
++      $SHELL "$ac_srcdir/configure.gnu" --help=recursive
++    elif test -f "$ac_srcdir/configure"; then
++      echo &&
++      $SHELL "$ac_srcdir/configure" --help=recursive
++    else
++      $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
++    fi || ac_status=$?
++    cd "$ac_pwd" || { ac_status=$?; break; }
++  done
++fi
++
++test -n "$ac_init_help" && exit $ac_status
++if $ac_init_version; then
++  cat <<\_ACEOF
++XZ Utils configure 4.999.9beta
++generated by GNU Autoconf 2.63
++
++Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
++2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
++This configure script is free software; the Free Software Foundation
++gives unlimited permission to copy, distribute and modify it.
++_ACEOF
++  exit
++fi
++cat >config.log <<_ACEOF
++This file contains any messages produced by compilers while
++running configure, to aid debugging if configure makes a mistake.
++
++It was created by XZ Utils $as_me 4.999.9beta, which was
++generated by GNU Autoconf 2.63.  Invocation command line was
++
++  $ $0 $@
++
++_ACEOF
++exec 5>>config.log
++{
++cat <<_ASUNAME
++## --------- ##
++## Platform. ##
++## --------- ##
++
++hostname = `(hostname || uname -n) 2>/dev/null | sed 1q`
++uname -m = `(uname -m) 2>/dev/null || echo unknown`
++uname -r = `(uname -r) 2>/dev/null || echo unknown`
++uname -s = `(uname -s) 2>/dev/null || echo unknown`
++uname -v = `(uname -v) 2>/dev/null || echo unknown`
++
++/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown`
++/bin/uname -X     = `(/bin/uname -X) 2>/dev/null     || echo unknown`
++
++/bin/arch              = `(/bin/arch) 2>/dev/null              || echo unknown`
++/usr/bin/arch -k       = `(/usr/bin/arch -k) 2>/dev/null       || echo unknown`
++/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown`
++/usr/bin/hostinfo      = `(/usr/bin/hostinfo) 2>/dev/null      || echo unknown`
++/bin/machine           = `(/bin/machine) 2>/dev/null           || echo unknown`
++/usr/bin/oslevel       = `(/usr/bin/oslevel) 2>/dev/null       || echo unknown`
++/bin/universe          = `(/bin/universe) 2>/dev/null          || echo unknown`
++
++_ASUNAME
++
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++  IFS=$as_save_IFS
++  test -z "$as_dir" && as_dir=.
++  $as_echo "PATH: $as_dir"
++done
++IFS=$as_save_IFS
++
++} >&5
++
++cat >&5 <<_ACEOF
++
++
++## ----------- ##
++## Core tests. ##
++## ----------- ##
++
++_ACEOF
++
++
++# Keep a trace of the command line.
++# Strip out --no-create and --no-recursion so they do not pile up.
++# Strip out --silent because we don't want to record it for future runs.
++# Also quote any args containing shell meta-characters.
++# Make two passes to allow for proper duplicate-argument suppression.
++ac_configure_args=
++ac_configure_args0=
++ac_configure_args1=
++ac_must_keep_next=false
++for ac_pass in 1 2
++do
++  for ac_arg
++  do
++    case $ac_arg in
++    -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;;
++    -q | -quiet | --quiet | --quie | --qui | --qu | --q \
++    | -silent | --silent | --silen | --sile | --sil)
++      continue ;;
++    *\'*)
++      ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
++    esac
++    case $ac_pass in
++    1) ac_configure_args0="$ac_configure_args0 '$ac_arg'" ;;
++    2)
++      ac_configure_args1="$ac_configure_args1 '$ac_arg'"
++      if test $ac_must_keep_next = true; then
++	ac_must_keep_next=false # Got value, back to normal.
++      else
++	case $ac_arg in
++	  *=* | --config-cache | -C | -disable-* | --disable-* \
++	  | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \
++	  | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \
++	  | -with-* | --with-* | -without-* | --without-* | --x)
++	    case "$ac_configure_args0 " in
++	      "$ac_configure_args1"*" '$ac_arg' "* ) continue ;;
++	    esac
++	    ;;
++	  -* ) ac_must_keep_next=true ;;
++	esac
++      fi
++      ac_configure_args="$ac_configure_args '$ac_arg'"
++      ;;
++    esac
++  done
++done
++$as_unset ac_configure_args0 || test "${ac_configure_args0+set}" != set || { ac_configure_args0=; export ac_configure_args0; }
++$as_unset ac_configure_args1 || test "${ac_configure_args1+set}" != set || { ac_configure_args1=; export ac_configure_args1; }
++
++# When interrupted or exit'd, cleanup temporary files, and complete
++# config.log.  We remove comments because anyway the quotes in there
++# would cause problems or look ugly.
++# WARNING: Use '\'' to represent an apostrophe within the trap.
++# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug.
++trap 'exit_status=$?
++  # Save into config.log some information that might help in debugging.
++  {
++    echo
++
++    cat <<\_ASBOX
++## ---------------- ##
++## Cache variables. ##
++## ---------------- ##
++_ASBOX
++    echo
++    # The following way of writing the cache mishandles newlines in values,
++(
++  for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do
++    eval ac_val=\$$ac_var
++    case $ac_val in #(
++    *${as_nl}*)
++      case $ac_var in #(
++      *_cv_*) { $as_echo "$as_me:$LINENO: WARNING: cache variable $ac_var contains a newline" >&5
++$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
++      esac
++      case $ac_var in #(
++      _ | IFS | as_nl) ;; #(
++      BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
++      *) $as_unset $ac_var ;;
++      esac ;;
++    esac
++  done
++  (set) 2>&1 |
++    case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #(
++    *${as_nl}ac_space=\ *)
++      sed -n \
++	"s/'\''/'\''\\\\'\'''\''/g;
++	  s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p"
++      ;; #(
++    *)
++      sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
++      ;;
++    esac |
++    sort
++)
++    echo
++
++    cat <<\_ASBOX
++## ----------------- ##
++## Output variables. ##
++## ----------------- ##
++_ASBOX
++    echo
++    for ac_var in $ac_subst_vars
++    do
++      eval ac_val=\$$ac_var
++      case $ac_val in
++      *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
++      esac
++      $as_echo "$ac_var='\''$ac_val'\''"
++    done | sort
++    echo
++
++    if test -n "$ac_subst_files"; then
++      cat <<\_ASBOX
++## ------------------- ##
++## File substitutions. ##
++## ------------------- ##
++_ASBOX
++      echo
++      for ac_var in $ac_subst_files
++      do
++	eval ac_val=\$$ac_var
++	case $ac_val in
++	*\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
++	esac
++	$as_echo "$ac_var='\''$ac_val'\''"
++      done | sort
++      echo
++    fi
++
++    if test -s confdefs.h; then
++      cat <<\_ASBOX
++## ----------- ##
++## confdefs.h. ##
++## ----------- ##
++_ASBOX
++      echo
++      cat confdefs.h
++      echo
++    fi
++    test "$ac_signal" != 0 &&
++      $as_echo "$as_me: caught signal $ac_signal"
++    $as_echo "$as_me: exit $exit_status"
++  } >&5
++  rm -f core *.core core.conftest.* &&
++    rm -f -r conftest* confdefs* conf$$* $ac_clean_files &&
++    exit $exit_status
++' 0
++for ac_signal in 1 2 13 15; do
++  trap 'ac_signal='$ac_signal'; { (exit 1); exit 1; }' $ac_signal
++done
++ac_signal=0
++
++# confdefs.h avoids OS command line length limits that DEFS can exceed.
++rm -f -r conftest* confdefs.h
++
++# Predefined preprocessor variables.
++
++cat >>confdefs.h <<_ACEOF
++#define PACKAGE_NAME "$PACKAGE_NAME"
++_ACEOF
++
++
++cat >>confdefs.h <<_ACEOF
++#define PACKAGE_TARNAME "$PACKAGE_TARNAME"
++_ACEOF
++
++
++cat >>confdefs.h <<_ACEOF
++#define PACKAGE_VERSION "$PACKAGE_VERSION"
++_ACEOF
++
++
++cat >>confdefs.h <<_ACEOF
++#define PACKAGE_STRING "$PACKAGE_STRING"
++_ACEOF
++
++
++cat >>confdefs.h <<_ACEOF
++#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT"
++_ACEOF
++
++
++# Let the site file select an alternate cache file if it wants to.
++# Prefer an explicitly selected file to automatically selected ones.
++ac_site_file1=NONE
++ac_site_file2=NONE
++if test -n "$CONFIG_SITE"; then
++  ac_site_file1=$CONFIG_SITE
++elif test "x$prefix" != xNONE; then
++  ac_site_file1=$prefix/share/config.site
++  ac_site_file2=$prefix/etc/config.site
++else
++  ac_site_file1=$ac_default_prefix/share/config.site
++  ac_site_file2=$ac_default_prefix/etc/config.site
++fi
++for ac_site_file in "$ac_site_file1" "$ac_site_file2"
++do
++  test "x$ac_site_file" = xNONE && continue
++  if test -r "$ac_site_file"; then
++    { $as_echo "$as_me:$LINENO: loading site script $ac_site_file" >&5
++$as_echo "$as_me: loading site script $ac_site_file" >&6;}
++    sed 's/^/| /' "$ac_site_file" >&5
++    . "$ac_site_file"
++  fi
++done
++
++if test -r "$cache_file"; then
++  # Some versions of bash will fail to source /dev/null (special
++  # files actually), so we avoid doing that.
++  if test -f "$cache_file"; then
++    { $as_echo "$as_me:$LINENO: loading cache $cache_file" >&5
++$as_echo "$as_me: loading cache $cache_file" >&6;}
++    case $cache_file in
++      [\\/]* | ?:[\\/]* ) . "$cache_file";;
++      *)                      . "./$cache_file";;
++    esac
++  fi
++else
++  { $as_echo "$as_me:$LINENO: creating cache $cache_file" >&5
++$as_echo "$as_me: creating cache $cache_file" >&6;}
++  >$cache_file
++fi
++
++gt_needs="$gt_needs "
++# Check that the precious variables saved in the cache have kept the same
++# value.
++ac_cache_corrupted=false
++for ac_var in $ac_precious_vars; do
++  eval ac_old_set=\$ac_cv_env_${ac_var}_set
++  eval ac_new_set=\$ac_env_${ac_var}_set
++  eval ac_old_val=\$ac_cv_env_${ac_var}_value
++  eval ac_new_val=\$ac_env_${ac_var}_value
++  case $ac_old_set,$ac_new_set in
++    set,)
++      { $as_echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
++$as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
++      ac_cache_corrupted=: ;;
++    ,set)
++      { $as_echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5
++$as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
++      ac_cache_corrupted=: ;;
++    ,);;
++    *)
++      if test "x$ac_old_val" != "x$ac_new_val"; then
++	# differences in whitespace do not lead to failure.
++	ac_old_val_w=`echo x $ac_old_val`
++	ac_new_val_w=`echo x $ac_new_val`
++	if test "$ac_old_val_w" != "$ac_new_val_w"; then
++	  { $as_echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5
++$as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
++	  ac_cache_corrupted=:
++	else
++	  { $as_echo "$as_me:$LINENO: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5
++$as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;}
++	  eval $ac_var=\$ac_old_val
++	fi
++	{ $as_echo "$as_me:$LINENO:   former value:  \`$ac_old_val'" >&5
++$as_echo "$as_me:   former value:  \`$ac_old_val'" >&2;}
++	{ $as_echo "$as_me:$LINENO:   current value: \`$ac_new_val'" >&5
++$as_echo "$as_me:   current value: \`$ac_new_val'" >&2;}
++      fi;;
++  esac
++  # Pass precious variables to config.status.
++  if test "$ac_new_set" = set; then
++    case $ac_new_val in
++    *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
++    *) ac_arg=$ac_var=$ac_new_val ;;
++    esac
++    case " $ac_configure_args " in
++      *" '$ac_arg' "*) ;; # Avoid dups.  Use of quotes ensures accuracy.
++      *) ac_configure_args="$ac_configure_args '$ac_arg'" ;;
++    esac
++  fi
++done
++if $ac_cache_corrupted; then
++  { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
++$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
++  { $as_echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5
++$as_echo "$as_me: error: changes in the environment can compromise the build" >&2;}
++  { { $as_echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5
++$as_echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;}
++   { (exit 1); exit 1; }; }
++fi
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++
++
++
++ac_aux_dir=
++for ac_dir in build-aux "$srcdir"/build-aux; do
++  if test -f "$ac_dir/install-sh"; then
++    ac_aux_dir=$ac_dir
++    ac_install_sh="$ac_aux_dir/install-sh -c"
++    break
++  elif test -f "$ac_dir/install.sh"; then
++    ac_aux_dir=$ac_dir
++    ac_install_sh="$ac_aux_dir/install.sh -c"
++    break
++  elif test -f "$ac_dir/shtool"; then
++    ac_aux_dir=$ac_dir
++    ac_install_sh="$ac_aux_dir/shtool install -c"
++    break
++  fi
++done
++if test -z "$ac_aux_dir"; then
++  { { $as_echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in build-aux \"$srcdir\"/build-aux" >&5
++$as_echo "$as_me: error: cannot find install-sh or install.sh in build-aux \"$srcdir\"/build-aux" >&2;}
++   { (exit 1); exit 1; }; }
++fi
++
++# These three variables are undocumented and unsupported,
++# and are intended to be withdrawn in a future Autoconf release.
++# They can cause serious problems if a builder's source tree is in a directory
++# whose full name contains unusual characters.
++ac_config_guess="$SHELL $ac_aux_dir/config.guess"  # Please don't use this var.
++ac_config_sub="$SHELL $ac_aux_dir/config.sub"  # Please don't use this var.
++ac_configure="$SHELL $ac_aux_dir/configure"  # Please don't use this var.
++
++
++
++ac_config_headers="$ac_config_headers config.h"
++
++
++PACKAGE_HOMEPAGE=http://tukaani.org/xz/
++
++cat >>confdefs.h <<_ACEOF
++#define PACKAGE_HOMEPAGE "$PACKAGE_HOMEPAGE"
++_ACEOF
++
++
++
++echo
++echo "$PACKAGE_STRING"
++
++echo
++echo "System type:"
++# This is needed to know if assembler optimizations can be used.
++# Make sure we can run config.sub.
++$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
++  { { $as_echo "$as_me:$LINENO: error: cannot run $SHELL $ac_aux_dir/config.sub" >&5
++$as_echo "$as_me: error: cannot run $SHELL $ac_aux_dir/config.sub" >&2;}
++   { (exit 1); exit 1; }; }
++
++{ $as_echo "$as_me:$LINENO: checking build system type" >&5
++$as_echo_n "checking build system type... " >&6; }
++if test "${ac_cv_build+set}" = set; then
++  $as_echo_n "(cached) " >&6
++else
++  ac_build_alias=$build_alias
++test "x$ac_build_alias" = x &&
++  ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"`
++test "x$ac_build_alias" = x &&
++  { { $as_echo "$as_me:$LINENO: error: cannot guess build type; you must specify one" >&5
++$as_echo "$as_me: error: cannot guess build type; you must specify one" >&2;}
++   { (exit 1); exit 1; }; }
++ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` ||
++  { { $as_echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&5
++$as_echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&2;}
++   { (exit 1); exit 1; }; }
++
++fi
++{ $as_echo "$as_me:$LINENO: result: $ac_cv_build" >&5
++$as_echo "$ac_cv_build" >&6; }
++case $ac_cv_build in
++*-*-*) ;;
++*) { { $as_echo "$as_me:$LINENO: error: invalid value of canonical build" >&5
++$as_echo "$as_me: error: invalid value of canonical build" >&2;}
++   { (exit 1); exit 1; }; };;
++esac
++build=$ac_cv_build
++ac_save_IFS=$IFS; IFS='-'
++set x $ac_cv_build
++shift
++build_cpu=$1
++build_vendor=$2
++shift; shift
++# Remember, the first character of IFS is used to create $*,
++# except with old shells:
++build_os=$*
++IFS=$ac_save_IFS
++case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac
++
++
++{ $as_echo "$as_me:$LINENO: checking host system type" >&5
++$as_echo_n "checking host system type... " >&6; }
++if test "${ac_cv_host+set}" = set; then
++  $as_echo_n "(cached) " >&6
++else
++  if test "x$host_alias" = x; then
++  ac_cv_host=$ac_cv_build
++else
++  ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` ||
++    { { $as_echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&5
++$as_echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&2;}
++   { (exit 1); exit 1; }; }
++fi
++
++fi
++{ $as_echo "$as_me:$LINENO: result: $ac_cv_host" >&5
++$as_echo "$ac_cv_host" >&6; }
++case $ac_cv_host in
++*-*-*) ;;
++*) { { $as_echo "$as_me:$LINENO: error: invalid value of canonical host" >&5
++$as_echo "$as_me: error: invalid value of canonical host" >&2;}
++   { (exit 1); exit 1; }; };;
++esac
++host=$ac_cv_host
++ac_save_IFS=$IFS; IFS='-'
++set x $ac_cv_host
++shift
++host_cpu=$1
++host_vendor=$2
++shift; shift
++# Remember, the first character of IFS is used to create $*,
++# except with old shells:
++host_os=$*
++IFS=$ac_save_IFS
++case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac
++
++
++
++# We do some special things on Windows (32-bit or 64-bit) builds.
++case $host_os in
++	mingw* | cygwin*) is_w32=yes ;;
++	*)                is_w32=no ;;
++esac
++ if test "$is_w32" = yes; then
++  COND_W32_TRUE=
++  COND_W32_FALSE='#'
++else
++  COND_W32_TRUE='#'
++  COND_W32_FALSE=
++fi
++
++
++
++echo
++echo "Configure options:"
++AM_CFLAGS=
++
++
++#############
++# Debugging #
++#############
++
++{ $as_echo "$as_me:$LINENO: checking if debugging code should be compiled" >&5
++$as_echo_n "checking if debugging code should be compiled... " >&6; }
++# Check whether --enable-debug was given.
++if test "${enable_debug+set}" = set; then
++  enableval=$enable_debug;
++else
++  enable_debug=no
++fi
++
++if test "x$enable_debug" = xyes; then
++	{ $as_echo "$as_me:$LINENO: result: yes" >&5
++$as_echo "yes" >&6; }
++else
++
++cat >>confdefs.h <<\_ACEOF
++#define NDEBUG 1
++_ACEOF
++
++	{ $as_echo "$as_me:$LINENO: result: no" >&5
++$as_echo "no" >&6; }
++fi
++
++
++###########
++# Filters #
++###########
++
++
++
++
++enable_filter_lzma1=no
++enable_encoder_lzma1=no
++enable_decoder_lzma1=no
++enable_filter_lzma2=no
++enable_encoder_lzma2=no
++enable_decoder_lzma2=no
++enable_filter_subblock=no
++enable_encoder_subblock=no
++enable_decoder_subblock=no
++enable_filter_delta=no
++enable_encoder_delta=no
++enable_decoder_delta=no
++enable_filter_x86=no
++enable_encoder_x86=no
++enable_decoder_x86=no
++enable_filter_powerpc=no
++enable_encoder_powerpc=no
++enable_decoder_powerpc=no
++enable_filter_ia64=no
++enable_encoder_ia64=no
++enable_decoder_ia64=no
++enable_filter_arm=no
++enable_encoder_arm=no
++enable_decoder_arm=no
++enable_filter_armthumb=no
++enable_encoder_armthumb=no
++enable_decoder_armthumb=no
++enable_filter_sparc=no
++enable_encoder_sparc=no
++enable_decoder_sparc=no
++
++{ $as_echo "$as_me:$LINENO: checking which encoders to build" >&5
++$as_echo_n "checking which encoders to build... " >&6; }
++# Check whether --enable-encoders was given.
++if test "${enable_encoders+set}" = set; then
++  enableval=$enable_encoders;
++else
++  enable_encoders=lzma1,lzma2,subblock,delta,x86,powerpc,ia64,arm,armthumb,sparc
++fi
++
++enable_encoders=`echo "$enable_encoders" | sed 's/,subblock//; s/,/ /g'`
++if test "x$enable_encoders" = xno || test "x$enable_encoders" = x; then
++	{ $as_echo "$as_me:$LINENO: result: (none)" >&5
++$as_echo "(none)" >&6; }
++else
++
++cat >>confdefs.h <<\_ACEOF
++#define HAVE_ENCODER 1
++_ACEOF
++
++	for arg in $enable_encoders
++	do
++		case $arg in
++			lzma1)
++				enable_filter_lzma1=yes
++				enable_encoder_lzma1=yes
++
++cat >>confdefs.h <<\_ACEOF
++#define HAVE_ENCODER_LZMA1 1
++_ACEOF
++
++				;;
++			lzma2)
++				enable_filter_lzma2=yes
++				enable_encoder_lzma2=yes
++
++cat >>confdefs.h <<\_ACEOF
++#define HAVE_ENCODER_LZMA2 1
++_ACEOF
++
++				;;
++			subblock)
++				enable_filter_subblock=yes
++				enable_encoder_subblock=yes
++
++cat >>confdefs.h <<\_ACEOF
++#define HAVE_ENCODER_SUBBLOCK 1
++_ACEOF
++
++				;;
++			delta)
++				enable_filter_delta=yes
++				enable_encoder_delta=yes
++
++cat >>confdefs.h <<\_ACEOF
++#define HAVE_ENCODER_DELTA 1
++_ACEOF
++
++				;;
++			x86)
++				enable_filter_x86=yes
++				enable_encoder_x86=yes
++
++cat >>confdefs.h <<\_ACEOF
++#define HAVE_ENCODER_X86 1
++_ACEOF
++
++				;;
++			powerpc)
++				enable_filter_powerpc=yes
++				enable_encoder_powerpc=yes
++
++cat >>confdefs.h <<\_ACEOF
++#define HAVE_ENCODER_POWERPC 1
++_ACEOF
++
++				;;
++			ia64)
++				enable_filter_ia64=yes
++				enable_encoder_ia64=yes
++
++cat >>confdefs.h <<\_ACEOF
++#define HAVE_ENCODER_IA64 1
++_ACEOF
++
++				;;
++			arm)
++				enable_filter_arm=yes
++				enable_encoder_arm=yes
++
++cat >>confdefs.h <<\_ACEOF
++#define HAVE_ENCODER_ARM 1
++_ACEOF
++
++				;;
++			armthumb)
++				enable_filter_armthumb=yes
++				enable_encoder_armthumb=yes
++
++cat >>confdefs.h <<\_ACEOF
++#define HAVE_ENCODER_ARMTHUMB 1
++_ACEOF
++
++				;;
++			sparc)
++				enable_filter_sparc=yes
++				enable_encoder_sparc=yes
++
++cat >>confdefs.h <<\_ACEOF
++#define HAVE_ENCODER_SPARC 1
++_ACEOF
++
++				;;
++			*)
++				{ $as_echo "$as_me:$LINENO: result: " >&5
++$as_echo "" >&6; }
++				{ { $as_echo "$as_me:$LINENO: error: unknown filter: $arg" >&5
++$as_echo "$as_me: error: unknown filter: $arg" >&2;}
++   { (exit 1); exit 1; }; }
++				;;
++		esac
++	done
++	{ $as_echo "$as_me:$LINENO: result: $enable_encoders" >&5
++$as_echo "$enable_encoders" >&6; }
++fi
++
++{ $as_echo "$as_me:$LINENO: checking which decoders to build" >&5
++$as_echo_n "checking which decoders to build... " >&6; }
++# Check whether --enable-decoders was given.
++if test "${enable_decoders+set}" = set; then
++  enableval=$enable_decoders;
++else
++  enable_decoders=lzma1,lzma2,subblock,delta,x86,powerpc,ia64,arm,armthumb,sparc
++fi
++
++enable_decoders=`echo "$enable_decoders" | sed 's/,subblock//; s/,/ /g'`
++if test "x$enable_decoders" = xno || test "x$enable_decoders" = x; then
++	{ $as_echo "$as_me:$LINENO: result: (none)" >&5
++$as_echo "(none)" >&6; }
++else
++
++cat >>confdefs.h <<\_ACEOF
++#define HAVE_DECODER 1
++_ACEOF
++
++	for arg in $enable_decoders
++	do
++		case $arg in
++			lzma1)
++				enable_filter_lzma1=yes
++				enable_decoder_lzma1=yes
++
++cat >>confdefs.h <<\_ACEOF
++#define HAVE_DECODER_LZMA1 1
++_ACEOF
++
++				;;
++			lzma2)
++				enable_filter_lzma2=yes
++				enable_decoder_lzma2=yes
++
++cat >>confdefs.h <<\_ACEOF
++#define HAVE_DECODER_LZMA2 1
++_ACEOF
++
++				;;
++			subblock)
++				enable_filter_subblock=yes
++				enable_decoder_subblock=yes
++
++cat >>confdefs.h <<\_ACEOF
++#define HAVE_DECODER_SUBBLOCK 1
++_ACEOF
++
++				;;
++			delta)
++				enable_filter_delta=yes
++				enable_decoder_delta=yes
++
++cat >>confdefs.h <<\_ACEOF
++#define HAVE_DECODER_DELTA 1
++_ACEOF
++
++				;;
++			x86)
++				enable_filter_x86=yes
++				enable_decoder_x86=yes
++
++cat >>confdefs.h <<\_ACEOF
++#define HAVE_DECODER_X86 1
++_ACEOF
++
++				;;
++			powerpc)
++				enable_filter_powerpc=yes
++				enable_decoder_powerpc=yes
++
++cat >>confdefs.h <<\_ACEOF
++#define HAVE_DECODER_POWERPC 1
++_ACEOF
++
++				;;
++			ia64)
++				enable_filter_ia64=yes
++				enable_decoder_ia64=yes
++
++cat >>confdefs.h <<\_ACEOF
++#define HAVE_DECODER_IA64 1
++_ACEOF
++
++				;;
++			arm)
++				enable_filter_arm=yes
++				enable_decoder_arm=yes
++
++cat >>confdefs.h <<\_ACEOF
++#define HAVE_DECODER_ARM 1
++_ACEOF
++
++				;;
++			armthumb)
++				enable_filter_armthumb=yes
++				enable_decoder_armthumb=yes
++
++cat >>confdefs.h <<\_ACEOF
++#define HAVE_DECODER_ARMTHUMB 1
++_ACEOF
++
++				;;
++			sparc)
++				enable_filter_sparc=yes
++				enable_decoder_sparc=yes
++
++cat >>confdefs.h <<\_ACEOF
++#define HAVE_DECODER_SPARC 1
++_ACEOF
++
++				;;
++			*)
++				{ $as_echo "$as_me:$LINENO: result: " >&5
++$as_echo "" >&6; }
++				{ { $as_echo "$as_me:$LINENO: error: unknown filter: $arg" >&5
++$as_echo "$as_me: error: unknown filter: $arg" >&2;}
++   { (exit 1); exit 1; }; }
++				;;
++		esac
++	done
++
++	# LZMA2 requires that LZMA1 is enabled.
++	test "x$enable_encoder_lzma2" = xyes && enable_encoder_lzma1=yes
++	test "x$enable_decoder_lzma2" = xyes && enable_decoder_lzma1=yes
++
++	{ $as_echo "$as_me:$LINENO: result: $enable_decoders" >&5
++$as_echo "$enable_decoders" >&6; }
++fi
++
++if test "x$enable_encoder_lzma2$enable_encoder_lzma1" = xyesno \
++		|| test "x$enable_decoder_lzma2$enable_decoder_lzma1" = xyesno; then
++	{ { $as_echo "$as_me:$LINENO: error: LZMA2 requires that LZMA1 is also enabled." >&5
++$as_echo "$as_me: error: LZMA2 requires that LZMA1 is also enabled." >&2;}
++   { (exit 1); exit 1; }; }
++fi
++
++ if test "x$enable_encoders" != xno && test "x$enable_encoders" != x; then
++  COND_MAIN_ENCODER_TRUE=
++  COND_MAIN_ENCODER_FALSE='#'
++else
++  COND_MAIN_ENCODER_TRUE='#'
++  COND_MAIN_ENCODER_FALSE=
++fi
++
++ if test "x$enable_decoders" != xno && test "x$enable_decoders" != x; then
++  COND_MAIN_DECODER_TRUE=
++  COND_MAIN_DECODER_FALSE='#'
++else
++  COND_MAIN_DECODER_TRUE='#'
++  COND_MAIN_DECODER_FALSE=
++fi
++
++
++ if test "x$enable_filter_lzma1" = xyes; then
++  COND_FILTER_LZMA1_TRUE=
++  COND_FILTER_LZMA1_FALSE='#'
++else
++  COND_FILTER_LZMA1_TRUE='#'
++  COND_FILTER_LZMA1_FALSE=
++fi
++
++ if test "x$enable_encoder_lzma1" = xyes; then
++  COND_ENCODER_LZMA1_TRUE=
++  COND_ENCODER_LZMA1_FALSE='#'
++else
++  COND_ENCODER_LZMA1_TRUE='#'
++  COND_ENCODER_LZMA1_FALSE=
++fi
++
++ if test "x$enable_decoder_lzma1" = xyes; then
++  COND_DECODER_LZMA1_TRUE=
++  COND_DECODER_LZMA1_FALSE='#'
++else
++  COND_DECODER_LZMA1_TRUE='#'
++  COND_DECODER_LZMA1_FALSE=
++fi
++
++ if test "x$enable_filter_lzma2" = xyes; then
++  COND_FILTER_LZMA2_TRUE=
++  COND_FILTER_LZMA2_FALSE='#'
++else
++  COND_FILTER_LZMA2_TRUE='#'
++  COND_FILTER_LZMA2_FALSE=
++fi
++
++ if test "x$enable_encoder_lzma2" = xyes; then
++  COND_ENCODER_LZMA2_TRUE=
++  COND_ENCODER_LZMA2_FALSE='#'
++else
++  COND_ENCODER_LZMA2_TRUE='#'
++  COND_ENCODER_LZMA2_FALSE=
++fi
++
++ if test "x$enable_decoder_lzma2" = xyes; then
++  COND_DECODER_LZMA2_TRUE=
++  COND_DECODER_LZMA2_FALSE='#'
++else
++  COND_DECODER_LZMA2_TRUE='#'
++  COND_DECODER_LZMA2_FALSE=
++fi
++
++ if test "x$enable_filter_subblock" = xyes; then
++  COND_FILTER_SUBBLOCK_TRUE=
++  COND_FILTER_SUBBLOCK_FALSE='#'
++else
++  COND_FILTER_SUBBLOCK_TRUE='#'
++  COND_FILTER_SUBBLOCK_FALSE=
++fi
++
++ if test "x$enable_encoder_subblock" = xyes; then
++  COND_ENCODER_SUBBLOCK_TRUE=
++  COND_ENCODER_SUBBLOCK_FALSE='#'
++else
++  COND_ENCODER_SUBBLOCK_TRUE='#'
++  COND_ENCODER_SUBBLOCK_FALSE=
++fi
++
++ if test "x$enable_decoder_subblock" = xyes; then
++  COND_DECODER_SUBBLOCK_TRUE=
++  COND_DECODER_SUBBLOCK_FALSE='#'
++else
++  COND_DECODER_SUBBLOCK_TRUE='#'
++  COND_DECODER_SUBBLOCK_FALSE=
++fi
++
++ if test "x$enable_filter_delta" = xyes; then
++  COND_FILTER_DELTA_TRUE=
++  COND_FILTER_DELTA_FALSE='#'
++else
++  COND_FILTER_DELTA_TRUE='#'
++  COND_FILTER_DELTA_FALSE=
++fi
++
++ if test "x$enable_encoder_delta" = xyes; then
++  COND_ENCODER_DELTA_TRUE=
++  COND_ENCODER_DELTA_FALSE='#'
++else
++  COND_ENCODER_DELTA_TRUE='#'
++  COND_ENCODER_DELTA_FALSE=
++fi
++
++ if test "x$enable_decoder_delta" = xyes; then
++  COND_DECODER_DELTA_TRUE=
++  COND_DECODER_DELTA_FALSE='#'
++else
++  COND_DECODER_DELTA_TRUE='#'
++  COND_DECODER_DELTA_FALSE=
++fi
++
++ if test "x$enable_filter_x86" = xyes; then
++  COND_FILTER_X86_TRUE=
++  COND_FILTER_X86_FALSE='#'
++else
++  COND_FILTER_X86_TRUE='#'
++  COND_FILTER_X86_FALSE=
++fi
++
++ if test "x$enable_encoder_x86" = xyes; then
++  COND_ENCODER_X86_TRUE=
++  COND_ENCODER_X86_FALSE='#'
++else
++  COND_ENCODER_X86_TRUE='#'
++  COND_ENCODER_X86_FALSE=
++fi
++
++ if test "x$enable_decoder_x86" = xyes; then
++  COND_DECODER_X86_TRUE=
++  COND_DECODER_X86_FALSE='#'
++else
++  COND_DECODER_X86_TRUE='#'
++  COND_DECODER_X86_FALSE=
++fi
++
++ if test "x$enable_filter_powerpc" = xyes; then
++  COND_FILTER_POWERPC_TRUE=
++  COND_FILTER_POWERPC_FALSE='#'
++else
++  COND_FILTER_POWERPC_TRUE='#'
++  COND_FILTER_POWERPC_FALSE=
++fi
++
++ if test "x$enable_encoder_powerpc" = xyes; then
++  COND_ENCODER_POWERPC_TRUE=
++  COND_ENCODER_POWERPC_FALSE='#'
++else
++  COND_ENCODER_POWERPC_TRUE='#'
++  COND_ENCODER_POWERPC_FALSE=
++fi
++
++ if test "x$enable_decoder_powerpc" = xyes; then
++  COND_DECODER_POWERPC_TRUE=
++  COND_DECODER_POWERPC_FALSE='#'
++else
++  COND_DECODER_POWERPC_TRUE='#'
++  COND_DECODER_POWERPC_FALSE=
++fi
++
++ if test "x$enable_filter_ia64" = xyes; then
++  COND_FILTER_IA64_TRUE=
++  COND_FILTER_IA64_FALSE='#'
++else
++  COND_FILTER_IA64_TRUE='#'
++  COND_FILTER_IA64_FALSE=
++fi
++
++ if test "x$enable_encoder_ia64" = xyes; then
++  COND_ENCODER_IA64_TRUE=
++  COND_ENCODER_IA64_FALSE='#'
++else
++  COND_ENCODER_IA64_TRUE='#'
++  COND_ENCODER_IA64_FALSE=
++fi
++
++ if test "x$enable_decoder_ia64" = xyes; then
++  COND_DECODER_IA64_TRUE=
++  COND_DECODER_IA64_FALSE='#'
++else
++  COND_DECODER_IA64_TRUE='#'
++  COND_DECODER_IA64_FALSE=
++fi
++
++ if test "x$enable_filter_arm" = xyes; then
++  COND_FILTER_ARM_TRUE=
++  COND_FILTER_ARM_FALSE='#'
++else
++  COND_FILTER_ARM_TRUE='#'
++  COND_FILTER_ARM_FALSE=
++fi
++
++ if test "x$enable_encoder_arm" = xyes; then
++  COND_ENCODER_ARM_TRUE=
++  COND_ENCODER_ARM_FALSE='#'
++else
++  COND_ENCODER_ARM_TRUE='#'
++  COND_ENCODER_ARM_FALSE=
++fi
++
++ if test "x$enable_decoder_arm" = xyes; then
++  COND_DECODER_ARM_TRUE=
++  COND_DECODER_ARM_FALSE='#'
++else
++  COND_DECODER_ARM_TRUE='#'
++  COND_DECODER_ARM_FALSE=
++fi
++
++ if test "x$enable_filter_armthumb" = xyes; then
++  COND_FILTER_ARMTHUMB_TRUE=
++  COND_FILTER_ARMTHUMB_FALSE='#'
++else
++  COND_FILTER_ARMTHUMB_TRUE='#'
++  COND_FILTER_ARMTHUMB_FALSE=
++fi
++
++ if test "x$enable_encoder_armthumb" = xyes; then
++  COND_ENCODER_ARMTHUMB_TRUE=
++  COND_ENCODER_ARMTHUMB_FALSE='#'
++else
++  COND_ENCODER_ARMTHUMB_TRUE='#'
++  COND_ENCODER_ARMTHUMB_FALSE=
++fi
++
++ if test "x$enable_decoder_armthumb" = xyes; then
++  COND_DECODER_ARMTHUMB_TRUE=
++  COND_DECODER_ARMTHUMB_FALSE='#'
++else
++  COND_DECODER_ARMTHUMB_TRUE='#'
++  COND_DECODER_ARMTHUMB_FALSE=
++fi
++
++ if test "x$enable_filter_sparc" = xyes; then
++  COND_FILTER_SPARC_TRUE=
++  COND_FILTER_SPARC_FALSE='#'
++else
++  COND_FILTER_SPARC_TRUE='#'
++  COND_FILTER_SPARC_FALSE=
++fi
++
++ if test "x$enable_encoder_sparc" = xyes; then
++  COND_ENCODER_SPARC_TRUE=
++  COND_ENCODER_SPARC_FALSE='#'
++else
++  COND_ENCODER_SPARC_TRUE='#'
++  COND_ENCODER_SPARC_FALSE=
++fi
++
++ if test "x$enable_decoder_sparc" = xyes; then
++  COND_DECODER_SPARC_TRUE=
++  COND_DECODER_SPARC_FALSE='#'
++else
++  COND_DECODER_SPARC_TRUE='#'
++  COND_DECODER_SPARC_FALSE=
++fi
++
++
++# The so called "simple filters" share common code.
++enable_filter_simple=no
++enable_encoder_simple=no
++enable_decoder_simple=no
++test "x$enable_filter_x86" = xyes && enable_filter_simple=yes
++test "x$enable_encoder_x86" = xyes && enable_encoder_simple=yes
++test "x$enable_decoder_x86" = xyes && enable_decoder_simple=yes
++test "x$enable_filter_powerpc" = xyes && enable_filter_simple=yes
++test "x$enable_encoder_powerpc" = xyes && enable_encoder_simple=yes
++test "x$enable_decoder_powerpc" = xyes && enable_decoder_simple=yes
++test "x$enable_filter_ia64" = xyes && enable_filter_simple=yes
++test "x$enable_encoder_ia64" = xyes && enable_encoder_simple=yes
++test "x$enable_decoder_ia64" = xyes && enable_decoder_simple=yes
++test "x$enable_filter_arm" = xyes && enable_filter_simple=yes
++test "x$enable_encoder_arm" = xyes && enable_encoder_simple=yes
++test "x$enable_decoder_arm" = xyes && enable_decoder_simple=yes
++test "x$enable_filter_armthumb" = xyes && enable_filter_simple=yes
++test "x$enable_encoder_armthumb" = xyes && enable_encoder_simple=yes
++test "x$enable_decoder_armthumb" = xyes && enable_decoder_simple=yes
++test "x$enable_filter_sparc" = xyes && enable_filter_simple=yes
++test "x$enable_encoder_sparc" = xyes && enable_encoder_simple=yes
++test "x$enable_decoder_sparc" = xyes && enable_decoder_simple=yes
++ if test "x$enable_filter_simple" = xyes; then
++  COND_FILTER_SIMPLE_TRUE=
++  COND_FILTER_SIMPLE_FALSE='#'
++else
++  COND_FILTER_SIMPLE_TRUE='#'
++  COND_FILTER_SIMPLE_FALSE=
++fi
++
++ if test "x$enable_encoder_simple" = xyes; then
++  COND_ENCODER_SIMPLE_TRUE=
++  COND_ENCODER_SIMPLE_FALSE='#'
++else
++  COND_ENCODER_SIMPLE_TRUE='#'
++  COND_ENCODER_SIMPLE_FALSE=
++fi
++
++ if test "x$enable_decoder_simple" = xyes; then
++  COND_DECODER_SIMPLE_TRUE=
++  COND_DECODER_SIMPLE_FALSE='#'
++else
++  COND_DECODER_SIMPLE_TRUE='#'
++  COND_DECODER_SIMPLE_FALSE=
++fi
++
++
++# LZ-based filters share common code.
++enable_filter_lz=no
++enable_encoder_lz=no
++enable_decoder_lz=no
++test "x$enable_filter_lzma1" = xyes && enable_filter_lz=yes
++test "x$enable_encoder_lzma1" = xyes && enable_encoder_lz=yes
++test "x$enable_decoder_lzma1" = xyes && enable_decoder_lz=yes
++test "x$enable_filter_lzma2" = xyes && enable_filter_lz=yes
++test "x$enable_encoder_lzma2" = xyes && enable_encoder_lz=yes
++test "x$enable_decoder_lzma2" = xyes && enable_decoder_lz=yes
++ if test "x$enable_filter_lz" = xyes; then
++  COND_FILTER_LZ_TRUE=
++  COND_FILTER_LZ_FALSE='#'
++else
++  COND_FILTER_LZ_TRUE='#'
++  COND_FILTER_LZ_FALSE=
++fi
++
++ if test "x$enable_encoder_lz" = xyes; then
++  COND_ENCODER_LZ_TRUE=
++  COND_ENCODER_LZ_FALSE='#'
++else
++  COND_ENCODER_LZ_TRUE='#'
++  COND_ENCODER_LZ_FALSE=
++fi
++
++ if test "x$enable_decoder_lz" = xyes; then
++  COND_DECODER_LZ_TRUE=
++  COND_DECODER_LZ_FALSE='#'
++else
++  COND_DECODER_LZ_TRUE='#'
++  COND_DECODER_LZ_FALSE=
++fi
++
++
++
++#################
++# Match finders #
++#################
++
++
++
++enable_match_finder_hc3=no
++enable_match_finder_hc4=no
++enable_match_finder_bt2=no
++enable_match_finder_bt3=no
++enable_match_finder_bt4=no
++
++
++{ $as_echo "$as_me:$LINENO: checking which match finders to build" >&5
++$as_echo_n "checking which match finders to build... " >&6; }
++# Check whether --enable-match-finders was given.
++if test "${enable_match_finders+set}" = set; then
++  enableval=$enable_match_finders;
++else
++  enable_match_finders=hc3,hc4,bt2,bt3,bt4
++fi
++
++enable_match_finders=`echo "$enable_match_finders" | sed 's/,/ /g'`
++if test "x$enable_encoder_lz" = xyes ; then
++	for arg in $enable_match_finders
++		do
++		case $arg in
++			hc3)
++				enable_match_finder_hc3=yes
++
++cat >>confdefs.h <<\_ACEOF
++#define HAVE_MF_HC3 1
++_ACEOF
++
++				;;
++			hc4)
++				enable_match_finder_hc4=yes
++
++cat >>confdefs.h <<\_ACEOF
++#define HAVE_MF_HC4 1
++_ACEOF
++
++				;;
++			bt2)
++				enable_match_finder_bt2=yes
++
++cat >>confdefs.h <<\_ACEOF
++#define HAVE_MF_BT2 1
++_ACEOF
++
++				;;
++			bt3)
++				enable_match_finder_bt3=yes
++
++cat >>confdefs.h <<\_ACEOF
++#define HAVE_MF_BT3 1
++_ACEOF
++
++				;;
++			bt4)
++				enable_match_finder_bt4=yes
++
++cat >>confdefs.h <<\_ACEOF
++#define HAVE_MF_BT4 1
++_ACEOF
++
++				;;
++			*)
++				{ $as_echo "$as_me:$LINENO: result: " >&5
++$as_echo "" >&6; }
++				{ { $as_echo "$as_me:$LINENO: error: unknown match finder: $arg" >&5
++$as_echo "$as_me: error: unknown match finder: $arg" >&2;}
++   { (exit 1); exit 1; }; }
++				;;
++		esac
++	done
++	{ $as_echo "$as_me:$LINENO: result: $enable_match_finders" >&5
++$as_echo "$enable_match_finders" >&6; }
++else
++	{ $as_echo "$as_me:$LINENO: result: (none because not building any LZ-based encoder)" >&5
++$as_echo "(none because not building any LZ-based encoder)" >&6; }
++fi
++
++
++####################
++# Integrity checks #
++####################
++
++
++
++enable_check_lzma1=no
++enable_check_lzma2=no
++enable_check_subblock=no
++enable_check_delta=no
++enable_check_x86=no
++enable_check_powerpc=no
++enable_check_ia64=no
++enable_check_arm=no
++enable_check_armthumb=no
++enable_check_sparc=no
++
++{ $as_echo "$as_me:$LINENO: checking which integrity checks to build" >&5
++$as_echo_n "checking which integrity checks to build... " >&6; }
++# Check whether --enable-checks was given.
++if test "${enable_checks+set}" = set; then
++  enableval=$enable_checks;
++else
++  enable_checks=crc32,crc64,sha256
++fi
++
++enable_checks=`echo "$enable_checks" | sed 's/,/ /g'`
++if test "x$enable_checks" = xno || test "x$enable_checks" = x; then
++	{ $as_echo "$as_me:$LINENO: result: (none)" >&5
++$as_echo "(none)" >&6; }
++else
++	for arg in $enable_checks
++	do
++		case $arg in
++			crc32)
++				enable_check_crc32=yes
++
++cat >>confdefs.h <<\_ACEOF
++#define HAVE_CHECK_CRC32 1
++_ACEOF
++
++				;;
++			crc64)
++				enable_check_crc64=yes
++
++cat >>confdefs.h <<\_ACEOF
++#define HAVE_CHECK_CRC64 1
++_ACEOF
++
++				;;
++			sha256)
++				enable_check_sha256=yes
++
++cat >>confdefs.h <<\_ACEOF
++#define HAVE_CHECK_SHA256 1
++_ACEOF
++
++				;;
++			*)
++				{ $as_echo "$as_me:$LINENO: result: " >&5
++$as_echo "" >&6; }
++				{ { $as_echo "$as_me:$LINENO: error: unknown integrity check: $arg" >&5
++$as_echo "$as_me: error: unknown integrity check: $arg" >&2;}
++   { (exit 1); exit 1; }; }
++				;;
++		esac
++	done
++	{ $as_echo "$as_me:$LINENO: result: $enable_checks" >&5
++$as_echo "$enable_checks" >&6; }
++fi
++if test "x$enable_checks_crc32" = xno ; then
++	{ { $as_echo "$as_me:$LINENO: error: For now, the CRC32 check must always be enabled." >&5
++$as_echo "$as_me: error: For now, the CRC32 check must always be enabled." >&2;}
++   { (exit 1); exit 1; }; }
++fi
++
++ if test "x$enable_check_crc32" = xyes; then
++  COND_CHECK_CRC32_TRUE=
++  COND_CHECK_CRC32_FALSE='#'
++else
++  COND_CHECK_CRC32_TRUE='#'
++  COND_CHECK_CRC32_FALSE=
++fi
++
++ if test "x$enable_check_crc64" = xyes; then
++  COND_CHECK_CRC64_TRUE=
++  COND_CHECK_CRC64_FALSE='#'
++else
++  COND_CHECK_CRC64_TRUE='#'
++  COND_CHECK_CRC64_FALSE=
++fi
++
++ if test "x$enable_check_sha256" = xyes; then
++  COND_CHECK_SHA256_TRUE=
++  COND_CHECK_SHA256_FALSE='#'
++else
++  COND_CHECK_SHA256_TRUE='#'
++  COND_CHECK_SHA256_FALSE=
++fi
++
++
++
++###########################
++# Assembler optimizations #
++###########################
++
++{ $as_echo "$as_me:$LINENO: checking if assembler optimizations should be used" >&5
++$as_echo_n "checking if assembler optimizations should be used... " >&6; }
++# Check whether --enable-assembler was given.
++if test "${enable_assembler+set}" = set; then
++  enableval=$enable_assembler;
++else
++  enable_assembler=yes
++fi
++
++if test "x$enable_assembler" = xyes; then
++	case $host_cpu in
++		i?86)   enable_assembler=x86 ;;
++		x86_64) enable_assembler=x86_64 ;;
++		*)      enable_assembler=no ;;
++	esac
++fi
++case $enable_assembler in
++	x86)
++
++cat >>confdefs.h <<\_ACEOF
++#define HAVE_ASM_X86 1
++_ACEOF
++
++		;;
++	x86_64)
++
++cat >>confdefs.h <<\_ACEOF
++#define HAVE_ASM_X86_64 1
++_ACEOF
++
++		;;
++	no)
++		;;
++	*)
++		{ $as_echo "$as_me:$LINENO: result: " >&5
++$as_echo "" >&6; }
++		{ { $as_echo "$as_me:$LINENO: error: --enable-assembler accepts only \`yes', \`no', \`x86', or \`x86_64'." >&5
++$as_echo "$as_me: error: --enable-assembler accepts only \`yes', \`no', \`x86', or \`x86_64'." >&2;}
++   { (exit 1); exit 1; }; }
++		;;
++esac
++{ $as_echo "$as_me:$LINENO: result: $enable_assembler" >&5
++$as_echo "$enable_assembler" >&6; }
++ if test "x$enable_assembler" = xx86; then
++  COND_ASM_X86_TRUE=
++  COND_ASM_X86_FALSE='#'
++else
++  COND_ASM_X86_TRUE='#'
++  COND_ASM_X86_FALSE=
++fi
++
++ if test "x$enable_assembler" = xx86_64; then
++  COND_ASM_X86_64_TRUE=
++  COND_ASM_X86_64_FALSE='#'
++else
++  COND_ASM_X86_64_TRUE='#'
++  COND_ASM_X86_64_FALSE=
++fi
++
++
++
++################################
++# Fast unaligned memory access #
++################################
++
++{ $as_echo "$as_me:$LINENO: checking if unaligned memory access should be used" >&5
++$as_echo_n "checking if unaligned memory access should be used... " >&6; }
++# Check whether --enable-unaligned-access was given.
++if test "${enable_unaligned_access+set}" = set; then
++  enableval=$enable_unaligned_access;
++else
++  enable_unaligned_access=auto
++fi
++
++if test "x$enable_unaligned_access" = xauto ; then
++	case $host_cpu in
++		i?86|x86_64|powerpc|powerpc64)
++			enable_unaligned_access=yes
++			;;
++		*)
++			enable_unaligned_access=no
++			;;
++	esac
++fi
++if test "x$enable_unaligned_access" = xyes ; then
++
++cat >>confdefs.h <<\_ACEOF
++#define HAVE_FAST_UNALIGNED_ACCESS 1
++_ACEOF
++
++	{ $as_echo "$as_me:$LINENO: result: yes" >&5
++$as_echo "yes" >&6; }
++else
++	{ $as_echo "$as_me:$LINENO: result: no" >&5
++$as_echo "no" >&6; }
++fi
++
++
++#####################
++# Size optimization #
++#####################
++
++{ $as_echo "$as_me:$LINENO: checking if small size is preferred over speed" >&5
++$as_echo_n "checking if small size is preferred over speed... " >&6; }
++# Check whether --enable-small was given.
++if test "${enable_small+set}" = set; then
++  enableval=$enable_small;
++else
++  enable_small=no
++fi
++
++if test "x$enable_small" = xyes; then
++
++cat >>confdefs.h <<\_ACEOF
++#define HAVE_SMALL 1
++_ACEOF
++
++elif test "x$enable_small" != xno; then
++	{ $as_echo "$as_me:$LINENO: result: " >&5
++$as_echo "" >&6; }
++	{ { $as_echo "$as_me:$LINENO: error: --enable-small accepts only \`yes' or \`no'" >&5
++$as_echo "$as_me: error: --enable-small accepts only \`yes' or \`no'" >&2;}
++   { (exit 1); exit 1; }; }
++fi
++{ $as_echo "$as_me:$LINENO: result: $enable_small" >&5
++$as_echo "$enable_small" >&6; }
++ if test "x$enable_small" = xyes; then
++  COND_SMALL_TRUE=
++  COND_SMALL_FALSE='#'
++else
++  COND_SMALL_TRUE='#'
++  COND_SMALL_FALSE=
++fi
++
++
++
++#############
++# Threading #
++#############
++
++{ $as_echo "$as_me:$LINENO: checking if threading support is wanted" >&5
++$as_echo_n "checking if threading support is wanted... " >&6; }
++# Check whether --enable-threads was given.
++if test "${enable_threads+set}" = set; then
++  enableval=$enable_threads;
++else
++  enable_threads=yes
++fi
++
++if test "x$enable_threads" != xyes && test "x$enable_threads" != xno; then
++	{ $as_echo "$as_me:$LINENO: result: " >&5
++$as_echo "" >&6; }
++	{ { $as_echo "$as_me:$LINENO: error: --enable-threads accepts only \`yes' or \`no'" >&5
++$as_echo "$as_me: error: --enable-threads accepts only \`yes' or \`no'" >&2;}
++   { (exit 1); exit 1; }; }
++fi
++{ $as_echo "$as_me:$LINENO: result: $enable_threads" >&5
++$as_echo "$enable_threads" >&6; }
++# We use the actual result a little later.
++
++
++############################################
++# xz/xzdec/lzmadec linkage against liblzma #
++############################################
++
++# Link the xz, xzdec, and lzmadec command line tools against static liblzma
++# unless using --enable-dynamic. Using static liblzma gives a little bit
++# faster executable on x86, because no register is wasted for PIC. We also
++# have one dependency less, which allows users to more freely copy the xz
++# binary to other boxes. However, I wouldn't be surprised if distro
++# maintainers still prefer dynamic linking, so let's make it easy for them.
++
++{ $as_echo "$as_me:$LINENO: checking how programs should be linked against liblzma" >&5
++$as_echo_n "checking how programs should be linked against liblzma... " >&6; }
++# Check whether --enable-dynamic was given.
++if test "${enable_dynamic+set}" = set; then
++  enableval=$enable_dynamic;
++else
++  enable_dynamic=mixed
++fi
++
++case $enable_dynamic in
++	mixed)
++		{ $as_echo "$as_me:$LINENO: result: mixed (some dynamically, some statically)" >&5
++$as_echo "mixed (some dynamically, some statically)" >&6; }
++		;;
++	yes)
++		{ $as_echo "$as_me:$LINENO: result: dynamically" >&5
++$as_echo "dynamically" >&6; }
++		;;
++	no)
++		{ $as_echo "$as_me:$LINENO: result: statically" >&5
++$as_echo "statically" >&6; }
++		;;
++	*)
++		{ $as_echo "$as_me:$LINENO: result: " >&5
++$as_echo "" >&6; }
++		{ { $as_echo "$as_me:$LINENO: error: --enable-dynamic accepts only \`mixed', \`yes', or \`no'" >&5
++$as_echo "$as_me: error: --enable-dynamic accepts only \`mixed', \`yes', or \`no'" >&2;}
++   { (exit 1); exit 1; }; }
++		;;
++esac
++# We use the actual results later, because we don't know yet
++# if --disable-shared or --disable-static was used.
++
++
++###############################################################################
++# Checks for programs.
++###############################################################################
++
++echo
++
++  { $as_echo "$as_me:$LINENO: checking for a shell that conforms to POSIX" >&5
++$as_echo_n "checking for a shell that conforms to POSIX... " >&6; }
++if test "${gl_cv_posix_shell+set}" = set; then
++  $as_echo_n "(cached) " >&6
++else
++  gl_test_posix_shell_script='
++       func_return () {
++	 (exit $1)
++       }
++       func_success () {
++	 func_return 0
++       }
++       func_failure () {
++	 func_return 1
++       }
++       func_ret_success () {
++	 return 0
++       }
++       func_ret_failure () {
++	 return 1
++       }
++       subshell_umask_sanity () {
++	 (umask 22; (umask 0); test $(umask) -eq 22)
++       }
++       test "$(echo foo)" = foo &&
++       func_success &&
++       ! func_failure &&
++       func_ret_success &&
++       ! func_ret_failure &&
++       (set x && func_ret_success y && test x = "$1") &&
++       subshell_umask_sanity
++     '
++     for gl_cv_posix_shell in \
++	 "$CONFIG_SHELL" "$SHELL" /bin/sh /bin/bash /bin/ksh /bin/sh5 no; do
++       case $gl_cv_posix_shell in
++         /*)
++	   "$gl_cv_posix_shell" -c "$gl_test_posix_shell_script" 2>/dev/null \
++	     && break;;
++       esac
++     done
++fi
++{ $as_echo "$as_me:$LINENO: result: $gl_cv_posix_shell" >&5
++$as_echo "$gl_cv_posix_shell" >&6; }
++
++  if test "$gl_cv_posix_shell" != no; then
++    POSIX_SHELL=$gl_cv_posix_shell
++    PREFERABLY_POSIX_SHELL=$POSIX_SHELL
++  else
++    POSIX_SHELL=
++    PREFERABLY_POSIX_SHELL=/bin/sh
++  fi
++
++
++
++if test -z "$POSIX_SHELL" ; then
++	{ { $as_echo "$as_me:$LINENO: error: No POSIX conforming shell (sh) was found." >&5
++$as_echo "$as_me: error: No POSIX conforming shell (sh) was found." >&2;}
++   { (exit 1); exit 1; }; }
++fi
++
++echo
++echo "Initializing Automake:"
++
++am__api_version='1.11'
++
++# Find a good install program.  We prefer a C program (faster),
++# so one script is as good as another.  But avoid the broken or
++# incompatible versions:
++# SysV /etc/install, /usr/sbin/install
++# SunOS /usr/etc/install
++# IRIX /sbin/install
++# AIX /bin/install
++# AmigaOS /C/install, which installs bootblocks on floppy discs
++# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
++# AFS /usr/afsws/bin/install, which mishandles nonexistent args
++# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
++# OS/2's system install, which has a completely different semantic
++# ./install, which can be erroneously created by make from ./install.sh.
++# Reject install programs that cannot install multiple files.
++{ $as_echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5
++$as_echo_n "checking for a BSD-compatible install... " >&6; }
++if test -z "$INSTALL"; then
++if test "${ac_cv_path_install+set}" = set; then
++  $as_echo_n "(cached) " >&6
++else
++  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++  IFS=$as_save_IFS
++  test -z "$as_dir" && as_dir=.
++  # Account for people who put trailing slashes in PATH elements.
++case $as_dir/ in
++  ./ | .// | /cC/* | \
++  /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \
++  ?:\\/os2\\/install\\/* | ?:\\/OS2\\/INSTALL\\/* | \
++  /usr/ucb/* ) ;;
++  *)
++    # OSF1 and SCO ODT 3.0 have their own names for install.
++    # Don't use installbsd from OSF since it installs stuff as root
++    # by default.
++    for ac_prog in ginstall scoinst install; do
++      for ac_exec_ext in '' $ac_executable_extensions; do
++	if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then
++	  if test $ac_prog = install &&
++	    grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
++	    # AIX install.  It has an incompatible calling convention.
++	    :
++	  elif test $ac_prog = install &&
++	    grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
++	    # program-specific install script used by HP pwplus--don't use.
++	    :
++	  else
++	    rm -rf conftest.one conftest.two conftest.dir
++	    echo one > conftest.one
++	    echo two > conftest.two
++	    mkdir conftest.dir
++	    if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" &&
++	      test -s conftest.one && test -s conftest.two &&
++	      test -s conftest.dir/conftest.one &&
++	      test -s conftest.dir/conftest.two
++	    then
++	      ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c"
++	      break 3
++	    fi
++	  fi
++	fi
++      done
++    done
++    ;;
++esac
++
++done
++IFS=$as_save_IFS
++
++rm -rf conftest.one conftest.two conftest.dir
++
++fi
++  if test "${ac_cv_path_install+set}" = set; then
++    INSTALL=$ac_cv_path_install
++  else
++    # As a last resort, use the slow shell script.  Don't cache a
++    # value for INSTALL within a source directory, because that will
++    # break other packages using the cache if that directory is
++    # removed, or if the value is a relative name.
++    INSTALL=$ac_install_sh
++  fi
++fi
++{ $as_echo "$as_me:$LINENO: result: $INSTALL" >&5
++$as_echo "$INSTALL" >&6; }
++
++# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
++# It thinks the first close brace ends the variable substitution.
++test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
++
++test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}'
++
++test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
++
++{ $as_echo "$as_me:$LINENO: checking whether build environment is sane" >&5
++$as_echo_n "checking whether build environment is sane... " >&6; }
++# Just in case
++sleep 1
++echo timestamp > conftest.file
++# Reject unsafe characters in $srcdir or the absolute working directory
++# name.  Accept space and tab only in the latter.
++am_lf='
++'
++case `pwd` in
++  *[\\\"\#\$\&\'\`$am_lf]*)
++    { { $as_echo "$as_me:$LINENO: error: unsafe absolute working directory name" >&5
++$as_echo "$as_me: error: unsafe absolute working directory name" >&2;}
++   { (exit 1); exit 1; }; };;
++esac
++case $srcdir in
++  *[\\\"\#\$\&\'\`$am_lf\ \	]*)
++    { { $as_echo "$as_me:$LINENO: error: unsafe srcdir value: \`$srcdir'" >&5
++$as_echo "$as_me: error: unsafe srcdir value: \`$srcdir'" >&2;}
++   { (exit 1); exit 1; }; };;
++esac
++
++# Do `set' in a subshell so we don't clobber the current shell's
++# arguments.  Must try -L first in case configure is actually a
++# symlink; some systems play weird games with the mod time of symlinks
++# (eg FreeBSD returns the mod time of the symlink's containing
++# directory).
++if (
++   set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
++   if test "$*" = "X"; then
++      # -L didn't work.
++      set X `ls -t "$srcdir/configure" conftest.file`
++   fi
++   rm -f conftest.file
++   if test "$*" != "X $srcdir/configure conftest.file" \
++      && test "$*" != "X conftest.file $srcdir/configure"; then
++
++      # If neither matched, then we have a broken ls.  This can happen
++      # if, for instance, CONFIG_SHELL is bash and it inherits a
++      # broken ls alias from the environment.  This has actually
++      # happened.  Such a system could not be considered "sane".
++      { { $as_echo "$as_me:$LINENO: error: ls -t appears to fail.  Make sure there is not a broken
++alias in your environment" >&5
++$as_echo "$as_me: error: ls -t appears to fail.  Make sure there is not a broken
++alias in your environment" >&2;}
++   { (exit 1); exit 1; }; }
++   fi
++
++   test "$2" = conftest.file
++   )
++then
++   # Ok.
++   :
++else
++   { { $as_echo "$as_me:$LINENO: error: newly created file is older than distributed files!
++Check your system clock" >&5
++$as_echo "$as_me: error: newly created file is older than distributed files!
++Check your system clock" >&2;}
++   { (exit 1); exit 1; }; }
++fi
++{ $as_echo "$as_me:$LINENO: result: yes" >&5
++$as_echo "yes" >&6; }
++test "$program_prefix" != NONE &&
++  program_transform_name="s&^&$program_prefix&;$program_transform_name"
++# Use a double $ so make ignores it.
++test "$program_suffix" != NONE &&
++  program_transform_name="s&\$&$program_suffix&;$program_transform_name"
++# Double any \ or $.
++# By default was `s,x,x', remove it if useless.
++ac_script='s/[\\$]/&&/g;s/;s,x,x,$//'
++program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"`
++
++# expand $ac_aux_dir to an absolute path
++am_aux_dir=`cd $ac_aux_dir && pwd`
++
++if test x"${MISSING+set}" != xset; then
++  case $am_aux_dir in
++  *\ * | *\	*)
++    MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;;
++  *)
++    MISSING="\${SHELL} $am_aux_dir/missing" ;;
++  esac
++fi
++# Use eval to expand $SHELL
++if eval "$MISSING --run true"; then
++  am_missing_run="$MISSING --run "
++else
++  am_missing_run=
++  { $as_echo "$as_me:$LINENO: WARNING: \`missing' script is too old or missing" >&5
++$as_echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;}
++fi
++
++if test x"${install_sh}" != xset; then
++  case $am_aux_dir in
++  *\ * | *\	*)
++    install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;;
++  *)
++    install_sh="\${SHELL} $am_aux_dir/install-sh"
++  esac
++fi
++
++# Installed binaries are usually stripped using `strip' when the user
++# run `make install-strip'.  However `strip' might not be the right
++# tool to use in cross-compilation environments, therefore Automake
++# will honor the `STRIP' environment variable to overrule this program.
++if test "$cross_compiling" != no; then
++  if test -n "$ac_tool_prefix"; then
++  # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
++set dummy ${ac_tool_prefix}strip; ac_word=$2
++{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
++$as_echo_n "checking for $ac_word... " >&6; }
++if test "${ac_cv_prog_STRIP+set}" = set; then
++  $as_echo_n "(cached) " >&6
++else
++  if test -n "$STRIP"; then
++  ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++  IFS=$as_save_IFS
++  test -z "$as_dir" && as_dir=.
++  for ac_exec_ext in '' $ac_executable_extensions; do
++  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++    ac_cv_prog_STRIP="${ac_tool_prefix}strip"
++    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
++    break 2
++  fi
++done
++done
++IFS=$as_save_IFS
++
++fi
++fi
++STRIP=$ac_cv_prog_STRIP
++if test -n "$STRIP"; then
++  { $as_echo "$as_me:$LINENO: result: $STRIP" >&5
++$as_echo "$STRIP" >&6; }
++else
++  { $as_echo "$as_me:$LINENO: result: no" >&5
++$as_echo "no" >&6; }
++fi
++
++
++fi
++if test -z "$ac_cv_prog_STRIP"; then
++  ac_ct_STRIP=$STRIP
++  # Extract the first word of "strip", so it can be a program name with args.
++set dummy strip; ac_word=$2
++{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
++$as_echo_n "checking for $ac_word... " >&6; }
++if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then
++  $as_echo_n "(cached) " >&6
++else
++  if test -n "$ac_ct_STRIP"; then
++  ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++  IFS=$as_save_IFS
++  test -z "$as_dir" && as_dir=.
++  for ac_exec_ext in '' $ac_executable_extensions; do
++  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++    ac_cv_prog_ac_ct_STRIP="strip"
++    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
++    break 2
++  fi
++done
++done
++IFS=$as_save_IFS
++
++fi
++fi
++ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
++if test -n "$ac_ct_STRIP"; then
++  { $as_echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5
++$as_echo "$ac_ct_STRIP" >&6; }
++else
++  { $as_echo "$as_me:$LINENO: result: no" >&5
++$as_echo "no" >&6; }
++fi
++
++  if test "x$ac_ct_STRIP" = x; then
++    STRIP=":"
++  else
++    case $cross_compiling:$ac_tool_warned in
++yes:)
++{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5
++$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
++ac_tool_warned=yes ;;
++esac
++    STRIP=$ac_ct_STRIP
++  fi
++else
++  STRIP="$ac_cv_prog_STRIP"
++fi
++
++fi
++INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
++
++{ $as_echo "$as_me:$LINENO: checking for a thread-safe mkdir -p" >&5
++$as_echo_n "checking for a thread-safe mkdir -p... " >&6; }
++if test -z "$MKDIR_P"; then
++  if test "${ac_cv_path_mkdir+set}" = set; then
++  $as_echo_n "(cached) " >&6
++else
++  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin
++do
++  IFS=$as_save_IFS
++  test -z "$as_dir" && as_dir=.
++  for ac_prog in mkdir gmkdir; do
++	 for ac_exec_ext in '' $ac_executable_extensions; do
++	   { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; } || continue
++	   case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #(
++	     'mkdir (GNU coreutils) '* | \
++	     'mkdir (coreutils) '* | \
++	     'mkdir (fileutils) '4.1*)
++	       ac_cv_path_mkdir=$as_dir/$ac_prog$ac_exec_ext
++	       break 3;;
++	   esac
++	 done
++       done
++done
++IFS=$as_save_IFS
++
++fi
++
++  if test "${ac_cv_path_mkdir+set}" = set; then
++    MKDIR_P="$ac_cv_path_mkdir -p"
++  else
++    # As a last resort, use the slow shell script.  Don't cache a
++    # value for MKDIR_P within a source directory, because that will
++    # break other packages using the cache if that directory is
++    # removed, or if the value is a relative name.
++    test -d ./--version && rmdir ./--version
++    MKDIR_P="$ac_install_sh -d"
++  fi
++fi
++{ $as_echo "$as_me:$LINENO: result: $MKDIR_P" >&5
++$as_echo "$MKDIR_P" >&6; }
++
++mkdir_p="$MKDIR_P"
++case $mkdir_p in
++  [\\/$]* | ?:[\\/]*) ;;
++  */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;;
++esac
++
++for ac_prog in gawk mawk nawk awk
++do
++  # Extract the first word of "$ac_prog", so it can be a program name with args.
++set dummy $ac_prog; ac_word=$2
++{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
++$as_echo_n "checking for $ac_word... " >&6; }
++if test "${ac_cv_prog_AWK+set}" = set; then
++  $as_echo_n "(cached) " >&6
++else
++  if test -n "$AWK"; then
++  ac_cv_prog_AWK="$AWK" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++  IFS=$as_save_IFS
++  test -z "$as_dir" && as_dir=.
++  for ac_exec_ext in '' $ac_executable_extensions; do
++  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++    ac_cv_prog_AWK="$ac_prog"
++    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
++    break 2
++  fi
++done
++done
++IFS=$as_save_IFS
++
++fi
++fi
++AWK=$ac_cv_prog_AWK
++if test -n "$AWK"; then
++  { $as_echo "$as_me:$LINENO: result: $AWK" >&5
++$as_echo "$AWK" >&6; }
++else
++  { $as_echo "$as_me:$LINENO: result: no" >&5
++$as_echo "no" >&6; }
++fi
++
++
++  test -n "$AWK" && break
++done
++
++{ $as_echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5
++$as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; }
++set x ${MAKE-make}
++ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'`
++if { as_var=ac_cv_prog_make_${ac_make}_set; eval "test \"\${$as_var+set}\" = set"; }; then
++  $as_echo_n "(cached) " >&6
++else
++  cat >conftest.make <<\_ACEOF
++SHELL = /bin/sh
++all:
++	@echo '@@@%%%=$(MAKE)=@@@%%%'
++_ACEOF
++# GNU make sometimes prints "make[1]: Entering...", which would confuse us.
++case `${MAKE-make} -f conftest.make 2>/dev/null` in
++  *@@@%%%=?*=@@@%%%*)
++    eval ac_cv_prog_make_${ac_make}_set=yes;;
++  *)
++    eval ac_cv_prog_make_${ac_make}_set=no;;
++esac
++rm -f conftest.make
++fi
++if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then
++  { $as_echo "$as_me:$LINENO: result: yes" >&5
++$as_echo "yes" >&6; }
++  SET_MAKE=
++else
++  { $as_echo "$as_me:$LINENO: result: no" >&5
++$as_echo "no" >&6; }
++  SET_MAKE="MAKE=${MAKE-make}"
++fi
++
++rm -rf .tst 2>/dev/null
++mkdir .tst 2>/dev/null
++if test -d .tst; then
++  am__leading_dot=.
++else
++  am__leading_dot=_
++fi
++rmdir .tst 2>/dev/null
++
++if test "`cd $srcdir && pwd`" != "`pwd`"; then
++  # Use -I$(srcdir) only when $(srcdir) != ., so that make's output
++  # is not polluted with repeated "-I."
++  am__isrc=' -I$(srcdir)'
++  # test to see if srcdir already configured
++  if test -f $srcdir/config.status; then
++    { { $as_echo "$as_me:$LINENO: error: source directory already configured; run \"make distclean\" there first" >&5
++$as_echo "$as_me: error: source directory already configured; run \"make distclean\" there first" >&2;}
++   { (exit 1); exit 1; }; }
++  fi
++fi
++
++# test whether we have cygpath
++if test -z "$CYGPATH_W"; then
++  if (cygpath --version) >/dev/null 2>/dev/null; then
++    CYGPATH_W='cygpath -w'
++  else
++    CYGPATH_W=echo
++  fi
++fi
++
++
++# Define the identity of the package.
++ PACKAGE='xz'
++ VERSION='4.999.9beta'
++
++
++cat >>confdefs.h <<_ACEOF
++#define PACKAGE "$PACKAGE"
++_ACEOF
++
++
++cat >>confdefs.h <<_ACEOF
++#define VERSION "$VERSION"
++_ACEOF
++
++# Some tools Automake needs.
++
++ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"}
++
++
++AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"}
++
++
++AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"}
++
++
++AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"}
++
++
++MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"}
++
++# We need awk for the "check" target.  The system "awk" is bad on
++# some platforms.
++# Always define AMTAR for backward compatibility.
++
++AMTAR=${AMTAR-"${am_missing_run}tar"}
++
++am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'
++
++
++
++
++
++{ $as_echo "$as_me:$LINENO: checking whether ln -s works" >&5
++$as_echo_n "checking whether ln -s works... " >&6; }
++LN_S=$as_ln_s
++if test "$LN_S" = "ln -s"; then
++  { $as_echo "$as_me:$LINENO: result: yes" >&5
++$as_echo "yes" >&6; }
++else
++  { $as_echo "$as_me:$LINENO: result: no, using $LN_S" >&5
++$as_echo "no, using $LN_S" >&6; }
++fi
++
++
++DEPDIR="${am__leading_dot}deps"
++
++ac_config_commands="$ac_config_commands depfiles"
++
++
++am_make=${MAKE-make}
++cat > confinc << 'END'
++am__doit:
++	@echo this is the am__doit target
++.PHONY: am__doit
++END
++# If we don't find an include directive, just comment out the code.
++{ $as_echo "$as_me:$LINENO: checking for style of include used by $am_make" >&5
++$as_echo_n "checking for style of include used by $am_make... " >&6; }
++am__include="#"
++am__quote=
++_am_result=none
++# First try GNU make style include.
++echo "include confinc" > confmf
++# Ignore all kinds of additional output from `make'.
++case `$am_make -s -f confmf 2> /dev/null` in #(
++*the\ am__doit\ target*)
++  am__include=include
++  am__quote=
++  _am_result=GNU
++  ;;
++esac
++# Now try BSD make style include.
++if test "$am__include" = "#"; then
++   echo '.include "confinc"' > confmf
++   case `$am_make -s -f confmf 2> /dev/null` in #(
++   *the\ am__doit\ target*)
++     am__include=.include
++     am__quote="\""
++     _am_result=BSD
++     ;;
++   esac
++fi
++
++
++{ $as_echo "$as_me:$LINENO: result: $_am_result" >&5
++$as_echo "$_am_result" >&6; }
++rm -f confinc confmf
++
++# Check whether --enable-dependency-tracking was given.
++if test "${enable_dependency_tracking+set}" = set; then
++  enableval=$enable_dependency_tracking;
++fi
++
++if test "x$enable_dependency_tracking" != xno; then
++  am_depcomp="$ac_aux_dir/depcomp"
++  AMDEPBACKSLASH='\'
++fi
++ if test "x$enable_dependency_tracking" != xno; then
++  AMDEP_TRUE=
++  AMDEP_FALSE='#'
++else
++  AMDEP_TRUE='#'
++  AMDEP_FALSE=
++fi
++
++
++ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++if test -n "$ac_tool_prefix"; then
++  # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.
++set dummy ${ac_tool_prefix}gcc; ac_word=$2
++{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
++$as_echo_n "checking for $ac_word... " >&6; }
++if test "${ac_cv_prog_CC+set}" = set; then
++  $as_echo_n "(cached) " >&6
++else
++  if test -n "$CC"; then
++  ac_cv_prog_CC="$CC" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++  IFS=$as_save_IFS
++  test -z "$as_dir" && as_dir=.
++  for ac_exec_ext in '' $ac_executable_extensions; do
++  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++    ac_cv_prog_CC="${ac_tool_prefix}gcc"
++    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
++    break 2
++  fi
++done
++done
++IFS=$as_save_IFS
++
++fi
++fi
++CC=$ac_cv_prog_CC
++if test -n "$CC"; then
++  { $as_echo "$as_me:$LINENO: result: $CC" >&5
++$as_echo "$CC" >&6; }
++else
++  { $as_echo "$as_me:$LINENO: result: no" >&5
++$as_echo "no" >&6; }
++fi
++
++
++fi
++if test -z "$ac_cv_prog_CC"; then
++  ac_ct_CC=$CC
++  # Extract the first word of "gcc", so it can be a program name with args.
++set dummy gcc; ac_word=$2
++{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
++$as_echo_n "checking for $ac_word... " >&6; }
++if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
++  $as_echo_n "(cached) " >&6
++else
++  if test -n "$ac_ct_CC"; then
++  ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++  IFS=$as_save_IFS
++  test -z "$as_dir" && as_dir=.
++  for ac_exec_ext in '' $ac_executable_extensions; do
++  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++    ac_cv_prog_ac_ct_CC="gcc"
++    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
++    break 2
++  fi
++done
++done
++IFS=$as_save_IFS
++
++fi
++fi
++ac_ct_CC=$ac_cv_prog_ac_ct_CC
++if test -n "$ac_ct_CC"; then
++  { $as_echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
++$as_echo "$ac_ct_CC" >&6; }
++else
++  { $as_echo "$as_me:$LINENO: result: no" >&5
++$as_echo "no" >&6; }
++fi
++
++  if test "x$ac_ct_CC" = x; then
++    CC=""
++  else
++    case $cross_compiling:$ac_tool_warned in
++yes:)
++{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5
++$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
++ac_tool_warned=yes ;;
++esac
++    CC=$ac_ct_CC
++  fi
++else
++  CC="$ac_cv_prog_CC"
++fi
++
++if test -z "$CC"; then
++          if test -n "$ac_tool_prefix"; then
++    # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.
++set dummy ${ac_tool_prefix}cc; ac_word=$2
++{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
++$as_echo_n "checking for $ac_word... " >&6; }
++if test "${ac_cv_prog_CC+set}" = set; then
++  $as_echo_n "(cached) " >&6
++else
++  if test -n "$CC"; then
++  ac_cv_prog_CC="$CC" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++  IFS=$as_save_IFS
++  test -z "$as_dir" && as_dir=.
++  for ac_exec_ext in '' $ac_executable_extensions; do
++  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++    ac_cv_prog_CC="${ac_tool_prefix}cc"
++    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
++    break 2
++  fi
++done
++done
++IFS=$as_save_IFS
++
++fi
++fi
++CC=$ac_cv_prog_CC
++if test -n "$CC"; then
++  { $as_echo "$as_me:$LINENO: result: $CC" >&5
++$as_echo "$CC" >&6; }
++else
++  { $as_echo "$as_me:$LINENO: result: no" >&5
++$as_echo "no" >&6; }
++fi
++
++
++  fi
++fi
++if test -z "$CC"; then
++  # Extract the first word of "cc", so it can be a program name with args.
++set dummy cc; ac_word=$2
++{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
++$as_echo_n "checking for $ac_word... " >&6; }
++if test "${ac_cv_prog_CC+set}" = set; then
++  $as_echo_n "(cached) " >&6
++else
++  if test -n "$CC"; then
++  ac_cv_prog_CC="$CC" # Let the user override the test.
++else
++  ac_prog_rejected=no
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++  IFS=$as_save_IFS
++  test -z "$as_dir" && as_dir=.
++  for ac_exec_ext in '' $ac_executable_extensions; do
++  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++    if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
++       ac_prog_rejected=yes
++       continue
++     fi
++    ac_cv_prog_CC="cc"
++    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
++    break 2
++  fi
++done
++done
++IFS=$as_save_IFS
++
++if test $ac_prog_rejected = yes; then
++  # We found a bogon in the path, so make sure we never use it.
++  set dummy $ac_cv_prog_CC
++  shift
++  if test $# != 0; then
++    # We chose a different compiler from the bogus one.
++    # However, it has the same basename, so the bogon will be chosen
++    # first if we set CC to just the basename; use the full file name.
++    shift
++    ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@"
++  fi
++fi
++fi
++fi
++CC=$ac_cv_prog_CC
++if test -n "$CC"; then
++  { $as_echo "$as_me:$LINENO: result: $CC" >&5
++$as_echo "$CC" >&6; }
++else
++  { $as_echo "$as_me:$LINENO: result: no" >&5
++$as_echo "no" >&6; }
++fi
++
++
++fi
++if test -z "$CC"; then
++  if test -n "$ac_tool_prefix"; then
++  for ac_prog in cl.exe
++  do
++    # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
++set dummy $ac_tool_prefix$ac_prog; ac_word=$2
++{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
++$as_echo_n "checking for $ac_word... " >&6; }
++if test "${ac_cv_prog_CC+set}" = set; then
++  $as_echo_n "(cached) " >&6
++else
++  if test -n "$CC"; then
++  ac_cv_prog_CC="$CC" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++  IFS=$as_save_IFS
++  test -z "$as_dir" && as_dir=.
++  for ac_exec_ext in '' $ac_executable_extensions; do
++  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++    ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
++    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
++    break 2
++  fi
++done
++done
++IFS=$as_save_IFS
++
++fi
++fi
++CC=$ac_cv_prog_CC
++if test -n "$CC"; then
++  { $as_echo "$as_me:$LINENO: result: $CC" >&5
++$as_echo "$CC" >&6; }
++else
++  { $as_echo "$as_me:$LINENO: result: no" >&5
++$as_echo "no" >&6; }
++fi
++
++
++    test -n "$CC" && break
++  done
++fi
++if test -z "$CC"; then
++  ac_ct_CC=$CC
++  for ac_prog in cl.exe
++do
++  # Extract the first word of "$ac_prog", so it can be a program name with args.
++set dummy $ac_prog; ac_word=$2
++{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
++$as_echo_n "checking for $ac_word... " >&6; }
++if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
++  $as_echo_n "(cached) " >&6
++else
++  if test -n "$ac_ct_CC"; then
++  ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++  IFS=$as_save_IFS
++  test -z "$as_dir" && as_dir=.
++  for ac_exec_ext in '' $ac_executable_extensions; do
++  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++    ac_cv_prog_ac_ct_CC="$ac_prog"
++    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
++    break 2
++  fi
++done
++done
++IFS=$as_save_IFS
++
++fi
++fi
++ac_ct_CC=$ac_cv_prog_ac_ct_CC
++if test -n "$ac_ct_CC"; then
++  { $as_echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
++$as_echo "$ac_ct_CC" >&6; }
++else
++  { $as_echo "$as_me:$LINENO: result: no" >&5
++$as_echo "no" >&6; }
++fi
++
++
++  test -n "$ac_ct_CC" && break
++done
++
++  if test "x$ac_ct_CC" = x; then
++    CC=""
++  else
++    case $cross_compiling:$ac_tool_warned in
++yes:)
++{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5
++$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
++ac_tool_warned=yes ;;
++esac
++    CC=$ac_ct_CC
++  fi
++fi
++
++fi
++
++
++test -z "$CC" && { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
++$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
++{ { $as_echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH
++See \`config.log' for more details." >&5
++$as_echo "$as_me: error: no acceptable C compiler found in \$PATH
++See \`config.log' for more details." >&2;}
++   { (exit 1); exit 1; }; }; }
++
++# Provide some information about the compiler.
++$as_echo "$as_me:$LINENO: checking for C compiler version" >&5
++set X $ac_compile
++ac_compiler=$2
++{ (ac_try="$ac_compiler --version >&5"
++case "(($ac_try" in
++  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++  *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++  (eval "$ac_compiler --version >&5") 2>&5
++  ac_status=$?
++  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }
++{ (ac_try="$ac_compiler -v >&5"
++case "(($ac_try" in
++  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++  *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++  (eval "$ac_compiler -v >&5") 2>&5
++  ac_status=$?
++  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }
++{ (ac_try="$ac_compiler -V >&5"
++case "(($ac_try" in
++  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++  *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++  (eval "$ac_compiler -V >&5") 2>&5
++  ac_status=$?
++  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }
++
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++
++int
++main ()
++{
++
++  ;
++  return 0;
++}
++_ACEOF
++ac_clean_files_save=$ac_clean_files
++ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out"
++# Try to create an executable without -o first, disregard a.out.
++# It will help us diagnose broken compilers, and finding out an intuition
++# of exeext.
++{ $as_echo "$as_me:$LINENO: checking for C compiler default output file name" >&5
++$as_echo_n "checking for C compiler default output file name... " >&6; }
++ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
++
++# The possible output files:
++ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*"
++
++ac_rmfiles=
++for ac_file in $ac_files
++do
++  case $ac_file in
++    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
++    * ) ac_rmfiles="$ac_rmfiles $ac_file";;
++  esac
++done
++rm -f $ac_rmfiles
++
++if { (ac_try="$ac_link_default"
++case "(($ac_try" in
++  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++  *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++  (eval "$ac_link_default") 2>&5
++  ac_status=$?
++  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; then
++  # Autoconf-2.13 could set the ac_cv_exeext variable to `no'.
++# So ignore a value of `no', otherwise this would lead to `EXEEXT = no'
++# in a Makefile.  We should not override ac_cv_exeext if it was cached,
++# so that the user can short-circuit this test for compilers unknown to
++# Autoconf.
++for ac_file in $ac_files ''
++do
++  test -f "$ac_file" || continue
++  case $ac_file in
++    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj )
++	;;
++    [ab].out )
++	# We found the default executable, but exeext='' is most
++	# certainly right.
++	break;;
++    *.* )
++        if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no;
++	then :; else
++	   ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
++	fi
++	# We set ac_cv_exeext here because the later test for it is not
++	# safe: cross compilers may not add the suffix if given an `-o'
++	# argument, so we may need to know it at that point already.
++	# Even if this section looks crufty: it has the advantage of
++	# actually working.
++	break;;
++    * )
++	break;;
++  esac
++done
++test "$ac_cv_exeext" = no && ac_cv_exeext=
++
++else
++  ac_file=''
++fi
++
++{ $as_echo "$as_me:$LINENO: result: $ac_file" >&5
++$as_echo "$ac_file" >&6; }
++if test -z "$ac_file"; then
++  $as_echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++{ { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
++$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
++{ { $as_echo "$as_me:$LINENO: error: C compiler cannot create executables
++See \`config.log' for more details." >&5
++$as_echo "$as_me: error: C compiler cannot create executables
++See \`config.log' for more details." >&2;}
++   { (exit 77); exit 77; }; }; }
++fi
++
++ac_exeext=$ac_cv_exeext
++
++# Check that the compiler produces executables we can run.  If not, either
++# the compiler is broken, or we cross compile.
++{ $as_echo "$as_me:$LINENO: checking whether the C compiler works" >&5
++$as_echo_n "checking whether the C compiler works... " >&6; }
++# FIXME: These cross compiler hacks should be removed for Autoconf 3.0
++# If not cross compiling, check that we can run a simple program.
++if test "$cross_compiling" != yes; then
++  if { ac_try='./$ac_file'
++  { (case "(($ac_try" in
++  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++  *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++  (eval "$ac_try") 2>&5
++  ac_status=$?
++  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; }; then
++    cross_compiling=no
++  else
++    if test "$cross_compiling" = maybe; then
++	cross_compiling=yes
++    else
++	{ { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
++$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
++{ { $as_echo "$as_me:$LINENO: error: cannot run C compiled programs.
++If you meant to cross compile, use \`--host'.
++See \`config.log' for more details." >&5
++$as_echo "$as_me: error: cannot run C compiled programs.
++If you meant to cross compile, use \`--host'.
++See \`config.log' for more details." >&2;}
++   { (exit 1); exit 1; }; }; }
++    fi
++  fi
++fi
++{ $as_echo "$as_me:$LINENO: result: yes" >&5
++$as_echo "yes" >&6; }
++
++rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out
++ac_clean_files=$ac_clean_files_save
++# Check that the compiler produces executables we can run.  If not, either
++# the compiler is broken, or we cross compile.
++{ $as_echo "$as_me:$LINENO: checking whether we are cross compiling" >&5
++$as_echo_n "checking whether we are cross compiling... " >&6; }
++{ $as_echo "$as_me:$LINENO: result: $cross_compiling" >&5
++$as_echo "$cross_compiling" >&6; }
++
++{ $as_echo "$as_me:$LINENO: checking for suffix of executables" >&5
++$as_echo_n "checking for suffix of executables... " >&6; }
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++  *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++  (eval "$ac_link") 2>&5
++  ac_status=$?
++  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; then
++  # If both `conftest.exe' and `conftest' are `present' (well, observable)
++# catch `conftest.exe'.  For instance with Cygwin, `ls conftest' will
++# work properly (i.e., refer to `conftest.exe'), while it won't with
++# `rm'.
++for ac_file in conftest.exe conftest conftest.*; do
++  test -f "$ac_file" || continue
++  case $ac_file in
++    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
++    *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
++	  break;;
++    * ) break;;
++  esac
++done
++else
++  { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
++$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
++{ { $as_echo "$as_me:$LINENO: error: cannot compute suffix of executables: cannot compile and link
++See \`config.log' for more details." >&5
++$as_echo "$as_me: error: cannot compute suffix of executables: cannot compile and link
++See \`config.log' for more details." >&2;}
++   { (exit 1); exit 1; }; }; }
++fi
++
++rm -f conftest$ac_cv_exeext
++{ $as_echo "$as_me:$LINENO: result: $ac_cv_exeext" >&5
++$as_echo "$ac_cv_exeext" >&6; }
++
++rm -f conftest.$ac_ext
++EXEEXT=$ac_cv_exeext
++ac_exeext=$EXEEXT
++{ $as_echo "$as_me:$LINENO: checking for suffix of object files" >&5
++$as_echo_n "checking for suffix of object files... " >&6; }
++if test "${ac_cv_objext+set}" = set; then
++  $as_echo_n "(cached) " >&6
++else
++  cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++
++int
++main ()
++{
++
++  ;
++  return 0;
++}
++_ACEOF
++rm -f conftest.o conftest.obj
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++  *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++  (eval "$ac_compile") 2>&5
++  ac_status=$?
++  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; then
++  for ac_file in conftest.o conftest.obj conftest.*; do
++  test -f "$ac_file" || continue;
++  case $ac_file in
++    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;;
++    *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'`
++       break;;
++  esac
++done
++else
++  $as_echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++{ { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
++$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
++{ { $as_echo "$as_me:$LINENO: error: cannot compute suffix of object files: cannot compile
++See \`config.log' for more details." >&5
++$as_echo "$as_me: error: cannot compute suffix of object files: cannot compile
++See \`config.log' for more details." >&2;}
++   { (exit 1); exit 1; }; }; }
++fi
++
++rm -f conftest.$ac_cv_objext conftest.$ac_ext
++fi
++{ $as_echo "$as_me:$LINENO: result: $ac_cv_objext" >&5
++$as_echo "$ac_cv_objext" >&6; }
++OBJEXT=$ac_cv_objext
++ac_objext=$OBJEXT
++{ $as_echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5
++$as_echo_n "checking whether we are using the GNU C compiler... " >&6; }
++if test "${ac_cv_c_compiler_gnu+set}" = set; then
++  $as_echo_n "(cached) " >&6
++else
++  cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++
++int
++main ()
++{
++#ifndef __GNUC__
++       choke me
++#endif
++
++  ;
++  return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++  *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++  (eval "$ac_compile") 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } && {
++	 test -z "$ac_c_werror_flag" ||
++	 test ! -s conftest.err
++       } && test -s conftest.$ac_objext; then
++  ac_compiler_gnu=yes
++else
++  $as_echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++	ac_compiler_gnu=no
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++ac_cv_c_compiler_gnu=$ac_compiler_gnu
++
++fi
++{ $as_echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5
++$as_echo "$ac_cv_c_compiler_gnu" >&6; }
++if test $ac_compiler_gnu = yes; then
++  GCC=yes
++else
++  GCC=
++fi
++ac_test_CFLAGS=${CFLAGS+set}
++ac_save_CFLAGS=$CFLAGS
++{ $as_echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5
++$as_echo_n "checking whether $CC accepts -g... " >&6; }
++if test "${ac_cv_prog_cc_g+set}" = set; then
++  $as_echo_n "(cached) " >&6
++else
++  ac_save_c_werror_flag=$ac_c_werror_flag
++   ac_c_werror_flag=yes
++   ac_cv_prog_cc_g=no
++   CFLAGS="-g"
++   cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++
++int
++main ()
++{
++
++  ;
++  return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++  *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++  (eval "$ac_compile") 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } && {
++	 test -z "$ac_c_werror_flag" ||
++	 test ! -s conftest.err
++       } && test -s conftest.$ac_objext; then
++  ac_cv_prog_cc_g=yes
++else
++  $as_echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++	CFLAGS=""
++      cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++
++int
++main ()
++{
++
++  ;
++  return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++  *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++  (eval "$ac_compile") 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } && {
++	 test -z "$ac_c_werror_flag" ||
++	 test ! -s conftest.err
++       } && test -s conftest.$ac_objext; then
++  :
++else
++  $as_echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++	ac_c_werror_flag=$ac_save_c_werror_flag
++	 CFLAGS="-g"
++	 cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++
++int
++main ()
++{
++
++  ;
++  return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++  *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++  (eval "$ac_compile") 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } && {
++	 test -z "$ac_c_werror_flag" ||
++	 test ! -s conftest.err
++       } && test -s conftest.$ac_objext; then
++  ac_cv_prog_cc_g=yes
++else
++  $as_echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++   ac_c_werror_flag=$ac_save_c_werror_flag
++fi
++{ $as_echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5
++$as_echo "$ac_cv_prog_cc_g" >&6; }
++if test "$ac_test_CFLAGS" = set; then
++  CFLAGS=$ac_save_CFLAGS
++elif test $ac_cv_prog_cc_g = yes; then
++  if test "$GCC" = yes; then
++    CFLAGS="-g -O2"
++  else
++    CFLAGS="-g"
++  fi
++else
++  if test "$GCC" = yes; then
++    CFLAGS="-O2"
++  else
++    CFLAGS=
++  fi
++fi
++{ $as_echo "$as_me:$LINENO: checking for $CC option to accept ISO C89" >&5
++$as_echo_n "checking for $CC option to accept ISO C89... " >&6; }
++if test "${ac_cv_prog_cc_c89+set}" = set; then
++  $as_echo_n "(cached) " >&6
++else
++  ac_cv_prog_cc_c89=no
++ac_save_CC=$CC
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++#include <stdarg.h>
++#include <stdio.h>
++#include <sys/types.h>
++#include <sys/stat.h>
++/* Most of the following tests are stolen from RCS 5.7's src/conf.sh.  */
++struct buf { int x; };
++FILE * (*rcsopen) (struct buf *, struct stat *, int);
++static char *e (p, i)
++     char **p;
++     int i;
++{
++  return p[i];
++}
++static char *f (char * (*g) (char **, int), char **p, ...)
++{
++  char *s;
++  va_list v;
++  va_start (v,p);
++  s = g (p, va_arg (v,int));
++  va_end (v);
++  return s;
++}
++
++/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default.  It has
++   function prototypes and stuff, but not '\xHH' hex character constants.
++   These don't provoke an error unfortunately, instead are silently treated
++   as 'x'.  The following induces an error, until -std is added to get
++   proper ANSI mode.  Curiously '\x00'!='x' always comes out true, for an
++   array size at least.  It's necessary to write '\x00'==0 to get something
++   that's true only with -std.  */
++int osf4_cc_array ['\x00' == 0 ? 1 : -1];
++
++/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters
++   inside strings and character constants.  */
++#define FOO(x) 'x'
++int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1];
++
++int test (int i, double x);
++struct s1 {int (*f) (int a);};
++struct s2 {int (*f) (double a);};
++int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int);
++int argc;
++char **argv;
++int
++main ()
++{
++return f (e, argv, 0) != argv[0]  ||  f (e, argv, 1) != argv[1];
++  ;
++  return 0;
++}
++_ACEOF
++for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \
++	-Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
++do
++  CC="$ac_save_CC $ac_arg"
++  rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++  *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++  (eval "$ac_compile") 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } && {
++	 test -z "$ac_c_werror_flag" ||
++	 test ! -s conftest.err
++       } && test -s conftest.$ac_objext; then
++  ac_cv_prog_cc_c89=$ac_arg
++else
++  $as_echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++
++fi
++
++rm -f core conftest.err conftest.$ac_objext
++  test "x$ac_cv_prog_cc_c89" != "xno" && break
++done
++rm -f conftest.$ac_ext
++CC=$ac_save_CC
++
++fi
++# AC_CACHE_VAL
++case "x$ac_cv_prog_cc_c89" in
++  x)
++    { $as_echo "$as_me:$LINENO: result: none needed" >&5
++$as_echo "none needed" >&6; } ;;
++  xno)
++    { $as_echo "$as_me:$LINENO: result: unsupported" >&5
++$as_echo "unsupported" >&6; } ;;
++  *)
++    CC="$CC $ac_cv_prog_cc_c89"
++    { $as_echo "$as_me:$LINENO: result: $ac_cv_prog_cc_c89" >&5
++$as_echo "$ac_cv_prog_cc_c89" >&6; } ;;
++esac
++
++
++ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++
++depcc="$CC"   am_compiler_list=
++
++{ $as_echo "$as_me:$LINENO: checking dependency style of $depcc" >&5
++$as_echo_n "checking dependency style of $depcc... " >&6; }
++if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then
++  $as_echo_n "(cached) " >&6
++else
++  if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
++  # We make a subdir and do the tests there.  Otherwise we can end up
++  # making bogus files that we don't know about and never remove.  For
++  # instance it was reported that on HP-UX the gcc test will end up
++  # making a dummy file named `D' -- because `-MD' means `put the output
++  # in D'.
++  mkdir conftest.dir
++  # Copy depcomp to subdir because otherwise we won't find it if we're
++  # using a relative directory.
++  cp "$am_depcomp" conftest.dir
++  cd conftest.dir
++  # We will build objects and dependencies in a subdirectory because
++  # it helps to detect inapplicable dependency modes.  For instance
++  # both Tru64's cc and ICC support -MD to output dependencies as a
++  # side effect of compilation, but ICC will put the dependencies in
++  # the current directory while Tru64 will put them in the object
++  # directory.
++  mkdir sub
++
++  am_cv_CC_dependencies_compiler_type=none
++  if test "$am_compiler_list" = ""; then
++     am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
++  fi
++  am__universal=false
++  case " $depcc " in #(
++     *\ -arch\ *\ -arch\ *) am__universal=true ;;
++     esac
++
++  for depmode in $am_compiler_list; do
++    # Setup a source with many dependencies, because some compilers
++    # like to wrap large dependency lists on column 80 (with \), and
++    # we should not choose a depcomp mode which is confused by this.
++    #
++    # We need to recreate these files for each test, as the compiler may
++    # overwrite some of them when testing with obscure command lines.
++    # This happens at least with the AIX C compiler.
++    : > sub/conftest.c
++    for i in 1 2 3 4 5 6; do
++      echo '#include "conftst'$i'.h"' >> sub/conftest.c
++      # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
++      # Solaris 8's {/usr,}/bin/sh.
++      touch sub/conftst$i.h
++    done
++    echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
++
++    # We check with `-c' and `-o' for the sake of the "dashmstdout"
++    # mode.  It turns out that the SunPro C++ compiler does not properly
++    # handle `-M -o', and we need to detect this.  Also, some Intel
++    # versions had trouble with output in subdirs
++    am__obj=sub/conftest.${OBJEXT-o}
++    am__minus_obj="-o $am__obj"
++    case $depmode in
++    gcc)
++      # This depmode causes a compiler race in universal mode.
++      test "$am__universal" = false || continue
++      ;;
++    nosideeffect)
++      # after this tag, mechanisms are not by side-effect, so they'll
++      # only be used when explicitly requested
++      if test "x$enable_dependency_tracking" = xyes; then
++	continue
++      else
++	break
++      fi
++      ;;
++    msvisualcpp | msvcmsys)
++      # This compiler won't grok `-c -o', but also, the minuso test has
++      # not run yet.  These depmodes are late enough in the game, and
++      # so weak that their functioning should not be impacted.
++      am__obj=conftest.${OBJEXT-o}
++      am__minus_obj=
++      ;;
++    none) break ;;
++    esac
++    if depmode=$depmode \
++       source=sub/conftest.c object=$am__obj \
++       depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
++       $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
++         >/dev/null 2>conftest.err &&
++       grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
++       grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
++       grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
++       ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
++      # icc doesn't choke on unknown options, it will just issue warnings
++      # or remarks (even with -Werror).  So we grep stderr for any message
++      # that says an option was ignored or not supported.
++      # When given -MP, icc 7.0 and 7.1 complain thusly:
++      #   icc: Command line warning: ignoring option '-M'; no argument required
++      # The diagnosis changed in icc 8.0:
++      #   icc: Command line remark: option '-MP' not supported
++      if (grep 'ignoring option' conftest.err ||
++          grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
++        am_cv_CC_dependencies_compiler_type=$depmode
++        break
++      fi
++    fi
++  done
++
++  cd ..
++  rm -rf conftest.dir
++else
++  am_cv_CC_dependencies_compiler_type=none
++fi
++
++fi
++{ $as_echo "$as_me:$LINENO: result: $am_cv_CC_dependencies_compiler_type" >&5
++$as_echo "$am_cv_CC_dependencies_compiler_type" >&6; }
++CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type
++
++ if
++  test "x$enable_dependency_tracking" != xno \
++  && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then
++  am__fastdepCC_TRUE=
++  am__fastdepCC_FALSE='#'
++else
++  am__fastdepCC_TRUE='#'
++  am__fastdepCC_FALSE=
++fi
++
++
++   { $as_echo "$as_me:$LINENO: checking for $CC option to accept ISO C99" >&5
++$as_echo_n "checking for $CC option to accept ISO C99... " >&6; }
++if test "${ac_cv_prog_cc_c99+set}" = set; then
++  $as_echo_n "(cached) " >&6
++else
++  ac_cv_prog_cc_c99=no
++ac_save_CC=$CC
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++#include <stdarg.h>
++#include <stdbool.h>
++#include <stdlib.h>
++#include <wchar.h>
++#include <stdio.h>
++
++// Check varargs macros.  These examples are taken from C99 6.10.3.5.
++#define debug(...) fprintf (stderr, __VA_ARGS__)
++#define showlist(...) puts (#__VA_ARGS__)
++#define report(test,...) ((test) ? puts (#test) : printf (__VA_ARGS__))
++static void
++test_varargs_macros (void)
++{
++  int x = 1234;
++  int y = 5678;
++  debug ("Flag");
++  debug ("X = %d\n", x);
++  showlist (The first, second, and third items.);
++  report (x>y, "x is %d but y is %d", x, y);
++}
++
++// Check long long types.
++#define BIG64 18446744073709551615ull
++#define BIG32 4294967295ul
++#define BIG_OK (BIG64 / BIG32 == 4294967297ull && BIG64 % BIG32 == 0)
++#if !BIG_OK
++  your preprocessor is broken;
++#endif
++#if BIG_OK
++#else
++  your preprocessor is broken;
++#endif
++static long long int bignum = -9223372036854775807LL;
++static unsigned long long int ubignum = BIG64;
++
++struct incomplete_array
++{
++  int datasize;
++  double data[];
++};
++
++struct named_init {
++  int number;
++  const wchar_t *name;
++  double average;
++};
++
++typedef const char *ccp;
++
++static inline int
++test_restrict (ccp restrict text)
++{
++  // See if C++-style comments work.
++  // Iterate through items via the restricted pointer.
++  // Also check for declarations in for loops.
++  for (unsigned int i = 0; *(text+i) != '\0'; ++i)
++    continue;
++  return 0;
++}
++
++// Check varargs and va_copy.
++static void
++test_varargs (const char *format, ...)
++{
++  va_list args;
++  va_start (args, format);
++  va_list args_copy;
++  va_copy (args_copy, args);
++
++  const char *str;
++  int number;
++  float fnumber;
++
++  while (*format)
++    {
++      switch (*format++)
++	{
++	case 's': // string
++	  str = va_arg (args_copy, const char *);
++	  break;
++	case 'd': // int
++	  number = va_arg (args_copy, int);
++	  break;
++	case 'f': // float
++	  fnumber = va_arg (args_copy, double);
++	  break;
++	default:
++	  break;
++	}
++    }
++  va_end (args_copy);
++  va_end (args);
++}
++
++int
++main ()
++{
++
++  // Check bool.
++  _Bool success = false;
++
++  // Check restrict.
++  if (test_restrict ("String literal") == 0)
++    success = true;
++  char *restrict newvar = "Another string";
++
++  // Check varargs.
++  test_varargs ("s, d' f .", "string", 65, 34.234);
++  test_varargs_macros ();
++
++  // Check flexible array members.
++  struct incomplete_array *ia =
++    malloc (sizeof (struct incomplete_array) + (sizeof (double) * 10));
++  ia->datasize = 10;
++  for (int i = 0; i < ia->datasize; ++i)
++    ia->data[i] = i * 1.234;
++
++  // Check named initializers.
++  struct named_init ni = {
++    .number = 34,
++    .name = L"Test wide string",
++    .average = 543.34343,
++  };
++
++  ni.number = 58;
++
++  int dynamic_array[ni.number];
++  dynamic_array[ni.number - 1] = 543;
++
++  // work around unused variable warnings
++  return (!success || bignum == 0LL || ubignum == 0uLL || newvar[0] == 'x'
++	  || dynamic_array[ni.number - 1] != 543);
++
++  ;
++  return 0;
++}
++_ACEOF
++for ac_arg in '' -std=gnu99 -std=c99 -c99 -AC99 -xc99=all -qlanglvl=extc99
++do
++  CC="$ac_save_CC $ac_arg"
++  rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++  *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++  (eval "$ac_compile") 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } && {
++	 test -z "$ac_c_werror_flag" ||
++	 test ! -s conftest.err
++       } && test -s conftest.$ac_objext; then
++  ac_cv_prog_cc_c99=$ac_arg
++else
++  $as_echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++
++fi
++
++rm -f core conftest.err conftest.$ac_objext
++  test "x$ac_cv_prog_cc_c99" != "xno" && break
++done
++rm -f conftest.$ac_ext
++CC=$ac_save_CC
++
++fi
++# AC_CACHE_VAL
++case "x$ac_cv_prog_cc_c99" in
++  x)
++    { $as_echo "$as_me:$LINENO: result: none needed" >&5
++$as_echo "none needed" >&6; } ;;
++  xno)
++    { $as_echo "$as_me:$LINENO: result: unsupported" >&5
++$as_echo "unsupported" >&6; } ;;
++  *)
++    CC="$CC $ac_cv_prog_cc_c99"
++    { $as_echo "$as_me:$LINENO: result: $ac_cv_prog_cc_c99" >&5
++$as_echo "$ac_cv_prog_cc_c99" >&6; } ;;
++esac
++
++
++
++if test x$ac_cv_prog_cc_c99 = xno ; then
++	{ { $as_echo "$as_me:$LINENO: error: No C99 compiler was found." >&5
++$as_echo "$as_me: error: No C99 compiler was found." >&2;}
++   { (exit 1); exit 1; }; }
++fi
++
++if test "x$CC" != xcc; then
++  { $as_echo "$as_me:$LINENO: checking whether $CC and cc understand -c and -o together" >&5
++$as_echo_n "checking whether $CC and cc understand -c and -o together... " >&6; }
++else
++  { $as_echo "$as_me:$LINENO: checking whether cc understands -c and -o together" >&5
++$as_echo_n "checking whether cc understands -c and -o together... " >&6; }
++fi
++set dummy $CC; ac_cc=`$as_echo "$2" |
++		      sed 's/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/'`
++if { as_var=ac_cv_prog_cc_${ac_cc}_c_o; eval "test \"\${$as_var+set}\" = set"; }; then
++  $as_echo_n "(cached) " >&6
++else
++  cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++
++int
++main ()
++{
++
++  ;
++  return 0;
++}
++_ACEOF
++# Make sure it works both with $CC and with simple cc.
++# We do the test twice because some compilers refuse to overwrite an
++# existing .o file with -o, though they will create one.
++ac_try='$CC -c conftest.$ac_ext -o conftest2.$ac_objext >&5'
++rm -f conftest2.*
++if { (case "(($ac_try" in
++  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++  *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++  (eval "$ac_try") 2>&5
++  ac_status=$?
++  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } &&
++   test -f conftest2.$ac_objext && { (case "(($ac_try" in
++  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++  *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++  (eval "$ac_try") 2>&5
++  ac_status=$?
++  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); };
++then
++  eval ac_cv_prog_cc_${ac_cc}_c_o=yes
++  if test "x$CC" != xcc; then
++    # Test first that cc exists at all.
++    if { ac_try='cc -c conftest.$ac_ext >&5'
++  { (case "(($ac_try" in
++  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++  *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++  (eval "$ac_try") 2>&5
++  ac_status=$?
++  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; }; then
++      ac_try='cc -c conftest.$ac_ext -o conftest2.$ac_objext >&5'
++      rm -f conftest2.*
++      if { (case "(($ac_try" in
++  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++  *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++  (eval "$ac_try") 2>&5
++  ac_status=$?
++  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } &&
++	 test -f conftest2.$ac_objext && { (case "(($ac_try" in
++  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++  *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++  (eval "$ac_try") 2>&5
++  ac_status=$?
++  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); };
++      then
++	# cc works too.
++	:
++      else
++	# cc exists but doesn't like -o.
++	eval ac_cv_prog_cc_${ac_cc}_c_o=no
++      fi
++    fi
++  fi
++else
++  eval ac_cv_prog_cc_${ac_cc}_c_o=no
++fi
++rm -f core conftest*
++
++fi
++if eval test \$ac_cv_prog_cc_${ac_cc}_c_o = yes; then
++  { $as_echo "$as_me:$LINENO: result: yes" >&5
++$as_echo "yes" >&6; }
++else
++  { $as_echo "$as_me:$LINENO: result: no" >&5
++$as_echo "no" >&6; }
++
++cat >>confdefs.h <<\_ACEOF
++#define NO_MINUS_C_MINUS_O 1
++_ACEOF
++
++fi
++
++# FIXME: we rely on the cache variable name because
++# there is no other way.
++set dummy $CC
++am_cc=`echo $2 | sed 's/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/'`
++eval am_t=\$ac_cv_prog_cc_${am_cc}_c_o
++if test "$am_t" != yes; then
++   # Losing compiler, so override with the script.
++   # FIXME: It is wrong to rewrite CC.
++   # But if we don't then we get into trouble of one sort or another.
++   # A longer-term fix would be to have automake use am__CC in this case,
++   # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)"
++   CC="$am_aux_dir/compile $CC"
++fi
++
++
++# By default we simply use the C compiler to build assembly code.
++
++test "${CCAS+set}" = set || CCAS=$CC
++test "${CCASFLAGS+set}" = set || CCASFLAGS=$CFLAGS
++
++
++
++depcc="$CCAS"   am_compiler_list=
++
++{ $as_echo "$as_me:$LINENO: checking dependency style of $depcc" >&5
++$as_echo_n "checking dependency style of $depcc... " >&6; }
++if test "${am_cv_CCAS_dependencies_compiler_type+set}" = set; then
++  $as_echo_n "(cached) " >&6
++else
++  if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
++  # We make a subdir and do the tests there.  Otherwise we can end up
++  # making bogus files that we don't know about and never remove.  For
++  # instance it was reported that on HP-UX the gcc test will end up
++  # making a dummy file named `D' -- because `-MD' means `put the output
++  # in D'.
++  mkdir conftest.dir
++  # Copy depcomp to subdir because otherwise we won't find it if we're
++  # using a relative directory.
++  cp "$am_depcomp" conftest.dir
++  cd conftest.dir
++  # We will build objects and dependencies in a subdirectory because
++  # it helps to detect inapplicable dependency modes.  For instance
++  # both Tru64's cc and ICC support -MD to output dependencies as a
++  # side effect of compilation, but ICC will put the dependencies in
++  # the current directory while Tru64 will put them in the object
++  # directory.
++  mkdir sub
++
++  am_cv_CCAS_dependencies_compiler_type=none
++  if test "$am_compiler_list" = ""; then
++     am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
++  fi
++  am__universal=false
++
++
++  for depmode in $am_compiler_list; do
++    # Setup a source with many dependencies, because some compilers
++    # like to wrap large dependency lists on column 80 (with \), and
++    # we should not choose a depcomp mode which is confused by this.
++    #
++    # We need to recreate these files for each test, as the compiler may
++    # overwrite some of them when testing with obscure command lines.
++    # This happens at least with the AIX C compiler.
++    : > sub/conftest.c
++    for i in 1 2 3 4 5 6; do
++      echo '#include "conftst'$i'.h"' >> sub/conftest.c
++      # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
++      # Solaris 8's {/usr,}/bin/sh.
++      touch sub/conftst$i.h
++    done
++    echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
++
++    # We check with `-c' and `-o' for the sake of the "dashmstdout"
++    # mode.  It turns out that the SunPro C++ compiler does not properly
++    # handle `-M -o', and we need to detect this.  Also, some Intel
++    # versions had trouble with output in subdirs
++    am__obj=sub/conftest.${OBJEXT-o}
++    am__minus_obj="-o $am__obj"
++    case $depmode in
++    gcc)
++      # This depmode causes a compiler race in universal mode.
++      test "$am__universal" = false || continue
++      ;;
++    nosideeffect)
++      # after this tag, mechanisms are not by side-effect, so they'll
++      # only be used when explicitly requested
++      if test "x$enable_dependency_tracking" = xyes; then
++	continue
++      else
++	break
++      fi
++      ;;
++    msvisualcpp | msvcmsys)
++      # This compiler won't grok `-c -o', but also, the minuso test has
++      # not run yet.  These depmodes are late enough in the game, and
++      # so weak that their functioning should not be impacted.
++      am__obj=conftest.${OBJEXT-o}
++      am__minus_obj=
++      ;;
++    none) break ;;
++    esac
++    if depmode=$depmode \
++       source=sub/conftest.c object=$am__obj \
++       depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
++       $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
++         >/dev/null 2>conftest.err &&
++       grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
++       grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
++       grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
++       ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
++      # icc doesn't choke on unknown options, it will just issue warnings
++      # or remarks (even with -Werror).  So we grep stderr for any message
++      # that says an option was ignored or not supported.
++      # When given -MP, icc 7.0 and 7.1 complain thusly:
++      #   icc: Command line warning: ignoring option '-M'; no argument required
++      # The diagnosis changed in icc 8.0:
++      #   icc: Command line remark: option '-MP' not supported
++      if (grep 'ignoring option' conftest.err ||
++          grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
++        am_cv_CCAS_dependencies_compiler_type=$depmode
++        break
++      fi
++    fi
++  done
++
++  cd ..
++  rm -rf conftest.dir
++else
++  am_cv_CCAS_dependencies_compiler_type=none
++fi
++
++fi
++{ $as_echo "$as_me:$LINENO: result: $am_cv_CCAS_dependencies_compiler_type" >&5
++$as_echo "$am_cv_CCAS_dependencies_compiler_type" >&6; }
++CCASDEPMODE=depmode=$am_cv_CCAS_dependencies_compiler_type
++
++ if
++  test "x$enable_dependency_tracking" != xno \
++  && test "$am_cv_CCAS_dependencies_compiler_type" = gcc3; then
++  am__fastdepCCAS_TRUE=
++  am__fastdepCCAS_FALSE='#'
++else
++  am__fastdepCCAS_TRUE='#'
++  am__fastdepCCAS_FALSE=
++fi
++
++
++
++ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++{ $as_echo "$as_me:$LINENO: checking how to run the C preprocessor" >&5
++$as_echo_n "checking how to run the C preprocessor... " >&6; }
++# On Suns, sometimes $CPP names a directory.
++if test -n "$CPP" && test -d "$CPP"; then
++  CPP=
++fi
++if test -z "$CPP"; then
++  if test "${ac_cv_prog_CPP+set}" = set; then
++  $as_echo_n "(cached) " >&6
++else
++      # Double quotes because CPP needs to be expanded
++    for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp"
++    do
++      ac_preproc_ok=false
++for ac_c_preproc_warn_flag in '' yes
++do
++  # Use a header file that comes with gcc, so configuring glibc
++  # with a fresh cross-compiler works.
++  # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
++  # <limits.h> exists even on freestanding compilers.
++  # On the NeXT, cc -E runs the code through the compiler's parser,
++  # not just through cpp. "Syntax error" is here to catch this case.
++  cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++#ifdef __STDC__
++# include <limits.h>
++#else
++# include <assert.h>
++#endif
++		     Syntax error
++_ACEOF
++if { (ac_try="$ac_cpp conftest.$ac_ext"
++case "(($ac_try" in
++  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++  *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } >/dev/null && {
++	 test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
++	 test ! -s conftest.err
++       }; then
++  :
++else
++  $as_echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++  # Broken: fails on valid input.
++continue
++fi
++
++rm -f conftest.err conftest.$ac_ext
++
++  # OK, works on sane cases.  Now check whether nonexistent headers
++  # can be detected and how.
++  cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++#include <ac_nonexistent.h>
++_ACEOF
++if { (ac_try="$ac_cpp conftest.$ac_ext"
++case "(($ac_try" in
++  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++  *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } >/dev/null && {
++	 test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
++	 test ! -s conftest.err
++       }; then
++  # Broken: success on invalid input.
++continue
++else
++  $as_echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++  # Passes both tests.
++ac_preproc_ok=:
++break
++fi
++
++rm -f conftest.err conftest.$ac_ext
++
++done
++# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
++rm -f conftest.err conftest.$ac_ext
++if $ac_preproc_ok; then
++  break
++fi
++
++    done
++    ac_cv_prog_CPP=$CPP
++
++fi
++  CPP=$ac_cv_prog_CPP
++else
++  ac_cv_prog_CPP=$CPP
++fi
++{ $as_echo "$as_me:$LINENO: result: $CPP" >&5
++$as_echo "$CPP" >&6; }
++ac_preproc_ok=false
++for ac_c_preproc_warn_flag in '' yes
++do
++  # Use a header file that comes with gcc, so configuring glibc
++  # with a fresh cross-compiler works.
++  # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
++  # <limits.h> exists even on freestanding compilers.
++  # On the NeXT, cc -E runs the code through the compiler's parser,
++  # not just through cpp. "Syntax error" is here to catch this case.
++  cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++#ifdef __STDC__
++# include <limits.h>
++#else
++# include <assert.h>
++#endif
++		     Syntax error
++_ACEOF
++if { (ac_try="$ac_cpp conftest.$ac_ext"
++case "(($ac_try" in
++  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++  *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } >/dev/null && {
++	 test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
++	 test ! -s conftest.err
++       }; then
++  :
++else
++  $as_echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++  # Broken: fails on valid input.
++continue
++fi
++
++rm -f conftest.err conftest.$ac_ext
++
++  # OK, works on sane cases.  Now check whether nonexistent headers
++  # can be detected and how.
++  cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++#include <ac_nonexistent.h>
++_ACEOF
++if { (ac_try="$ac_cpp conftest.$ac_ext"
++case "(($ac_try" in
++  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++  *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } >/dev/null && {
++	 test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
++	 test ! -s conftest.err
++       }; then
++  # Broken: success on invalid input.
++continue
++else
++  $as_echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++  # Passes both tests.
++ac_preproc_ok=:
++break
++fi
++
++rm -f conftest.err conftest.$ac_ext
++
++done
++# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
++rm -f conftest.err conftest.$ac_ext
++if $ac_preproc_ok; then
++  :
++else
++  { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
++$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
++{ { $as_echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check
++See \`config.log' for more details." >&5
++$as_echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check
++See \`config.log' for more details." >&2;}
++   { (exit 1); exit 1; }; }; }
++fi
++
++ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++
++
++{ $as_echo "$as_me:$LINENO: checking for grep that handles long lines and -e" >&5
++$as_echo_n "checking for grep that handles long lines and -e... " >&6; }
++if test "${ac_cv_path_GREP+set}" = set; then
++  $as_echo_n "(cached) " >&6
++else
++  if test -z "$GREP"; then
++  ac_path_GREP_found=false
++  # Loop through the user's path and test for each of PROGNAME-LIST
++  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
++do
++  IFS=$as_save_IFS
++  test -z "$as_dir" && as_dir=.
++  for ac_prog in grep ggrep; do
++    for ac_exec_ext in '' $ac_executable_extensions; do
++      ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
++      { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue
++# Check for GNU ac_path_GREP and select it if it is found.
++  # Check for GNU $ac_path_GREP
++case `"$ac_path_GREP" --version 2>&1` in
++*GNU*)
++  ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;;
++*)
++  ac_count=0
++  $as_echo_n 0123456789 >"conftest.in"
++  while :
++  do
++    cat "conftest.in" "conftest.in" >"conftest.tmp"
++    mv "conftest.tmp" "conftest.in"
++    cp "conftest.in" "conftest.nl"
++    $as_echo 'GREP' >> "conftest.nl"
++    "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break
++    diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
++    ac_count=`expr $ac_count + 1`
++    if test $ac_count -gt ${ac_path_GREP_max-0}; then
++      # Best one so far, save it but keep looking for a better one
++      ac_cv_path_GREP="$ac_path_GREP"
++      ac_path_GREP_max=$ac_count
++    fi
++    # 10*(2^10) chars as input seems more than enough
++    test $ac_count -gt 10 && break
++  done
++  rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
++esac
++
++      $ac_path_GREP_found && break 3
++    done
++  done
++done
++IFS=$as_save_IFS
++  if test -z "$ac_cv_path_GREP"; then
++    { { $as_echo "$as_me:$LINENO: error: no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5
++$as_echo "$as_me: error: no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;}
++   { (exit 1); exit 1; }; }
++  fi
++else
++  ac_cv_path_GREP=$GREP
++fi
++
++fi
++{ $as_echo "$as_me:$LINENO: result: $ac_cv_path_GREP" >&5
++$as_echo "$ac_cv_path_GREP" >&6; }
++ GREP="$ac_cv_path_GREP"
++
++
++{ $as_echo "$as_me:$LINENO: checking for egrep" >&5
++$as_echo_n "checking for egrep... " >&6; }
++if test "${ac_cv_path_EGREP+set}" = set; then
++  $as_echo_n "(cached) " >&6
++else
++  if echo a | $GREP -E '(a|b)' >/dev/null 2>&1
++   then ac_cv_path_EGREP="$GREP -E"
++   else
++     if test -z "$EGREP"; then
++  ac_path_EGREP_found=false
++  # Loop through the user's path and test for each of PROGNAME-LIST
++  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
++do
++  IFS=$as_save_IFS
++  test -z "$as_dir" && as_dir=.
++  for ac_prog in egrep; do
++    for ac_exec_ext in '' $ac_executable_extensions; do
++      ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
++      { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue
++# Check for GNU ac_path_EGREP and select it if it is found.
++  # Check for GNU $ac_path_EGREP
++case `"$ac_path_EGREP" --version 2>&1` in
++*GNU*)
++  ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;;
++*)
++  ac_count=0
++  $as_echo_n 0123456789 >"conftest.in"
++  while :
++  do
++    cat "conftest.in" "conftest.in" >"conftest.tmp"
++    mv "conftest.tmp" "conftest.in"
++    cp "conftest.in" "conftest.nl"
++    $as_echo 'EGREP' >> "conftest.nl"
++    "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break
++    diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
++    ac_count=`expr $ac_count + 1`
++    if test $ac_count -gt ${ac_path_EGREP_max-0}; then
++      # Best one so far, save it but keep looking for a better one
++      ac_cv_path_EGREP="$ac_path_EGREP"
++      ac_path_EGREP_max=$ac_count
++    fi
++    # 10*(2^10) chars as input seems more than enough
++    test $ac_count -gt 10 && break
++  done
++  rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
++esac
++
++      $ac_path_EGREP_found && break 3
++    done
++  done
++done
++IFS=$as_save_IFS
++  if test -z "$ac_cv_path_EGREP"; then
++    { { $as_echo "$as_me:$LINENO: error: no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5
++$as_echo "$as_me: error: no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;}
++   { (exit 1); exit 1; }; }
++  fi
++else
++  ac_cv_path_EGREP=$EGREP
++fi
++
++   fi
++fi
++{ $as_echo "$as_me:$LINENO: result: $ac_cv_path_EGREP" >&5
++$as_echo "$ac_cv_path_EGREP" >&6; }
++ EGREP="$ac_cv_path_EGREP"
++
++
++{ $as_echo "$as_me:$LINENO: checking for ANSI C header files" >&5
++$as_echo_n "checking for ANSI C header files... " >&6; }
++if test "${ac_cv_header_stdc+set}" = set; then
++  $as_echo_n "(cached) " >&6
++else
++  cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++#include <stdlib.h>
++#include <stdarg.h>
++#include <string.h>
++#include <float.h>
++
++int
++main ()
++{
++
++  ;
++  return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++  *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++  (eval "$ac_compile") 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } && {
++	 test -z "$ac_c_werror_flag" ||
++	 test ! -s conftest.err
++       } && test -s conftest.$ac_objext; then
++  ac_cv_header_stdc=yes
++else
++  $as_echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++	ac_cv_header_stdc=no
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++
++if test $ac_cv_header_stdc = yes; then
++  # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
++  cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++#include <string.h>
++
++_ACEOF
++if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
++  $EGREP "memchr" >/dev/null 2>&1; then
++  :
++else
++  ac_cv_header_stdc=no
++fi
++rm -f conftest*
++
++fi
++
++if test $ac_cv_header_stdc = yes; then
++  # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
++  cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++#include <stdlib.h>
++
++_ACEOF
++if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
++  $EGREP "free" >/dev/null 2>&1; then
++  :
++else
++  ac_cv_header_stdc=no
++fi
++rm -f conftest*
++
++fi
++
++if test $ac_cv_header_stdc = yes; then
++  # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
++  if test "$cross_compiling" = yes; then
++  :
++else
++  cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++#include <ctype.h>
++#include <stdlib.h>
++#if ((' ' & 0x0FF) == 0x020)
++# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
++# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
++#else
++# define ISLOWER(c) \
++		   (('a' <= (c) && (c) <= 'i') \
++		     || ('j' <= (c) && (c) <= 'r') \
++		     || ('s' <= (c) && (c) <= 'z'))
++# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
++#endif
++
++#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
++int
++main ()
++{
++  int i;
++  for (i = 0; i < 256; i++)
++    if (XOR (islower (i), ISLOWER (i))
++	|| toupper (i) != TOUPPER (i))
++      return 2;
++  return 0;
++}
++_ACEOF
++rm -f conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++  *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++  (eval "$ac_link") 2>&5
++  ac_status=$?
++  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
++  { (case "(($ac_try" in
++  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++  *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++  (eval "$ac_try") 2>&5
++  ac_status=$?
++  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; }; then
++  :
++else
++  $as_echo "$as_me: program exited with status $ac_status" >&5
++$as_echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++( exit $ac_status )
++ac_cv_header_stdc=no
++fi
++rm -rf conftest.dSYM
++rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
++fi
++
++
++fi
++fi
++{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5
++$as_echo "$ac_cv_header_stdc" >&6; }
++if test $ac_cv_header_stdc = yes; then
++
++cat >>confdefs.h <<\_ACEOF
++#define STDC_HEADERS 1
++_ACEOF
++
++fi
++
++# On IRIX 5.3, sys/types and inttypes.h are conflicting.
++
++
++
++
++
++
++
++
++
++for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \
++		  inttypes.h stdint.h unistd.h
++do
++as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
++{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5
++$as_echo_n "checking for $ac_header... " >&6; }
++if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
++  $as_echo_n "(cached) " >&6
++else
++  cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++$ac_includes_default
++
++#include <$ac_header>
++_ACEOF
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++  *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++  (eval "$ac_compile") 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } && {
++	 test -z "$ac_c_werror_flag" ||
++	 test ! -s conftest.err
++       } && test -s conftest.$ac_objext; then
++  eval "$as_ac_Header=yes"
++else
++  $as_echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++	eval "$as_ac_Header=no"
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++fi
++ac_res=`eval 'as_val=${'$as_ac_Header'}
++		 $as_echo "$as_val"'`
++	       { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
++$as_echo "$ac_res" >&6; }
++as_val=`eval 'as_val=${'$as_ac_Header'}
++		 $as_echo "$as_val"'`
++   if test "x$as_val" = x""yes; then
++  cat >>confdefs.h <<_ACEOF
++#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
++_ACEOF
++
++fi
++
++done
++
++
++
++  if test "${ac_cv_header_minix_config_h+set}" = set; then
++  { $as_echo "$as_me:$LINENO: checking for minix/config.h" >&5
++$as_echo_n "checking for minix/config.h... " >&6; }
++if test "${ac_cv_header_minix_config_h+set}" = set; then
++  $as_echo_n "(cached) " >&6
++fi
++{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_minix_config_h" >&5
++$as_echo "$ac_cv_header_minix_config_h" >&6; }
++else
++  # Is the header compilable?
++{ $as_echo "$as_me:$LINENO: checking minix/config.h usability" >&5
++$as_echo_n "checking minix/config.h usability... " >&6; }
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++$ac_includes_default
++#include <minix/config.h>
++_ACEOF
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++  *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++  (eval "$ac_compile") 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } && {
++	 test -z "$ac_c_werror_flag" ||
++	 test ! -s conftest.err
++       } && test -s conftest.$ac_objext; then
++  ac_header_compiler=yes
++else
++  $as_echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++	ac_header_compiler=no
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
++$as_echo "$ac_header_compiler" >&6; }
++
++# Is the header present?
++{ $as_echo "$as_me:$LINENO: checking minix/config.h presence" >&5
++$as_echo_n "checking minix/config.h presence... " >&6; }
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++#include <minix/config.h>
++_ACEOF
++if { (ac_try="$ac_cpp conftest.$ac_ext"
++case "(($ac_try" in
++  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++  *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } >/dev/null && {
++	 test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
++	 test ! -s conftest.err
++       }; then
++  ac_header_preproc=yes
++else
++  $as_echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++  ac_header_preproc=no
++fi
++
++rm -f conftest.err conftest.$ac_ext
++{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
++$as_echo "$ac_header_preproc" >&6; }
++
++# So?  What about this header?
++case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
++  yes:no: )
++    { $as_echo "$as_me:$LINENO: WARNING: minix/config.h: accepted by the compiler, rejected by the preprocessor!" >&5
++$as_echo "$as_me: WARNING: minix/config.h: accepted by the compiler, rejected by the preprocessor!" >&2;}
++    { $as_echo "$as_me:$LINENO: WARNING: minix/config.h: proceeding with the compiler's result" >&5
++$as_echo "$as_me: WARNING: minix/config.h: proceeding with the compiler's result" >&2;}
++    ac_header_preproc=yes
++    ;;
++  no:yes:* )
++    { $as_echo "$as_me:$LINENO: WARNING: minix/config.h: present but cannot be compiled" >&5
++$as_echo "$as_me: WARNING: minix/config.h: present but cannot be compiled" >&2;}
++    { $as_echo "$as_me:$LINENO: WARNING: minix/config.h:     check for missing prerequisite headers?" >&5
++$as_echo "$as_me: WARNING: minix/config.h:     check for missing prerequisite headers?" >&2;}
++    { $as_echo "$as_me:$LINENO: WARNING: minix/config.h: see the Autoconf documentation" >&5
++$as_echo "$as_me: WARNING: minix/config.h: see the Autoconf documentation" >&2;}
++    { $as_echo "$as_me:$LINENO: WARNING: minix/config.h:     section \"Present But Cannot Be Compiled\"" >&5
++$as_echo "$as_me: WARNING: minix/config.h:     section \"Present But Cannot Be Compiled\"" >&2;}
++    { $as_echo "$as_me:$LINENO: WARNING: minix/config.h: proceeding with the preprocessor's result" >&5
++$as_echo "$as_me: WARNING: minix/config.h: proceeding with the preprocessor's result" >&2;}
++    { $as_echo "$as_me:$LINENO: WARNING: minix/config.h: in the future, the compiler will take precedence" >&5
++$as_echo "$as_me: WARNING: minix/config.h: in the future, the compiler will take precedence" >&2;}
++    ( cat <<\_ASBOX
++## --------------------------------------- ##
++## Report this to lasse.collin@tukaani.org ##
++## --------------------------------------- ##
++_ASBOX
++     ) | sed "s/^/$as_me: WARNING:     /" >&2
++    ;;
++esac
++{ $as_echo "$as_me:$LINENO: checking for minix/config.h" >&5
++$as_echo_n "checking for minix/config.h... " >&6; }
++if test "${ac_cv_header_minix_config_h+set}" = set; then
++  $as_echo_n "(cached) " >&6
++else
++  ac_cv_header_minix_config_h=$ac_header_preproc
++fi
++{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_minix_config_h" >&5
++$as_echo "$ac_cv_header_minix_config_h" >&6; }
++
++fi
++if test "x$ac_cv_header_minix_config_h" = x""yes; then
++  MINIX=yes
++else
++  MINIX=
++fi
++
++
++  if test "$MINIX" = yes; then
++
++cat >>confdefs.h <<\_ACEOF
++#define _POSIX_SOURCE 1
++_ACEOF
++
++
++cat >>confdefs.h <<\_ACEOF
++#define _POSIX_1_SOURCE 2
++_ACEOF
++
++
++cat >>confdefs.h <<\_ACEOF
++#define _MINIX 1
++_ACEOF
++
++  fi
++
++
++
++  { $as_echo "$as_me:$LINENO: checking whether it is safe to define __EXTENSIONS__" >&5
++$as_echo_n "checking whether it is safe to define __EXTENSIONS__... " >&6; }
++if test "${ac_cv_safe_to_define___extensions__+set}" = set; then
++  $as_echo_n "(cached) " >&6
++else
++  cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++
++#	  define __EXTENSIONS__ 1
++	  $ac_includes_default
++int
++main ()
++{
++
++  ;
++  return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++  *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++  (eval "$ac_compile") 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } && {
++	 test -z "$ac_c_werror_flag" ||
++	 test ! -s conftest.err
++       } && test -s conftest.$ac_objext; then
++  ac_cv_safe_to_define___extensions__=yes
++else
++  $as_echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++	ac_cv_safe_to_define___extensions__=no
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++fi
++{ $as_echo "$as_me:$LINENO: result: $ac_cv_safe_to_define___extensions__" >&5
++$as_echo "$ac_cv_safe_to_define___extensions__" >&6; }
++  test $ac_cv_safe_to_define___extensions__ = yes &&
++    cat >>confdefs.h <<\_ACEOF
++#define __EXTENSIONS__ 1
++_ACEOF
++
++  cat >>confdefs.h <<\_ACEOF
++#define _ALL_SOURCE 1
++_ACEOF
++
++  cat >>confdefs.h <<\_ACEOF
++#define _GNU_SOURCE 1
++_ACEOF
++
++  cat >>confdefs.h <<\_ACEOF
++#define _POSIX_PTHREAD_SEMANTICS 1
++_ACEOF
++
++  cat >>confdefs.h <<\_ACEOF
++#define _TANDEM_SOURCE 1
++_ACEOF
++
++
++
++if test "x$enable_threads" = xyes; then
++	echo
++	echo "Threading support:"
++
++
++
++ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++
++acx_pthread_ok=no
++
++# We used to check for pthread.h first, but this fails if pthread.h
++# requires special compiler flags (e.g. on True64 or Sequent).
++# It gets checked for in the link test anyway.
++
++# First of all, check if the user has set any of the PTHREAD_LIBS,
++# etcetera environment variables, and if threads linking works using
++# them:
++if test x"$PTHREAD_LIBS$PTHREAD_CFLAGS" != x; then
++        save_CFLAGS="$CFLAGS"
++        CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
++        save_LIBS="$LIBS"
++        LIBS="$PTHREAD_LIBS $LIBS"
++        { $as_echo "$as_me:$LINENO: checking for pthread_join in LIBS=$PTHREAD_LIBS with CFLAGS=$PTHREAD_CFLAGS" >&5
++$as_echo_n "checking for pthread_join in LIBS=$PTHREAD_LIBS with CFLAGS=$PTHREAD_CFLAGS... " >&6; }
++        cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++
++/* Override any GCC internal prototype to avoid an error.
++   Use char because int might match the return type of a GCC
++   builtin and then its argument prototype would still apply.  */
++#ifdef __cplusplus
++extern "C"
++#endif
++char pthread_join ();
++int
++main ()
++{
++return pthread_join ();
++  ;
++  return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++  *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++  (eval "$ac_link") 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } && {
++	 test -z "$ac_c_werror_flag" ||
++	 test ! -s conftest.err
++       } && test -s conftest$ac_exeext && {
++	 test "$cross_compiling" = yes ||
++	 $as_test_x conftest$ac_exeext
++       }; then
++  acx_pthread_ok=yes
++else
++  $as_echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++
++fi
++
++rm -rf conftest.dSYM
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++      conftest$ac_exeext conftest.$ac_ext
++        { $as_echo "$as_me:$LINENO: result: $acx_pthread_ok" >&5
++$as_echo "$acx_pthread_ok" >&6; }
++        if test x"$acx_pthread_ok" = xno; then
++                PTHREAD_LIBS=""
++                PTHREAD_CFLAGS=""
++        fi
++        LIBS="$save_LIBS"
++        CFLAGS="$save_CFLAGS"
++fi
++
++# We must check for the threads library under a number of different
++# names; the ordering is very important because some systems
++# (e.g. DEC) have both -lpthread and -lpthreads, where one of the
++# libraries is broken (non-POSIX).
++
++# Create a list of thread flags to try.  Items starting with a "-" are
++# C compiler flags, and other items are library names, except for "none"
++# which indicates that we try without any flags at all, and "pthread-config"
++# which is a program returning the flags for the Pth emulation library.
++
++acx_pthread_flags="pthreads none -Kthread -kthread lthread -pthread -pthreads -mthreads pthread --thread-safe -mt pthread-config"
++
++# The ordering *is* (sometimes) important.  Some notes on the
++# individual items follow:
++
++# pthreads: AIX (must check this before -lpthread)
++# none: in case threads are in libc; should be tried before -Kthread and
++#       other compiler flags to prevent continual compiler warnings
++# -Kthread: Sequent (threads in libc, but -Kthread needed for pthread.h)
++# -kthread: FreeBSD kernel threads (preferred to -pthread since SMP-able)
++# lthread: LinuxThreads port on FreeBSD (also preferred to -pthread)
++# -pthread: Linux/gcc (kernel threads), BSD/gcc (userland threads)
++# -pthreads: Solaris/gcc
++# -mthreads: Mingw32/gcc, Lynx/gcc
++# -mt: Sun Workshop C (may only link SunOS threads [-lthread], but it
++#      doesn't hurt to check since this sometimes defines pthreads too;
++#      also defines -D_REENTRANT)
++#      ... -mt is also the pthreads flag for HP/aCC
++# pthread: Linux, etcetera
++# --thread-safe: KAI C++
++# pthread-config: use pthread-config program (for GNU Pth library)
++
++case "${host_cpu}-${host_os}" in
++        *solaris*)
++
++        # On Solaris (at least, for some versions), libc contains stubbed
++        # (non-functional) versions of the pthreads routines, so link-based
++        # tests will erroneously succeed.  (We need to link with -pthreads/-mt/
++        # -lpthread.)  (The stubs are missing pthread_cleanup_push, or rather
++        # a function called by this macro, so we could check for that, but
++        # who knows whether they'll stub that too in a future libc.)  So,
++        # we'll just look for -pthreads and -lpthread first:
++
++        acx_pthread_flags="-pthreads pthread -mt -pthread $acx_pthread_flags"
++        ;;
++esac
++
++if test x"$acx_pthread_ok" = xno; then
++for flag in $acx_pthread_flags; do
++
++        case $flag in
++                none)
++                { $as_echo "$as_me:$LINENO: checking whether pthreads work without any flags" >&5
++$as_echo_n "checking whether pthreads work without any flags... " >&6; }
++                ;;
++
++                -*)
++                { $as_echo "$as_me:$LINENO: checking whether pthreads work with $flag" >&5
++$as_echo_n "checking whether pthreads work with $flag... " >&6; }
++                PTHREAD_CFLAGS="$flag"
++                ;;
++
++		pthread-config)
++		# Extract the first word of "pthread-config", so it can be a program name with args.
++set dummy pthread-config; ac_word=$2
++{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
++$as_echo_n "checking for $ac_word... " >&6; }
++if test "${ac_cv_prog_acx_pthread_config+set}" = set; then
++  $as_echo_n "(cached) " >&6
++else
++  if test -n "$acx_pthread_config"; then
++  ac_cv_prog_acx_pthread_config="$acx_pthread_config" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++  IFS=$as_save_IFS
++  test -z "$as_dir" && as_dir=.
++  for ac_exec_ext in '' $ac_executable_extensions; do
++  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++    ac_cv_prog_acx_pthread_config="yes"
++    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
++    break 2
++  fi
++done
++done
++IFS=$as_save_IFS
++
++  test -z "$ac_cv_prog_acx_pthread_config" && ac_cv_prog_acx_pthread_config="no"
++fi
++fi
++acx_pthread_config=$ac_cv_prog_acx_pthread_config
++if test -n "$acx_pthread_config"; then
++  { $as_echo "$as_me:$LINENO: result: $acx_pthread_config" >&5
++$as_echo "$acx_pthread_config" >&6; }
++else
++  { $as_echo "$as_me:$LINENO: result: no" >&5
++$as_echo "no" >&6; }
++fi
++
++
++		if test x"$acx_pthread_config" = xno; then continue; fi
++		PTHREAD_CFLAGS="`pthread-config --cflags`"
++		PTHREAD_LIBS="`pthread-config --ldflags` `pthread-config --libs`"
++		;;
++
++                *)
++                { $as_echo "$as_me:$LINENO: checking for the pthreads library -l$flag" >&5
++$as_echo_n "checking for the pthreads library -l$flag... " >&6; }
++                PTHREAD_LIBS="-l$flag"
++                ;;
++        esac
++
++        save_LIBS="$LIBS"
++        save_CFLAGS="$CFLAGS"
++        LIBS="$PTHREAD_LIBS $LIBS"
++        CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
++
++        # Check for various functions.  We must include pthread.h,
++        # since some functions may be macros.  (On the Sequent, we
++        # need a special flag -Kthread to make this header compile.)
++        # We check for pthread_join because it is in -lpthread on IRIX
++        # while pthread_create is in libc.  We check for pthread_attr_init
++        # due to DEC craziness with -lpthreads.  We check for
++        # pthread_cleanup_push because it is one of the few pthread
++        # functions on Solaris that doesn't have a non-functional libc stub.
++        # We try pthread_create on general principles.
++        cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++#include <pthread.h>
++int
++main ()
++{
++pthread_t th; pthread_join(th, 0);
++                     pthread_attr_init(0); pthread_cleanup_push(0, 0);
++                     pthread_create(0,0,0,0); pthread_cleanup_pop(0);
++  ;
++  return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++  *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++  (eval "$ac_link") 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } && {
++	 test -z "$ac_c_werror_flag" ||
++	 test ! -s conftest.err
++       } && test -s conftest$ac_exeext && {
++	 test "$cross_compiling" = yes ||
++	 $as_test_x conftest$ac_exeext
++       }; then
++  acx_pthread_ok=yes
++else
++  $as_echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++
++fi
++
++rm -rf conftest.dSYM
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++      conftest$ac_exeext conftest.$ac_ext
++
++        LIBS="$save_LIBS"
++        CFLAGS="$save_CFLAGS"
++
++        { $as_echo "$as_me:$LINENO: result: $acx_pthread_ok" >&5
++$as_echo "$acx_pthread_ok" >&6; }
++        if test "x$acx_pthread_ok" = xyes; then
++                break;
++        fi
++
++        PTHREAD_LIBS=""
++        PTHREAD_CFLAGS=""
++done
++fi
++
++# Various other checks:
++if test "x$acx_pthread_ok" = xyes; then
++        save_LIBS="$LIBS"
++        LIBS="$PTHREAD_LIBS $LIBS"
++        save_CFLAGS="$CFLAGS"
++        CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
++
++        # Detect AIX lossage: JOINABLE attribute is called UNDETACHED.
++	{ $as_echo "$as_me:$LINENO: checking for joinable pthread attribute" >&5
++$as_echo_n "checking for joinable pthread attribute... " >&6; }
++	attr_name=unknown
++	for attr in PTHREAD_CREATE_JOINABLE PTHREAD_CREATE_UNDETACHED; do
++	    cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++#include <pthread.h>
++int
++main ()
++{
++int attr=$attr; return attr;
++  ;
++  return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++  *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++  (eval "$ac_link") 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } && {
++	 test -z "$ac_c_werror_flag" ||
++	 test ! -s conftest.err
++       } && test -s conftest$ac_exeext && {
++	 test "$cross_compiling" = yes ||
++	 $as_test_x conftest$ac_exeext
++       }; then
++  attr_name=$attr; break
++else
++  $as_echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++
++fi
++
++rm -rf conftest.dSYM
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++      conftest$ac_exeext conftest.$ac_ext
++	done
++        { $as_echo "$as_me:$LINENO: result: $attr_name" >&5
++$as_echo "$attr_name" >&6; }
++        if test "$attr_name" != PTHREAD_CREATE_JOINABLE; then
++
++cat >>confdefs.h <<_ACEOF
++#define PTHREAD_CREATE_JOINABLE $attr_name
++_ACEOF
++
++        fi
++
++        { $as_echo "$as_me:$LINENO: checking if more special flags are required for pthreads" >&5
++$as_echo_n "checking if more special flags are required for pthreads... " >&6; }
++        flag=no
++        case "${host_cpu}-${host_os}" in
++            *-aix* | *-freebsd* | *-darwin*) flag="-D_THREAD_SAFE";;
++            *solaris* | *-osf* | *-hpux*) flag="-D_REENTRANT";;
++        esac
++        { $as_echo "$as_me:$LINENO: result: ${flag}" >&5
++$as_echo "${flag}" >&6; }
++        if test "x$flag" != xno; then
++            PTHREAD_CFLAGS="$flag $PTHREAD_CFLAGS"
++        fi
++
++        LIBS="$save_LIBS"
++        CFLAGS="$save_CFLAGS"
++
++        # More AIX lossage: must compile with xlc_r or cc_r
++	if test x"$GCC" != xyes; then
++          for ac_prog in xlc_r cc_r
++do
++  # Extract the first word of "$ac_prog", so it can be a program name with args.
++set dummy $ac_prog; ac_word=$2
++{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
++$as_echo_n "checking for $ac_word... " >&6; }
++if test "${ac_cv_prog_PTHREAD_CC+set}" = set; then
++  $as_echo_n "(cached) " >&6
++else
++  if test -n "$PTHREAD_CC"; then
++  ac_cv_prog_PTHREAD_CC="$PTHREAD_CC" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++  IFS=$as_save_IFS
++  test -z "$as_dir" && as_dir=.
++  for ac_exec_ext in '' $ac_executable_extensions; do
++  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++    ac_cv_prog_PTHREAD_CC="$ac_prog"
++    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
++    break 2
++  fi
++done
++done
++IFS=$as_save_IFS
++
++fi
++fi
++PTHREAD_CC=$ac_cv_prog_PTHREAD_CC
++if test -n "$PTHREAD_CC"; then
++  { $as_echo "$as_me:$LINENO: result: $PTHREAD_CC" >&5
++$as_echo "$PTHREAD_CC" >&6; }
++else
++  { $as_echo "$as_me:$LINENO: result: no" >&5
++$as_echo "no" >&6; }
++fi
++
++
++  test -n "$PTHREAD_CC" && break
++done
++test -n "$PTHREAD_CC" || PTHREAD_CC="${CC}"
++
++        else
++          PTHREAD_CC=$CC
++	fi
++else
++        PTHREAD_CC="$CC"
++fi
++
++
++
++
++
++# Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND:
++if test x"$acx_pthread_ok" = xyes; then
++
++cat >>confdefs.h <<\_ACEOF
++#define HAVE_PTHREAD 1
++_ACEOF
++
++        :
++else
++        acx_pthread_ok=no
++
++fi
++ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++
++
++	LIBS="$LIBS $PTHREAD_LIBS"
++	AM_CFLAGS="$AM_CFLAGS $PTHREAD_CFLAGS"
++	CC="$PTHREAD_CC"
++fi
++
++echo
++echo "Initializing Libtool:"
++
++case `pwd` in
++  *\ * | *\	*)
++    { $as_echo "$as_me:$LINENO: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&5
++$as_echo "$as_me: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&2;} ;;
++esac
++
++
++
++macro_version='2.2.6'
++macro_revision='1.3012'
++
++
++
++
++
++
++
++
++
++
++
++
++
++ltmain="$ac_aux_dir/ltmain.sh"
++
++{ $as_echo "$as_me:$LINENO: checking for a sed that does not truncate output" >&5
++$as_echo_n "checking for a sed that does not truncate output... " >&6; }
++if test "${ac_cv_path_SED+set}" = set; then
++  $as_echo_n "(cached) " >&6
++else
++            ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/
++     for ac_i in 1 2 3 4 5 6 7; do
++       ac_script="$ac_script$as_nl$ac_script"
++     done
++     echo "$ac_script" 2>/dev/null | sed 99q >conftest.sed
++     $as_unset ac_script || ac_script=
++     if test -z "$SED"; then
++  ac_path_SED_found=false
++  # Loop through the user's path and test for each of PROGNAME-LIST
++  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++  IFS=$as_save_IFS
++  test -z "$as_dir" && as_dir=.
++  for ac_prog in sed gsed; do
++    for ac_exec_ext in '' $ac_executable_extensions; do
++      ac_path_SED="$as_dir/$ac_prog$ac_exec_ext"
++      { test -f "$ac_path_SED" && $as_test_x "$ac_path_SED"; } || continue
++# Check for GNU ac_path_SED and select it if it is found.
++  # Check for GNU $ac_path_SED
++case `"$ac_path_SED" --version 2>&1` in
++*GNU*)
++  ac_cv_path_SED="$ac_path_SED" ac_path_SED_found=:;;
++*)
++  ac_count=0
++  $as_echo_n 0123456789 >"conftest.in"
++  while :
++  do
++    cat "conftest.in" "conftest.in" >"conftest.tmp"
++    mv "conftest.tmp" "conftest.in"
++    cp "conftest.in" "conftest.nl"
++    $as_echo '' >> "conftest.nl"
++    "$ac_path_SED" -f conftest.sed < "conftest.nl" >"conftest.out" 2>/dev/null || break
++    diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
++    ac_count=`expr $ac_count + 1`
++    if test $ac_count -gt ${ac_path_SED_max-0}; then
++      # Best one so far, save it but keep looking for a better one
++      ac_cv_path_SED="$ac_path_SED"
++      ac_path_SED_max=$ac_count
++    fi
++    # 10*(2^10) chars as input seems more than enough
++    test $ac_count -gt 10 && break
++  done
++  rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
++esac
++
++      $ac_path_SED_found && break 3
++    done
++  done
++done
++IFS=$as_save_IFS
++  if test -z "$ac_cv_path_SED"; then
++    { { $as_echo "$as_me:$LINENO: error: no acceptable sed could be found in \$PATH" >&5
++$as_echo "$as_me: error: no acceptable sed could be found in \$PATH" >&2;}
++   { (exit 1); exit 1; }; }
++  fi
++else
++  ac_cv_path_SED=$SED
++fi
++
++fi
++{ $as_echo "$as_me:$LINENO: result: $ac_cv_path_SED" >&5
++$as_echo "$ac_cv_path_SED" >&6; }
++ SED="$ac_cv_path_SED"
++  rm -f conftest.sed
++
++test -z "$SED" && SED=sed
++Xsed="$SED -e 1s/^X//"
++
++
++
++
++
++
++
++
++
++
++
++{ $as_echo "$as_me:$LINENO: checking for fgrep" >&5
++$as_echo_n "checking for fgrep... " >&6; }
++if test "${ac_cv_path_FGREP+set}" = set; then
++  $as_echo_n "(cached) " >&6
++else
++  if echo 'ab*c' | $GREP -F 'ab*c' >/dev/null 2>&1
++   then ac_cv_path_FGREP="$GREP -F"
++   else
++     if test -z "$FGREP"; then
++  ac_path_FGREP_found=false
++  # Loop through the user's path and test for each of PROGNAME-LIST
++  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
++do
++  IFS=$as_save_IFS
++  test -z "$as_dir" && as_dir=.
++  for ac_prog in fgrep; do
++    for ac_exec_ext in '' $ac_executable_extensions; do
++      ac_path_FGREP="$as_dir/$ac_prog$ac_exec_ext"
++      { test -f "$ac_path_FGREP" && $as_test_x "$ac_path_FGREP"; } || continue
++# Check for GNU ac_path_FGREP and select it if it is found.
++  # Check for GNU $ac_path_FGREP
++case `"$ac_path_FGREP" --version 2>&1` in
++*GNU*)
++  ac_cv_path_FGREP="$ac_path_FGREP" ac_path_FGREP_found=:;;
++*)
++  ac_count=0
++  $as_echo_n 0123456789 >"conftest.in"
++  while :
++  do
++    cat "conftest.in" "conftest.in" >"conftest.tmp"
++    mv "conftest.tmp" "conftest.in"
++    cp "conftest.in" "conftest.nl"
++    $as_echo 'FGREP' >> "conftest.nl"
++    "$ac_path_FGREP" FGREP < "conftest.nl" >"conftest.out" 2>/dev/null || break
++    diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
++    ac_count=`expr $ac_count + 1`
++    if test $ac_count -gt ${ac_path_FGREP_max-0}; then
++      # Best one so far, save it but keep looking for a better one
++      ac_cv_path_FGREP="$ac_path_FGREP"
++      ac_path_FGREP_max=$ac_count
++    fi
++    # 10*(2^10) chars as input seems more than enough
++    test $ac_count -gt 10 && break
++  done
++  rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
++esac
++
++      $ac_path_FGREP_found && break 3
++    done
++  done
++done
++IFS=$as_save_IFS
++  if test -z "$ac_cv_path_FGREP"; then
++    { { $as_echo "$as_me:$LINENO: error: no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5
++$as_echo "$as_me: error: no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;}
++   { (exit 1); exit 1; }; }
++  fi
++else
++  ac_cv_path_FGREP=$FGREP
++fi
++
++   fi
++fi
++{ $as_echo "$as_me:$LINENO: result: $ac_cv_path_FGREP" >&5
++$as_echo "$ac_cv_path_FGREP" >&6; }
++ FGREP="$ac_cv_path_FGREP"
++
++
++test -z "$GREP" && GREP=grep
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++# Check whether --with-gnu-ld was given.
++if test "${with_gnu_ld+set}" = set; then
++  withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes
++else
++  with_gnu_ld=no
++fi
++
++ac_prog=ld
++if test "$GCC" = yes; then
++  # Check if gcc -print-prog-name=ld gives a path.
++  { $as_echo "$as_me:$LINENO: checking for ld used by $CC" >&5
++$as_echo_n "checking for ld used by $CC... " >&6; }
++  case $host in
++  *-*-mingw*)
++    # gcc leaves a trailing carriage return which upsets mingw
++    ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
++  *)
++    ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
++  esac
++  case $ac_prog in
++    # Accept absolute paths.
++    [\\/]* | ?:[\\/]*)
++      re_direlt='/[^/][^/]*/\.\./'
++      # Canonicalize the pathname of ld
++      ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'`
++      while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do
++	ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"`
++      done
++      test -z "$LD" && LD="$ac_prog"
++      ;;
++  "")
++    # If it fails, then pretend we aren't using GCC.
++    ac_prog=ld
++    ;;
++  *)
++    # If it is relative, then search for the first ld in PATH.
++    with_gnu_ld=unknown
++    ;;
++  esac
++elif test "$with_gnu_ld" = yes; then
++  { $as_echo "$as_me:$LINENO: checking for GNU ld" >&5
++$as_echo_n "checking for GNU ld... " >&6; }
++else
++  { $as_echo "$as_me:$LINENO: checking for non-GNU ld" >&5
++$as_echo_n "checking for non-GNU ld... " >&6; }
++fi
++if test "${lt_cv_path_LD+set}" = set; then
++  $as_echo_n "(cached) " >&6
++else
++  if test -z "$LD"; then
++  lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
++  for ac_dir in $PATH; do
++    IFS="$lt_save_ifs"
++    test -z "$ac_dir" && ac_dir=.
++    if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
++      lt_cv_path_LD="$ac_dir/$ac_prog"
++      # Check to see if the program is GNU ld.  I'd rather use --version,
++      # but apparently some variants of GNU ld only accept -v.
++      # Break only if it was the GNU/non-GNU ld that we prefer.
++      case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
++      *GNU* | *'with BFD'*)
++	test "$with_gnu_ld" != no && break
++	;;
++      *)
++	test "$with_gnu_ld" != yes && break
++	;;
++      esac
++    fi
++  done
++  IFS="$lt_save_ifs"
++else
++  lt_cv_path_LD="$LD" # Let the user override the test with a path.
++fi
++fi
++
++LD="$lt_cv_path_LD"
++if test -n "$LD"; then
++  { $as_echo "$as_me:$LINENO: result: $LD" >&5
++$as_echo "$LD" >&6; }
++else
++  { $as_echo "$as_me:$LINENO: result: no" >&5
++$as_echo "no" >&6; }
++fi
++test -z "$LD" && { { $as_echo "$as_me:$LINENO: error: no acceptable ld found in \$PATH" >&5
++$as_echo "$as_me: error: no acceptable ld found in \$PATH" >&2;}
++   { (exit 1); exit 1; }; }
++{ $as_echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5
++$as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; }
++if test "${lt_cv_prog_gnu_ld+set}" = set; then
++  $as_echo_n "(cached) " >&6
++else
++  # I'd rather use --version here, but apparently some GNU lds only accept -v.
++case `$LD -v 2>&1 </dev/null` in
++*GNU* | *'with BFD'*)
++  lt_cv_prog_gnu_ld=yes
++  ;;
++*)
++  lt_cv_prog_gnu_ld=no
++  ;;
++esac
++fi
++{ $as_echo "$as_me:$LINENO: result: $lt_cv_prog_gnu_ld" >&5
++$as_echo "$lt_cv_prog_gnu_ld" >&6; }
++with_gnu_ld=$lt_cv_prog_gnu_ld
++
++
++
++
++
++
++
++
++
++{ $as_echo "$as_me:$LINENO: checking for BSD- or MS-compatible name lister (nm)" >&5
++$as_echo_n "checking for BSD- or MS-compatible name lister (nm)... " >&6; }
++if test "${lt_cv_path_NM+set}" = set; then
++  $as_echo_n "(cached) " >&6
++else
++  if test -n "$NM"; then
++  # Let the user override the test.
++  lt_cv_path_NM="$NM"
++else
++  lt_nm_to_check="${ac_tool_prefix}nm"
++  if test -n "$ac_tool_prefix" && test "$build" = "$host"; then
++    lt_nm_to_check="$lt_nm_to_check nm"
++  fi
++  for lt_tmp_nm in $lt_nm_to_check; do
++    lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
++    for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do
++      IFS="$lt_save_ifs"
++      test -z "$ac_dir" && ac_dir=.
++      tmp_nm="$ac_dir/$lt_tmp_nm"
++      if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then
++	# Check to see if the nm accepts a BSD-compat flag.
++	# Adding the `sed 1q' prevents false positives on HP-UX, which says:
++	#   nm: unknown option "B" ignored
++	# Tru64's nm complains that /dev/null is an invalid object file
++	case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in
++	*/dev/null* | *'Invalid file or object type'*)
++	  lt_cv_path_NM="$tmp_nm -B"
++	  break
++	  ;;
++	*)
++	  case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in
++	  */dev/null*)
++	    lt_cv_path_NM="$tmp_nm -p"
++	    break
++	    ;;
++	  *)
++	    lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
++	    continue # so that we can try to find one that supports BSD flags
++	    ;;
++	  esac
++	  ;;
++	esac
++      fi
++    done
++    IFS="$lt_save_ifs"
++  done
++  : ${lt_cv_path_NM=no}
++fi
++fi
++{ $as_echo "$as_me:$LINENO: result: $lt_cv_path_NM" >&5
++$as_echo "$lt_cv_path_NM" >&6; }
++if test "$lt_cv_path_NM" != "no"; then
++  NM="$lt_cv_path_NM"
++else
++  # Didn't find any BSD compatible name lister, look for dumpbin.
++  if test -n "$ac_tool_prefix"; then
++  for ac_prog in "dumpbin -symbols" "link -dump -symbols"
++  do
++    # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
++set dummy $ac_tool_prefix$ac_prog; ac_word=$2
++{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
++$as_echo_n "checking for $ac_word... " >&6; }
++if test "${ac_cv_prog_DUMPBIN+set}" = set; then
++  $as_echo_n "(cached) " >&6
++else
++  if test -n "$DUMPBIN"; then
++  ac_cv_prog_DUMPBIN="$DUMPBIN" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++  IFS=$as_save_IFS
++  test -z "$as_dir" && as_dir=.
++  for ac_exec_ext in '' $ac_executable_extensions; do
++  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++    ac_cv_prog_DUMPBIN="$ac_tool_prefix$ac_prog"
++    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
++    break 2
++  fi
++done
++done
++IFS=$as_save_IFS
++
++fi
++fi
++DUMPBIN=$ac_cv_prog_DUMPBIN
++if test -n "$DUMPBIN"; then
++  { $as_echo "$as_me:$LINENO: result: $DUMPBIN" >&5
++$as_echo "$DUMPBIN" >&6; }
++else
++  { $as_echo "$as_me:$LINENO: result: no" >&5
++$as_echo "no" >&6; }
++fi
++
++
++    test -n "$DUMPBIN" && break
++  done
++fi
++if test -z "$DUMPBIN"; then
++  ac_ct_DUMPBIN=$DUMPBIN
++  for ac_prog in "dumpbin -symbols" "link -dump -symbols"
++do
++  # Extract the first word of "$ac_prog", so it can be a program name with args.
++set dummy $ac_prog; ac_word=$2
++{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
++$as_echo_n "checking for $ac_word... " >&6; }
++if test "${ac_cv_prog_ac_ct_DUMPBIN+set}" = set; then
++  $as_echo_n "(cached) " >&6
++else
++  if test -n "$ac_ct_DUMPBIN"; then
++  ac_cv_prog_ac_ct_DUMPBIN="$ac_ct_DUMPBIN" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++  IFS=$as_save_IFS
++  test -z "$as_dir" && as_dir=.
++  for ac_exec_ext in '' $ac_executable_extensions; do
++  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++    ac_cv_prog_ac_ct_DUMPBIN="$ac_prog"
++    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
++    break 2
++  fi
++done
++done
++IFS=$as_save_IFS
++
++fi
++fi
++ac_ct_DUMPBIN=$ac_cv_prog_ac_ct_DUMPBIN
++if test -n "$ac_ct_DUMPBIN"; then
++  { $as_echo "$as_me:$LINENO: result: $ac_ct_DUMPBIN" >&5
++$as_echo "$ac_ct_DUMPBIN" >&6; }
++else
++  { $as_echo "$as_me:$LINENO: result: no" >&5
++$as_echo "no" >&6; }
++fi
++
++
++  test -n "$ac_ct_DUMPBIN" && break
++done
++
++  if test "x$ac_ct_DUMPBIN" = x; then
++    DUMPBIN=":"
++  else
++    case $cross_compiling:$ac_tool_warned in
++yes:)
++{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5
++$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
++ac_tool_warned=yes ;;
++esac
++    DUMPBIN=$ac_ct_DUMPBIN
++  fi
++fi
++
++
++  if test "$DUMPBIN" != ":"; then
++    NM="$DUMPBIN"
++  fi
++fi
++test -z "$NM" && NM=nm
++
++
++
++
++
++
++{ $as_echo "$as_me:$LINENO: checking the name lister ($NM) interface" >&5
++$as_echo_n "checking the name lister ($NM) interface... " >&6; }
++if test "${lt_cv_nm_interface+set}" = set; then
++  $as_echo_n "(cached) " >&6
++else
++  lt_cv_nm_interface="BSD nm"
++  echo "int some_variable = 0;" > conftest.$ac_ext
++  (eval echo "\"\$as_me:7392: $ac_compile\"" >&5)
++  (eval "$ac_compile" 2>conftest.err)
++  cat conftest.err >&5
++  (eval echo "\"\$as_me:7395: $NM \\\"conftest.$ac_objext\\\"\"" >&5)
++  (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out)
++  cat conftest.err >&5
++  (eval echo "\"\$as_me:7398: output\"" >&5)
++  cat conftest.out >&5
++  if $GREP 'External.*some_variable' conftest.out > /dev/null; then
++    lt_cv_nm_interface="MS dumpbin"
++  fi
++  rm -f conftest*
++fi
++{ $as_echo "$as_me:$LINENO: result: $lt_cv_nm_interface" >&5
++$as_echo "$lt_cv_nm_interface" >&6; }
++
++# find the maximum length of command line arguments
++{ $as_echo "$as_me:$LINENO: checking the maximum length of command line arguments" >&5
++$as_echo_n "checking the maximum length of command line arguments... " >&6; }
++if test "${lt_cv_sys_max_cmd_len+set}" = set; then
++  $as_echo_n "(cached) " >&6
++else
++    i=0
++  teststring="ABCD"
++
++  case $build_os in
++  msdosdjgpp*)
++    # On DJGPP, this test can blow up pretty badly due to problems in libc
++    # (any single argument exceeding 2000 bytes causes a buffer overrun
++    # during glob expansion).  Even if it were fixed, the result of this
++    # check would be larger than it should be.
++    lt_cv_sys_max_cmd_len=12288;    # 12K is about right
++    ;;
++
++  gnu*)
++    # Under GNU Hurd, this test is not required because there is
++    # no limit to the length of command line arguments.
++    # Libtool will interpret -1 as no limit whatsoever
++    lt_cv_sys_max_cmd_len=-1;
++    ;;
++
++  cygwin* | mingw* | cegcc*)
++    # On Win9x/ME, this test blows up -- it succeeds, but takes
++    # about 5 minutes as the teststring grows exponentially.
++    # Worse, since 9x/ME are not pre-emptively multitasking,
++    # you end up with a "frozen" computer, even though with patience
++    # the test eventually succeeds (with a max line length of 256k).
++    # Instead, let's just punt: use the minimum linelength reported by
++    # all of the supported platforms: 8192 (on NT/2K/XP).
++    lt_cv_sys_max_cmd_len=8192;
++    ;;
++
++  amigaos*)
++    # On AmigaOS with pdksh, this test takes hours, literally.
++    # So we just punt and use a minimum line length of 8192.
++    lt_cv_sys_max_cmd_len=8192;
++    ;;
++
++  netbsd* | freebsd* | openbsd* | darwin* | dragonfly*)
++    # This has been around since 386BSD, at least.  Likely further.
++    if test -x /sbin/sysctl; then
++      lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax`
++    elif test -x /usr/sbin/sysctl; then
++      lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax`
++    else
++      lt_cv_sys_max_cmd_len=65536	# usable default for all BSDs
++    fi
++    # And add a safety zone
++    lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
++    lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
++    ;;
++
++  interix*)
++    # We know the value 262144 and hardcode it with a safety zone (like BSD)
++    lt_cv_sys_max_cmd_len=196608
++    ;;
++
++  osf*)
++    # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure
++    # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not
++    # nice to cause kernel panics so lets avoid the loop below.
++    # First set a reasonable default.
++    lt_cv_sys_max_cmd_len=16384
++    #
++    if test -x /sbin/sysconfig; then
++      case `/sbin/sysconfig -q proc exec_disable_arg_limit` in
++        *1*) lt_cv_sys_max_cmd_len=-1 ;;
++      esac
++    fi
++    ;;
++  sco3.2v5*)
++    lt_cv_sys_max_cmd_len=102400
++    ;;
++  sysv5* | sco5v6* | sysv4.2uw2*)
++    kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null`
++    if test -n "$kargmax"; then
++      lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[	 ]//'`
++    else
++      lt_cv_sys_max_cmd_len=32768
++    fi
++    ;;
++  *)
++    lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null`
++    if test -n "$lt_cv_sys_max_cmd_len"; then
++      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
++      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
++    else
++      # Make teststring a little bigger before we do anything with it.
++      # a 1K string should be a reasonable start.
++      for i in 1 2 3 4 5 6 7 8 ; do
++        teststring=$teststring$teststring
++      done
++      SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
++      # If test is not a shell built-in, we'll probably end up computing a
++      # maximum length that is only half of the actual maximum length, but
++      # we can't tell.
++      while { test "X"`$SHELL $0 --fallback-echo "X$teststring$teststring" 2>/dev/null` \
++	         = "XX$teststring$teststring"; } >/dev/null 2>&1 &&
++	      test $i != 17 # 1/2 MB should be enough
++      do
++        i=`expr $i + 1`
++        teststring=$teststring$teststring
++      done
++      # Only check the string length outside the loop.
++      lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1`
++      teststring=
++      # Add a significant safety factor because C++ compilers can tack on
++      # massive amounts of additional arguments before passing them to the
++      # linker.  It appears as though 1/2 is a usable value.
++      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2`
++    fi
++    ;;
++  esac
++
++fi
++
++if test -n $lt_cv_sys_max_cmd_len ; then
++  { $as_echo "$as_me:$LINENO: result: $lt_cv_sys_max_cmd_len" >&5
++$as_echo "$lt_cv_sys_max_cmd_len" >&6; }
++else
++  { $as_echo "$as_me:$LINENO: result: none" >&5
++$as_echo "none" >&6; }
++fi
++max_cmd_len=$lt_cv_sys_max_cmd_len
++
++
++
++
++
++
++: ${CP="cp -f"}
++: ${MV="mv -f"}
++: ${RM="rm -f"}
++
++{ $as_echo "$as_me:$LINENO: checking whether the shell understands some XSI constructs" >&5
++$as_echo_n "checking whether the shell understands some XSI constructs... " >&6; }
++# Try some XSI features
++xsi_shell=no
++( _lt_dummy="a/b/c"
++  test "${_lt_dummy##*/},${_lt_dummy%/*},"${_lt_dummy%"$_lt_dummy"}, \
++      = c,a/b,, \
++    && eval 'test $(( 1 + 1 )) -eq 2 \
++    && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \
++  && xsi_shell=yes
++{ $as_echo "$as_me:$LINENO: result: $xsi_shell" >&5
++$as_echo "$xsi_shell" >&6; }
++
++
++{ $as_echo "$as_me:$LINENO: checking whether the shell understands \"+=\"" >&5
++$as_echo_n "checking whether the shell understands \"+=\"... " >&6; }
++lt_shell_append=no
++( foo=bar; set foo baz; eval "$1+=\$2" && test "$foo" = barbaz ) \
++    >/dev/null 2>&1 \
++  && lt_shell_append=yes
++{ $as_echo "$as_me:$LINENO: result: $lt_shell_append" >&5
++$as_echo "$lt_shell_append" >&6; }
++
++
++if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
++  lt_unset=unset
++else
++  lt_unset=false
++fi
++
++
++
++
++
++# test EBCDIC or ASCII
++case `echo X|tr X '\101'` in
++ A) # ASCII based system
++    # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr
++  lt_SP2NL='tr \040 \012'
++  lt_NL2SP='tr \015\012 \040\040'
++  ;;
++ *) # EBCDIC based system
++  lt_SP2NL='tr \100 \n'
++  lt_NL2SP='tr \r\n \100\100'
++  ;;
++esac
++
++
++
++
++
++
++
++
++
++{ $as_echo "$as_me:$LINENO: checking for $LD option to reload object files" >&5
++$as_echo_n "checking for $LD option to reload object files... " >&6; }
++if test "${lt_cv_ld_reload_flag+set}" = set; then
++  $as_echo_n "(cached) " >&6
++else
++  lt_cv_ld_reload_flag='-r'
++fi
++{ $as_echo "$as_me:$LINENO: result: $lt_cv_ld_reload_flag" >&5
++$as_echo "$lt_cv_ld_reload_flag" >&6; }
++reload_flag=$lt_cv_ld_reload_flag
++case $reload_flag in
++"" | " "*) ;;
++*) reload_flag=" $reload_flag" ;;
++esac
++reload_cmds='$LD$reload_flag -o $output$reload_objs'
++case $host_os in
++  darwin*)
++    if test "$GCC" = yes; then
++      reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs'
++    else
++      reload_cmds='$LD$reload_flag -o $output$reload_objs'
++    fi
++    ;;
++esac
++
++
++
++
++
++
++
++
++
++if test -n "$ac_tool_prefix"; then
++  # Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args.
++set dummy ${ac_tool_prefix}objdump; ac_word=$2
++{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
++$as_echo_n "checking for $ac_word... " >&6; }
++if test "${ac_cv_prog_OBJDUMP+set}" = set; then
++  $as_echo_n "(cached) " >&6
++else
++  if test -n "$OBJDUMP"; then
++  ac_cv_prog_OBJDUMP="$OBJDUMP" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++  IFS=$as_save_IFS
++  test -z "$as_dir" && as_dir=.
++  for ac_exec_ext in '' $ac_executable_extensions; do
++  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++    ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump"
++    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
++    break 2
++  fi
++done
++done
++IFS=$as_save_IFS
++
++fi
++fi
++OBJDUMP=$ac_cv_prog_OBJDUMP
++if test -n "$OBJDUMP"; then
++  { $as_echo "$as_me:$LINENO: result: $OBJDUMP" >&5
++$as_echo "$OBJDUMP" >&6; }
++else
++  { $as_echo "$as_me:$LINENO: result: no" >&5
++$as_echo "no" >&6; }
++fi
++
++
++fi
++if test -z "$ac_cv_prog_OBJDUMP"; then
++  ac_ct_OBJDUMP=$OBJDUMP
++  # Extract the first word of "objdump", so it can be a program name with args.
++set dummy objdump; ac_word=$2
++{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
++$as_echo_n "checking for $ac_word... " >&6; }
++if test "${ac_cv_prog_ac_ct_OBJDUMP+set}" = set; then
++  $as_echo_n "(cached) " >&6
++else
++  if test -n "$ac_ct_OBJDUMP"; then
++  ac_cv_prog_ac_ct_OBJDUMP="$ac_ct_OBJDUMP" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++  IFS=$as_save_IFS
++  test -z "$as_dir" && as_dir=.
++  for ac_exec_ext in '' $ac_executable_extensions; do
++  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++    ac_cv_prog_ac_ct_OBJDUMP="objdump"
++    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
++    break 2
++  fi
++done
++done
++IFS=$as_save_IFS
++
++fi
++fi
++ac_ct_OBJDUMP=$ac_cv_prog_ac_ct_OBJDUMP
++if test -n "$ac_ct_OBJDUMP"; then
++  { $as_echo "$as_me:$LINENO: result: $ac_ct_OBJDUMP" >&5
++$as_echo "$ac_ct_OBJDUMP" >&6; }
++else
++  { $as_echo "$as_me:$LINENO: result: no" >&5
++$as_echo "no" >&6; }
++fi
++
++  if test "x$ac_ct_OBJDUMP" = x; then
++    OBJDUMP="false"
++  else
++    case $cross_compiling:$ac_tool_warned in
++yes:)
++{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5
++$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
++ac_tool_warned=yes ;;
++esac
++    OBJDUMP=$ac_ct_OBJDUMP
++  fi
++else
++  OBJDUMP="$ac_cv_prog_OBJDUMP"
++fi
++
++test -z "$OBJDUMP" && OBJDUMP=objdump
++
++
++
++
++
++
++{ $as_echo "$as_me:$LINENO: checking how to recognize dependent libraries" >&5
++$as_echo_n "checking how to recognize dependent libraries... " >&6; }
++if test "${lt_cv_deplibs_check_method+set}" = set; then
++  $as_echo_n "(cached) " >&6
++else
++  lt_cv_file_magic_cmd='$MAGIC_CMD'
++lt_cv_file_magic_test_file=
++lt_cv_deplibs_check_method='unknown'
++# Need to set the preceding variable on all platforms that support
++# interlibrary dependencies.
++# 'none' -- dependencies not supported.
++# `unknown' -- same as none, but documents that we really don't know.
++# 'pass_all' -- all dependencies passed with no checks.
++# 'test_compile' -- check by making test program.
++# 'file_magic [[regex]]' -- check by looking for files in library path
++# which responds to the $file_magic_cmd with a given extended regex.
++# If you have `file' or equivalent on your system and you're not sure
++# whether `pass_all' will *always* work, you probably want this one.
++
++case $host_os in
++aix[4-9]*)
++  lt_cv_deplibs_check_method=pass_all
++  ;;
++
++beos*)
++  lt_cv_deplibs_check_method=pass_all
++  ;;
++
++bsdi[45]*)
++  lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)'
++  lt_cv_file_magic_cmd='/usr/bin/file -L'
++  lt_cv_file_magic_test_file=/shlib/libc.so
++  ;;
++
++cygwin*)
++  # func_win32_libid is a shell function defined in ltmain.sh
++  lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
++  lt_cv_file_magic_cmd='func_win32_libid'
++  ;;
++
++mingw* | pw32*)
++  # Base MSYS/MinGW do not provide the 'file' command needed by
++  # func_win32_libid shell function, so use a weaker test based on 'objdump',
++  # unless we find 'file', for example because we are cross-compiling.
++  if ( file / ) >/dev/null 2>&1; then
++    lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
++    lt_cv_file_magic_cmd='func_win32_libid'
++  else
++    lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?'
++    lt_cv_file_magic_cmd='$OBJDUMP -f'
++  fi
++  ;;
++
++cegcc)
++  # use the weaker test based on 'objdump'. See mingw*.
++  lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?'
++  lt_cv_file_magic_cmd='$OBJDUMP -f'
++  ;;
++
++darwin* | rhapsody*)
++  lt_cv_deplibs_check_method=pass_all
++  ;;
++
++freebsd* | dragonfly*)
++  if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
++    case $host_cpu in
++    i*86 )
++      # Not sure whether the presence of OpenBSD here was a mistake.
++      # Let's accept both of them until this is cleared up.
++      lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[3-9]86 (compact )?demand paged shared library'
++      lt_cv_file_magic_cmd=/usr/bin/file
++      lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
++      ;;
++    esac
++  else
++    lt_cv_deplibs_check_method=pass_all
++  fi
++  ;;
++
++gnu*)
++  lt_cv_deplibs_check_method=pass_all
++  ;;
++
++hpux10.20* | hpux11*)
++  lt_cv_file_magic_cmd=/usr/bin/file
++  case $host_cpu in
++  ia64*)
++    lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - IA64'
++    lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so
++    ;;
++  hppa*64*)
++    lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - PA-RISC [0-9].[0-9]'
++    lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl
++    ;;
++  *)
++    lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9].[0-9]) shared library'
++    lt_cv_file_magic_test_file=/usr/lib/libc.sl
++    ;;
++  esac
++  ;;
++
++interix[3-9]*)
++  # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here
++  lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|\.a)$'
++  ;;
++
++irix5* | irix6* | nonstopux*)
++  case $LD in
++  *-32|*"-32 ") libmagic=32-bit;;
++  *-n32|*"-n32 ") libmagic=N32;;
++  *-64|*"-64 ") libmagic=64-bit;;
++  *) libmagic=never-match;;
++  esac
++  lt_cv_deplibs_check_method=pass_all
++  ;;
++
++# This must be Linux ELF.
++linux* | k*bsd*-gnu)
++  lt_cv_deplibs_check_method=pass_all
++  ;;
++
++netbsd*)
++  if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
++    lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$'
++  else
++    lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|_pic\.a)$'
++  fi
++  ;;
++
++newos6*)
++  lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)'
++  lt_cv_file_magic_cmd=/usr/bin/file
++  lt_cv_file_magic_test_file=/usr/lib/libnls.so
++  ;;
++
++*nto* | *qnx*)
++  lt_cv_deplibs_check_method=pass_all
++  ;;
++
++openbsd*)
++  if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
++    lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|\.so|_pic\.a)$'
++  else
++    lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$'
++  fi
++  ;;
++
++osf3* | osf4* | osf5*)
++  lt_cv_deplibs_check_method=pass_all
++  ;;
++
++rdos*)
++  lt_cv_deplibs_check_method=pass_all
++  ;;
++
++solaris*)
++  lt_cv_deplibs_check_method=pass_all
++  ;;
++
++sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
++  lt_cv_deplibs_check_method=pass_all
++  ;;
++
++sysv4 | sysv4.3*)
++  case $host_vendor in
++  motorola)
++    lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib) M[0-9][0-9]* Version [0-9]'
++    lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*`
++    ;;
++  ncr)
++    lt_cv_deplibs_check_method=pass_all
++    ;;
++  sequent)
++    lt_cv_file_magic_cmd='/bin/file'
++    lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )'
++    ;;
++  sni)
++    lt_cv_file_magic_cmd='/bin/file'
++    lt_cv_deplibs_check_method="file_magic ELF [0-9][0-9]*-bit [LM]SB dynamic lib"
++    lt_cv_file_magic_test_file=/lib/libc.so
++    ;;
++  siemens)
++    lt_cv_deplibs_check_method=pass_all
++    ;;
++  pc)
++    lt_cv_deplibs_check_method=pass_all
++    ;;
++  esac
++  ;;
++
++tpf*)
++  lt_cv_deplibs_check_method=pass_all
++  ;;
++esac
++
++fi
++{ $as_echo "$as_me:$LINENO: result: $lt_cv_deplibs_check_method" >&5
++$as_echo "$lt_cv_deplibs_check_method" >&6; }
++file_magic_cmd=$lt_cv_file_magic_cmd
++deplibs_check_method=$lt_cv_deplibs_check_method
++test -z "$deplibs_check_method" && deplibs_check_method=unknown
++
++
++
++
++
++
++
++
++
++
++
++
++if test -n "$ac_tool_prefix"; then
++  # Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args.
++set dummy ${ac_tool_prefix}ar; ac_word=$2
++{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
++$as_echo_n "checking for $ac_word... " >&6; }
++if test "${ac_cv_prog_AR+set}" = set; then
++  $as_echo_n "(cached) " >&6
++else
++  if test -n "$AR"; then
++  ac_cv_prog_AR="$AR" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++  IFS=$as_save_IFS
++  test -z "$as_dir" && as_dir=.
++  for ac_exec_ext in '' $ac_executable_extensions; do
++  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++    ac_cv_prog_AR="${ac_tool_prefix}ar"
++    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
++    break 2
++  fi
++done
++done
++IFS=$as_save_IFS
++
++fi
++fi
++AR=$ac_cv_prog_AR
++if test -n "$AR"; then
++  { $as_echo "$as_me:$LINENO: result: $AR" >&5
++$as_echo "$AR" >&6; }
++else
++  { $as_echo "$as_me:$LINENO: result: no" >&5
++$as_echo "no" >&6; }
++fi
++
++
++fi
++if test -z "$ac_cv_prog_AR"; then
++  ac_ct_AR=$AR
++  # Extract the first word of "ar", so it can be a program name with args.
++set dummy ar; ac_word=$2
++{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
++$as_echo_n "checking for $ac_word... " >&6; }
++if test "${ac_cv_prog_ac_ct_AR+set}" = set; then
++  $as_echo_n "(cached) " >&6
++else
++  if test -n "$ac_ct_AR"; then
++  ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++  IFS=$as_save_IFS
++  test -z "$as_dir" && as_dir=.
++  for ac_exec_ext in '' $ac_executable_extensions; do
++  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++    ac_cv_prog_ac_ct_AR="ar"
++    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
++    break 2
++  fi
++done
++done
++IFS=$as_save_IFS
++
++fi
++fi
++ac_ct_AR=$ac_cv_prog_ac_ct_AR
++if test -n "$ac_ct_AR"; then
++  { $as_echo "$as_me:$LINENO: result: $ac_ct_AR" >&5
++$as_echo "$ac_ct_AR" >&6; }
++else
++  { $as_echo "$as_me:$LINENO: result: no" >&5
++$as_echo "no" >&6; }
++fi
++
++  if test "x$ac_ct_AR" = x; then
++    AR="false"
++  else
++    case $cross_compiling:$ac_tool_warned in
++yes:)
++{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5
++$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
++ac_tool_warned=yes ;;
++esac
++    AR=$ac_ct_AR
++  fi
++else
++  AR="$ac_cv_prog_AR"
++fi
++
++test -z "$AR" && AR=ar
++test -z "$AR_FLAGS" && AR_FLAGS=cru
++
++
++
++
++
++
++
++
++
++
++
++if test -n "$ac_tool_prefix"; then
++  # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
++set dummy ${ac_tool_prefix}strip; ac_word=$2
++{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
++$as_echo_n "checking for $ac_word... " >&6; }
++if test "${ac_cv_prog_STRIP+set}" = set; then
++  $as_echo_n "(cached) " >&6
++else
++  if test -n "$STRIP"; then
++  ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++  IFS=$as_save_IFS
++  test -z "$as_dir" && as_dir=.
++  for ac_exec_ext in '' $ac_executable_extensions; do
++  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++    ac_cv_prog_STRIP="${ac_tool_prefix}strip"
++    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
++    break 2
++  fi
++done
++done
++IFS=$as_save_IFS
++
++fi
++fi
++STRIP=$ac_cv_prog_STRIP
++if test -n "$STRIP"; then
++  { $as_echo "$as_me:$LINENO: result: $STRIP" >&5
++$as_echo "$STRIP" >&6; }
++else
++  { $as_echo "$as_me:$LINENO: result: no" >&5
++$as_echo "no" >&6; }
++fi
++
++
++fi
++if test -z "$ac_cv_prog_STRIP"; then
++  ac_ct_STRIP=$STRIP
++  # Extract the first word of "strip", so it can be a program name with args.
++set dummy strip; ac_word=$2
++{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
++$as_echo_n "checking for $ac_word... " >&6; }
++if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then
++  $as_echo_n "(cached) " >&6
++else
++  if test -n "$ac_ct_STRIP"; then
++  ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++  IFS=$as_save_IFS
++  test -z "$as_dir" && as_dir=.
++  for ac_exec_ext in '' $ac_executable_extensions; do
++  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++    ac_cv_prog_ac_ct_STRIP="strip"
++    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
++    break 2
++  fi
++done
++done
++IFS=$as_save_IFS
++
++fi
++fi
++ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
++if test -n "$ac_ct_STRIP"; then
++  { $as_echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5
++$as_echo "$ac_ct_STRIP" >&6; }
++else
++  { $as_echo "$as_me:$LINENO: result: no" >&5
++$as_echo "no" >&6; }
++fi
++
++  if test "x$ac_ct_STRIP" = x; then
++    STRIP=":"
++  else
++    case $cross_compiling:$ac_tool_warned in
++yes:)
++{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5
++$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
++ac_tool_warned=yes ;;
++esac
++    STRIP=$ac_ct_STRIP
++  fi
++else
++  STRIP="$ac_cv_prog_STRIP"
++fi
++
++test -z "$STRIP" && STRIP=:
++
++
++
++
++
++
++if test -n "$ac_tool_prefix"; then
++  # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
++set dummy ${ac_tool_prefix}ranlib; ac_word=$2
++{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
++$as_echo_n "checking for $ac_word... " >&6; }
++if test "${ac_cv_prog_RANLIB+set}" = set; then
++  $as_echo_n "(cached) " >&6
++else
++  if test -n "$RANLIB"; then
++  ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++  IFS=$as_save_IFS
++  test -z "$as_dir" && as_dir=.
++  for ac_exec_ext in '' $ac_executable_extensions; do
++  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++    ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
++    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
++    break 2
++  fi
++done
++done
++IFS=$as_save_IFS
++
++fi
++fi
++RANLIB=$ac_cv_prog_RANLIB
++if test -n "$RANLIB"; then
++  { $as_echo "$as_me:$LINENO: result: $RANLIB" >&5
++$as_echo "$RANLIB" >&6; }
++else
++  { $as_echo "$as_me:$LINENO: result: no" >&5
++$as_echo "no" >&6; }
++fi
++
++
++fi
++if test -z "$ac_cv_prog_RANLIB"; then
++  ac_ct_RANLIB=$RANLIB
++  # Extract the first word of "ranlib", so it can be a program name with args.
++set dummy ranlib; ac_word=$2
++{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
++$as_echo_n "checking for $ac_word... " >&6; }
++if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then
++  $as_echo_n "(cached) " >&6
++else
++  if test -n "$ac_ct_RANLIB"; then
++  ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++  IFS=$as_save_IFS
++  test -z "$as_dir" && as_dir=.
++  for ac_exec_ext in '' $ac_executable_extensions; do
++  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++    ac_cv_prog_ac_ct_RANLIB="ranlib"
++    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
++    break 2
++  fi
++done
++done
++IFS=$as_save_IFS
++
++fi
++fi
++ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB
++if test -n "$ac_ct_RANLIB"; then
++  { $as_echo "$as_me:$LINENO: result: $ac_ct_RANLIB" >&5
++$as_echo "$ac_ct_RANLIB" >&6; }
++else
++  { $as_echo "$as_me:$LINENO: result: no" >&5
++$as_echo "no" >&6; }
++fi
++
++  if test "x$ac_ct_RANLIB" = x; then
++    RANLIB=":"
++  else
++    case $cross_compiling:$ac_tool_warned in
++yes:)
++{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5
++$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
++ac_tool_warned=yes ;;
++esac
++    RANLIB=$ac_ct_RANLIB
++  fi
++else
++  RANLIB="$ac_cv_prog_RANLIB"
++fi
++
++test -z "$RANLIB" && RANLIB=:
++
++
++
++
++
++
++# Determine commands to create old-style static archives.
++old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs'
++old_postinstall_cmds='chmod 644 $oldlib'
++old_postuninstall_cmds=
++
++if test -n "$RANLIB"; then
++  case $host_os in
++  openbsd*)
++    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib"
++    ;;
++  *)
++    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib"
++    ;;
++  esac
++  old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib"
++fi
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++# If no C compiler was specified, use CC.
++LTCC=${LTCC-"$CC"}
++
++# If no C compiler flags were specified, use CFLAGS.
++LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
++
++# Allow CC to be a program name with arguments.
++compiler=$CC
++
++
++# Check for command to grab the raw symbol name followed by C symbol from nm.
++{ $as_echo "$as_me:$LINENO: checking command to parse $NM output from $compiler object" >&5
++$as_echo_n "checking command to parse $NM output from $compiler object... " >&6; }
++if test "${lt_cv_sys_global_symbol_pipe+set}" = set; then
++  $as_echo_n "(cached) " >&6
++else
++
++# These are sane defaults that work on at least a few old systems.
++# [They come from Ultrix.  What could be older than Ultrix?!! ;)]
++
++# Character class describing NM global symbol codes.
++symcode='[BCDEGRST]'
++
++# Regexp to match symbols that can be accessed directly from C.
++sympat='\([_A-Za-z][_A-Za-z0-9]*\)'
++
++# Define system-specific variables.
++case $host_os in
++aix*)
++  symcode='[BCDT]'
++  ;;
++cygwin* | mingw* | pw32* | cegcc*)
++  symcode='[ABCDGISTW]'
++  ;;
++hpux*)
++  if test "$host_cpu" = ia64; then
++    symcode='[ABCDEGRST]'
++  fi
++  ;;
++irix* | nonstopux*)
++  symcode='[BCDEGRST]'
++  ;;
++osf*)
++  symcode='[BCDEGQRST]'
++  ;;
++solaris*)
++  symcode='[BDRT]'
++  ;;
++sco3.2v5*)
++  symcode='[DT]'
++  ;;
++sysv4.2uw2*)
++  symcode='[DT]'
++  ;;
++sysv5* | sco5v6* | unixware* | OpenUNIX*)
++  symcode='[ABDT]'
++  ;;
++sysv4)
++  symcode='[DFNSTU]'
++  ;;
++esac
++
++# If we're using GNU nm, then use its standard symbol codes.
++case `$NM -V 2>&1` in
++*GNU* | *'with BFD'*)
++  symcode='[ABCDGIRSTW]' ;;
++esac
++
++# Transform an extracted symbol line into a proper C declaration.
++# Some systems (esp. on ia64) link data and code symbols differently,
++# so use this general approach.
++lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
++
++# Transform an extracted symbol line into symbol name and symbol address
++lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/  {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/  {\"\2\", (void *) \&\2},/p'"
++lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([^ ]*\) $/  {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \(lib[^ ]*\)$/  {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/  {\"lib\2\", (void *) \&\2},/p'"
++
++# Handle CRLF in mingw tool chain
++opt_cr=
++case $build_os in
++mingw*)
++  opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp
++  ;;
++esac
++
++# Try without a prefix underscore, then with it.
++for ac_symprfx in "" "_"; do
++
++  # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol.
++  symxfrm="\\1 $ac_symprfx\\2 \\2"
++
++  # Write the raw and C identifiers.
++  if test "$lt_cv_nm_interface" = "MS dumpbin"; then
++    # Fake it for dumpbin and say T for any non-static function
++    # and D for any global variable.
++    # Also find C++ and __fastcall symbols from MSVC++,
++    # which start with @ or ?.
++    lt_cv_sys_global_symbol_pipe="$AWK '"\
++"     {last_section=section; section=\$ 3};"\
++"     /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\
++"     \$ 0!~/External *\|/{next};"\
++"     / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\
++"     {if(hide[section]) next};"\
++"     {f=0}; \$ 0~/\(\).*\|/{f=1}; {printf f ? \"T \" : \"D \"};"\
++"     {split(\$ 0, a, /\||\r/); split(a[2], s)};"\
++"     s[1]~/^[@?]/{print s[1], s[1]; next};"\
++"     s[1]~prfx {split(s[1],t,\"@\"); print t[1], substr(t[1],length(prfx))}"\
++"     ' prfx=^$ac_symprfx"
++  else
++    lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[	 ]\($symcode$symcode*\)[	 ][	 ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
++  fi
++
++  # Check to see that the pipe works correctly.
++  pipe_works=no
++
++  rm -f conftest*
++  cat > conftest.$ac_ext <<_LT_EOF
++#ifdef __cplusplus
++extern "C" {
++#endif
++char nm_test_var;
++void nm_test_func(void);
++void nm_test_func(void){}
++#ifdef __cplusplus
++}
++#endif
++int main(){nm_test_var='a';nm_test_func();return(0);}
++_LT_EOF
++
++  if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
++  (eval $ac_compile) 2>&5
++  ac_status=$?
++  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; then
++    # Now try to grab the symbols.
++    nlist=conftest.nm
++    if { (eval echo "$as_me:$LINENO: \"$NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist\"") >&5
++  (eval $NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist) 2>&5
++  ac_status=$?
++  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } && test -s "$nlist"; then
++      # Try sorting and uniquifying the output.
++      if sort "$nlist" | uniq > "$nlist"T; then
++	mv -f "$nlist"T "$nlist"
++      else
++	rm -f "$nlist"T
++      fi
++
++      # Make sure that we snagged all the symbols we need.
++      if $GREP ' nm_test_var$' "$nlist" >/dev/null; then
++	if $GREP ' nm_test_func$' "$nlist" >/dev/null; then
++	  cat <<_LT_EOF > conftest.$ac_ext
++#ifdef __cplusplus
++extern "C" {
++#endif
++
++_LT_EOF
++	  # Now generate the symbol file.
++	  eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext'
++
++	  cat <<_LT_EOF >> conftest.$ac_ext
++
++/* The mapping between symbol names and symbols.  */
++const struct {
++  const char *name;
++  void       *address;
++}
++lt__PROGRAM__LTX_preloaded_symbols[] =
++{
++  { "@PROGRAM@", (void *) 0 },
++_LT_EOF
++	  $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/  {\"\2\", (void *) \&\2},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext
++	  cat <<\_LT_EOF >> conftest.$ac_ext
++  {0, (void *) 0}
++};
++
++/* This works around a problem in FreeBSD linker */
++#ifdef FREEBSD_WORKAROUND
++static const void *lt_preloaded_setup() {
++  return lt__PROGRAM__LTX_preloaded_symbols;
++}
++#endif
++
++#ifdef __cplusplus
++}
++#endif
++_LT_EOF
++	  # Now try linking the two files.
++	  mv conftest.$ac_objext conftstm.$ac_objext
++	  lt_save_LIBS="$LIBS"
++	  lt_save_CFLAGS="$CFLAGS"
++	  LIBS="conftstm.$ac_objext"
++	  CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag"
++	  if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
++  (eval $ac_link) 2>&5
++  ac_status=$?
++  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } && test -s conftest${ac_exeext}; then
++	    pipe_works=yes
++	  fi
++	  LIBS="$lt_save_LIBS"
++	  CFLAGS="$lt_save_CFLAGS"
++	else
++	  echo "cannot find nm_test_func in $nlist" >&5
++	fi
++      else
++	echo "cannot find nm_test_var in $nlist" >&5
++      fi
++    else
++      echo "cannot run $lt_cv_sys_global_symbol_pipe" >&5
++    fi
++  else
++    echo "$progname: failed program was:" >&5
++    cat conftest.$ac_ext >&5
++  fi
++  rm -rf conftest* conftst*
++
++  # Do not use the global_symbol_pipe unless it works.
++  if test "$pipe_works" = yes; then
++    break
++  else
++    lt_cv_sys_global_symbol_pipe=
++  fi
++done
++
++fi
++
++if test -z "$lt_cv_sys_global_symbol_pipe"; then
++  lt_cv_sys_global_symbol_to_cdecl=
++fi
++if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then
++  { $as_echo "$as_me:$LINENO: result: failed" >&5
++$as_echo "failed" >&6; }
++else
++  { $as_echo "$as_me:$LINENO: result: ok" >&5
++$as_echo "ok" >&6; }
++fi
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++# Check whether --enable-libtool-lock was given.
++if test "${enable_libtool_lock+set}" = set; then
++  enableval=$enable_libtool_lock;
++fi
++
++test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
++
++# Some flags need to be propagated to the compiler or linker for good
++# libtool support.
++case $host in
++ia64-*-hpux*)
++  # Find out which ABI we are using.
++  echo 'int i;' > conftest.$ac_ext
++  if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
++  (eval $ac_compile) 2>&5
++  ac_status=$?
++  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; then
++    case `/usr/bin/file conftest.$ac_objext` in
++      *ELF-32*)
++	HPUX_IA64_MODE="32"
++	;;
++      *ELF-64*)
++	HPUX_IA64_MODE="64"
++	;;
++    esac
++  fi
++  rm -rf conftest*
++  ;;
++*-*-irix6*)
++  # Find out which ABI we are using.
++  echo '#line 8589 "configure"' > conftest.$ac_ext
++  if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
++  (eval $ac_compile) 2>&5
++  ac_status=$?
++  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; then
++    if test "$lt_cv_prog_gnu_ld" = yes; then
++      case `/usr/bin/file conftest.$ac_objext` in
++	*32-bit*)
++	  LD="${LD-ld} -melf32bsmip"
++	  ;;
++	*N32*)
++	  LD="${LD-ld} -melf32bmipn32"
++	  ;;
++	*64-bit*)
++	  LD="${LD-ld} -melf64bmip"
++	;;
++      esac
++    else
++      case `/usr/bin/file conftest.$ac_objext` in
++	*32-bit*)
++	  LD="${LD-ld} -32"
++	  ;;
++	*N32*)
++	  LD="${LD-ld} -n32"
++	  ;;
++	*64-bit*)
++	  LD="${LD-ld} -64"
++	  ;;
++      esac
++    fi
++  fi
++  rm -rf conftest*
++  ;;
++
++x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \
++s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
++  # Find out which ABI we are using.
++  echo 'int i;' > conftest.$ac_ext
++  if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
++  (eval $ac_compile) 2>&5
++  ac_status=$?
++  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; then
++    case `/usr/bin/file conftest.o` in
++      *32-bit*)
++	case $host in
++	  x86_64-*kfreebsd*-gnu)
++	    LD="${LD-ld} -m elf_i386_fbsd"
++	    ;;
++	  x86_64-*linux*)
++	    LD="${LD-ld} -m elf_i386"
++	    ;;
++	  ppc64-*linux*|powerpc64-*linux*)
++	    LD="${LD-ld} -m elf32ppclinux"
++	    ;;
++	  s390x-*linux*)
++	    LD="${LD-ld} -m elf_s390"
++	    ;;
++	  sparc64-*linux*)
++	    LD="${LD-ld} -m elf32_sparc"
++	    ;;
++	esac
++	;;
++      *64-bit*)
++	case $host in
++	  x86_64-*kfreebsd*-gnu)
++	    LD="${LD-ld} -m elf_x86_64_fbsd"
++	    ;;
++	  x86_64-*linux*)
++	    LD="${LD-ld} -m elf_x86_64"
++	    ;;
++	  ppc*-*linux*|powerpc*-*linux*)
++	    LD="${LD-ld} -m elf64ppc"
++	    ;;
++	  s390*-*linux*|s390*-*tpf*)
++	    LD="${LD-ld} -m elf64_s390"
++	    ;;
++	  sparc*-*linux*)
++	    LD="${LD-ld} -m elf64_sparc"
++	    ;;
++	esac
++	;;
++    esac
++  fi
++  rm -rf conftest*
++  ;;
++
++*-*-sco3.2v5*)
++  # On SCO OpenServer 5, we need -belf to get full-featured binaries.
++  SAVE_CFLAGS="$CFLAGS"
++  CFLAGS="$CFLAGS -belf"
++  { $as_echo "$as_me:$LINENO: checking whether the C compiler needs -belf" >&5
++$as_echo_n "checking whether the C compiler needs -belf... " >&6; }
++if test "${lt_cv_cc_needs_belf+set}" = set; then
++  $as_echo_n "(cached) " >&6
++else
++  ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++
++     cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++
++int
++main ()
++{
++
++  ;
++  return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++  *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++  (eval "$ac_link") 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } && {
++	 test -z "$ac_c_werror_flag" ||
++	 test ! -s conftest.err
++       } && test -s conftest$ac_exeext && {
++	 test "$cross_compiling" = yes ||
++	 $as_test_x conftest$ac_exeext
++       }; then
++  lt_cv_cc_needs_belf=yes
++else
++  $as_echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++	lt_cv_cc_needs_belf=no
++fi
++
++rm -rf conftest.dSYM
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++      conftest$ac_exeext conftest.$ac_ext
++     ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++
++fi
++{ $as_echo "$as_me:$LINENO: result: $lt_cv_cc_needs_belf" >&5
++$as_echo "$lt_cv_cc_needs_belf" >&6; }
++  if test x"$lt_cv_cc_needs_belf" != x"yes"; then
++    # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
++    CFLAGS="$SAVE_CFLAGS"
++  fi
++  ;;
++sparc*-*solaris*)
++  # Find out which ABI we are using.
++  echo 'int i;' > conftest.$ac_ext
++  if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
++  (eval $ac_compile) 2>&5
++  ac_status=$?
++  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; then
++    case `/usr/bin/file conftest.o` in
++    *64-bit*)
++      case $lt_cv_prog_gnu_ld in
++      yes*) LD="${LD-ld} -m elf64_sparc" ;;
++      *)
++	if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then
++	  LD="${LD-ld} -64"
++	fi
++	;;
++      esac
++      ;;
++    esac
++  fi
++  rm -rf conftest*
++  ;;
++esac
++
++need_locks="$enable_libtool_lock"
++
++
++  case $host_os in
++    rhapsody* | darwin*)
++    if test -n "$ac_tool_prefix"; then
++  # Extract the first word of "${ac_tool_prefix}dsymutil", so it can be a program name with args.
++set dummy ${ac_tool_prefix}dsymutil; ac_word=$2
++{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
++$as_echo_n "checking for $ac_word... " >&6; }
++if test "${ac_cv_prog_DSYMUTIL+set}" = set; then
++  $as_echo_n "(cached) " >&6
++else
++  if test -n "$DSYMUTIL"; then
++  ac_cv_prog_DSYMUTIL="$DSYMUTIL" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++  IFS=$as_save_IFS
++  test -z "$as_dir" && as_dir=.
++  for ac_exec_ext in '' $ac_executable_extensions; do
++  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++    ac_cv_prog_DSYMUTIL="${ac_tool_prefix}dsymutil"
++    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
++    break 2
++  fi
++done
++done
++IFS=$as_save_IFS
++
++fi
++fi
++DSYMUTIL=$ac_cv_prog_DSYMUTIL
++if test -n "$DSYMUTIL"; then
++  { $as_echo "$as_me:$LINENO: result: $DSYMUTIL" >&5
++$as_echo "$DSYMUTIL" >&6; }
++else
++  { $as_echo "$as_me:$LINENO: result: no" >&5
++$as_echo "no" >&6; }
++fi
++
++
++fi
++if test -z "$ac_cv_prog_DSYMUTIL"; then
++  ac_ct_DSYMUTIL=$DSYMUTIL
++  # Extract the first word of "dsymutil", so it can be a program name with args.
++set dummy dsymutil; ac_word=$2
++{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
++$as_echo_n "checking for $ac_word... " >&6; }
++if test "${ac_cv_prog_ac_ct_DSYMUTIL+set}" = set; then
++  $as_echo_n "(cached) " >&6
++else
++  if test -n "$ac_ct_DSYMUTIL"; then
++  ac_cv_prog_ac_ct_DSYMUTIL="$ac_ct_DSYMUTIL" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++  IFS=$as_save_IFS
++  test -z "$as_dir" && as_dir=.
++  for ac_exec_ext in '' $ac_executable_extensions; do
++  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++    ac_cv_prog_ac_ct_DSYMUTIL="dsymutil"
++    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
++    break 2
++  fi
++done
++done
++IFS=$as_save_IFS
++
++fi
++fi
++ac_ct_DSYMUTIL=$ac_cv_prog_ac_ct_DSYMUTIL
++if test -n "$ac_ct_DSYMUTIL"; then
++  { $as_echo "$as_me:$LINENO: result: $ac_ct_DSYMUTIL" >&5
++$as_echo "$ac_ct_DSYMUTIL" >&6; }
++else
++  { $as_echo "$as_me:$LINENO: result: no" >&5
++$as_echo "no" >&6; }
++fi
++
++  if test "x$ac_ct_DSYMUTIL" = x; then
++    DSYMUTIL=":"
++  else
++    case $cross_compiling:$ac_tool_warned in
++yes:)
++{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5
++$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
++ac_tool_warned=yes ;;
++esac
++    DSYMUTIL=$ac_ct_DSYMUTIL
++  fi
++else
++  DSYMUTIL="$ac_cv_prog_DSYMUTIL"
++fi
++
++    if test -n "$ac_tool_prefix"; then
++  # Extract the first word of "${ac_tool_prefix}nmedit", so it can be a program name with args.
++set dummy ${ac_tool_prefix}nmedit; ac_word=$2
++{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
++$as_echo_n "checking for $ac_word... " >&6; }
++if test "${ac_cv_prog_NMEDIT+set}" = set; then
++  $as_echo_n "(cached) " >&6
++else
++  if test -n "$NMEDIT"; then
++  ac_cv_prog_NMEDIT="$NMEDIT" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++  IFS=$as_save_IFS
++  test -z "$as_dir" && as_dir=.
++  for ac_exec_ext in '' $ac_executable_extensions; do
++  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++    ac_cv_prog_NMEDIT="${ac_tool_prefix}nmedit"
++    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
++    break 2
++  fi
++done
++done
++IFS=$as_save_IFS
++
++fi
++fi
++NMEDIT=$ac_cv_prog_NMEDIT
++if test -n "$NMEDIT"; then
++  { $as_echo "$as_me:$LINENO: result: $NMEDIT" >&5
++$as_echo "$NMEDIT" >&6; }
++else
++  { $as_echo "$as_me:$LINENO: result: no" >&5
++$as_echo "no" >&6; }
++fi
++
++
++fi
++if test -z "$ac_cv_prog_NMEDIT"; then
++  ac_ct_NMEDIT=$NMEDIT
++  # Extract the first word of "nmedit", so it can be a program name with args.
++set dummy nmedit; ac_word=$2
++{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
++$as_echo_n "checking for $ac_word... " >&6; }
++if test "${ac_cv_prog_ac_ct_NMEDIT+set}" = set; then
++  $as_echo_n "(cached) " >&6
++else
++  if test -n "$ac_ct_NMEDIT"; then
++  ac_cv_prog_ac_ct_NMEDIT="$ac_ct_NMEDIT" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++  IFS=$as_save_IFS
++  test -z "$as_dir" && as_dir=.
++  for ac_exec_ext in '' $ac_executable_extensions; do
++  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++    ac_cv_prog_ac_ct_NMEDIT="nmedit"
++    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
++    break 2
++  fi
++done
++done
++IFS=$as_save_IFS
++
++fi
++fi
++ac_ct_NMEDIT=$ac_cv_prog_ac_ct_NMEDIT
++if test -n "$ac_ct_NMEDIT"; then
++  { $as_echo "$as_me:$LINENO: result: $ac_ct_NMEDIT" >&5
++$as_echo "$ac_ct_NMEDIT" >&6; }
++else
++  { $as_echo "$as_me:$LINENO: result: no" >&5
++$as_echo "no" >&6; }
++fi
++
++  if test "x$ac_ct_NMEDIT" = x; then
++    NMEDIT=":"
++  else
++    case $cross_compiling:$ac_tool_warned in
++yes:)
++{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5
++$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
++ac_tool_warned=yes ;;
++esac
++    NMEDIT=$ac_ct_NMEDIT
++  fi
++else
++  NMEDIT="$ac_cv_prog_NMEDIT"
++fi
++
++    if test -n "$ac_tool_prefix"; then
++  # Extract the first word of "${ac_tool_prefix}lipo", so it can be a program name with args.
++set dummy ${ac_tool_prefix}lipo; ac_word=$2
++{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
++$as_echo_n "checking for $ac_word... " >&6; }
++if test "${ac_cv_prog_LIPO+set}" = set; then
++  $as_echo_n "(cached) " >&6
++else
++  if test -n "$LIPO"; then
++  ac_cv_prog_LIPO="$LIPO" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++  IFS=$as_save_IFS
++  test -z "$as_dir" && as_dir=.
++  for ac_exec_ext in '' $ac_executable_extensions; do
++  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++    ac_cv_prog_LIPO="${ac_tool_prefix}lipo"
++    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
++    break 2
++  fi
++done
++done
++IFS=$as_save_IFS
++
++fi
++fi
++LIPO=$ac_cv_prog_LIPO
++if test -n "$LIPO"; then
++  { $as_echo "$as_me:$LINENO: result: $LIPO" >&5
++$as_echo "$LIPO" >&6; }
++else
++  { $as_echo "$as_me:$LINENO: result: no" >&5
++$as_echo "no" >&6; }
++fi
++
++
++fi
++if test -z "$ac_cv_prog_LIPO"; then
++  ac_ct_LIPO=$LIPO
++  # Extract the first word of "lipo", so it can be a program name with args.
++set dummy lipo; ac_word=$2
++{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
++$as_echo_n "checking for $ac_word... " >&6; }
++if test "${ac_cv_prog_ac_ct_LIPO+set}" = set; then
++  $as_echo_n "(cached) " >&6
++else
++  if test -n "$ac_ct_LIPO"; then
++  ac_cv_prog_ac_ct_LIPO="$ac_ct_LIPO" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++  IFS=$as_save_IFS
++  test -z "$as_dir" && as_dir=.
++  for ac_exec_ext in '' $ac_executable_extensions; do
++  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++    ac_cv_prog_ac_ct_LIPO="lipo"
++    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
++    break 2
++  fi
++done
++done
++IFS=$as_save_IFS
++
++fi
++fi
++ac_ct_LIPO=$ac_cv_prog_ac_ct_LIPO
++if test -n "$ac_ct_LIPO"; then
++  { $as_echo "$as_me:$LINENO: result: $ac_ct_LIPO" >&5
++$as_echo "$ac_ct_LIPO" >&6; }
++else
++  { $as_echo "$as_me:$LINENO: result: no" >&5
++$as_echo "no" >&6; }
++fi
++
++  if test "x$ac_ct_LIPO" = x; then
++    LIPO=":"
++  else
++    case $cross_compiling:$ac_tool_warned in
++yes:)
++{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5
++$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
++ac_tool_warned=yes ;;
++esac
++    LIPO=$ac_ct_LIPO
++  fi
++else
++  LIPO="$ac_cv_prog_LIPO"
++fi
++
++    if test -n "$ac_tool_prefix"; then
++  # Extract the first word of "${ac_tool_prefix}otool", so it can be a program name with args.
++set dummy ${ac_tool_prefix}otool; ac_word=$2
++{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
++$as_echo_n "checking for $ac_word... " >&6; }
++if test "${ac_cv_prog_OTOOL+set}" = set; then
++  $as_echo_n "(cached) " >&6
++else
++  if test -n "$OTOOL"; then
++  ac_cv_prog_OTOOL="$OTOOL" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++  IFS=$as_save_IFS
++  test -z "$as_dir" && as_dir=.
++  for ac_exec_ext in '' $ac_executable_extensions; do
++  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++    ac_cv_prog_OTOOL="${ac_tool_prefix}otool"
++    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
++    break 2
++  fi
++done
++done
++IFS=$as_save_IFS
++
++fi
++fi
++OTOOL=$ac_cv_prog_OTOOL
++if test -n "$OTOOL"; then
++  { $as_echo "$as_me:$LINENO: result: $OTOOL" >&5
++$as_echo "$OTOOL" >&6; }
++else
++  { $as_echo "$as_me:$LINENO: result: no" >&5
++$as_echo "no" >&6; }
++fi
++
++
++fi
++if test -z "$ac_cv_prog_OTOOL"; then
++  ac_ct_OTOOL=$OTOOL
++  # Extract the first word of "otool", so it can be a program name with args.
++set dummy otool; ac_word=$2
++{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
++$as_echo_n "checking for $ac_word... " >&6; }
++if test "${ac_cv_prog_ac_ct_OTOOL+set}" = set; then
++  $as_echo_n "(cached) " >&6
++else
++  if test -n "$ac_ct_OTOOL"; then
++  ac_cv_prog_ac_ct_OTOOL="$ac_ct_OTOOL" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++  IFS=$as_save_IFS
++  test -z "$as_dir" && as_dir=.
++  for ac_exec_ext in '' $ac_executable_extensions; do
++  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++    ac_cv_prog_ac_ct_OTOOL="otool"
++    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
++    break 2
++  fi
++done
++done
++IFS=$as_save_IFS
++
++fi
++fi
++ac_ct_OTOOL=$ac_cv_prog_ac_ct_OTOOL
++if test -n "$ac_ct_OTOOL"; then
++  { $as_echo "$as_me:$LINENO: result: $ac_ct_OTOOL" >&5
++$as_echo "$ac_ct_OTOOL" >&6; }
++else
++  { $as_echo "$as_me:$LINENO: result: no" >&5
++$as_echo "no" >&6; }
++fi
++
++  if test "x$ac_ct_OTOOL" = x; then
++    OTOOL=":"
++  else
++    case $cross_compiling:$ac_tool_warned in
++yes:)
++{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5
++$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
++ac_tool_warned=yes ;;
++esac
++    OTOOL=$ac_ct_OTOOL
++  fi
++else
++  OTOOL="$ac_cv_prog_OTOOL"
++fi
++
++    if test -n "$ac_tool_prefix"; then
++  # Extract the first word of "${ac_tool_prefix}otool64", so it can be a program name with args.
++set dummy ${ac_tool_prefix}otool64; ac_word=$2
++{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
++$as_echo_n "checking for $ac_word... " >&6; }
++if test "${ac_cv_prog_OTOOL64+set}" = set; then
++  $as_echo_n "(cached) " >&6
++else
++  if test -n "$OTOOL64"; then
++  ac_cv_prog_OTOOL64="$OTOOL64" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++  IFS=$as_save_IFS
++  test -z "$as_dir" && as_dir=.
++  for ac_exec_ext in '' $ac_executable_extensions; do
++  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++    ac_cv_prog_OTOOL64="${ac_tool_prefix}otool64"
++    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
++    break 2
++  fi
++done
++done
++IFS=$as_save_IFS
++
++fi
++fi
++OTOOL64=$ac_cv_prog_OTOOL64
++if test -n "$OTOOL64"; then
++  { $as_echo "$as_me:$LINENO: result: $OTOOL64" >&5
++$as_echo "$OTOOL64" >&6; }
++else
++  { $as_echo "$as_me:$LINENO: result: no" >&5
++$as_echo "no" >&6; }
++fi
++
++
++fi
++if test -z "$ac_cv_prog_OTOOL64"; then
++  ac_ct_OTOOL64=$OTOOL64
++  # Extract the first word of "otool64", so it can be a program name with args.
++set dummy otool64; ac_word=$2
++{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
++$as_echo_n "checking for $ac_word... " >&6; }
++if test "${ac_cv_prog_ac_ct_OTOOL64+set}" = set; then
++  $as_echo_n "(cached) " >&6
++else
++  if test -n "$ac_ct_OTOOL64"; then
++  ac_cv_prog_ac_ct_OTOOL64="$ac_ct_OTOOL64" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++  IFS=$as_save_IFS
++  test -z "$as_dir" && as_dir=.
++  for ac_exec_ext in '' $ac_executable_extensions; do
++  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++    ac_cv_prog_ac_ct_OTOOL64="otool64"
++    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
++    break 2
++  fi
++done
++done
++IFS=$as_save_IFS
++
++fi
++fi
++ac_ct_OTOOL64=$ac_cv_prog_ac_ct_OTOOL64
++if test -n "$ac_ct_OTOOL64"; then
++  { $as_echo "$as_me:$LINENO: result: $ac_ct_OTOOL64" >&5
++$as_echo "$ac_ct_OTOOL64" >&6; }
++else
++  { $as_echo "$as_me:$LINENO: result: no" >&5
++$as_echo "no" >&6; }
++fi
++
++  if test "x$ac_ct_OTOOL64" = x; then
++    OTOOL64=":"
++  else
++    case $cross_compiling:$ac_tool_warned in
++yes:)
++{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5
++$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
++ac_tool_warned=yes ;;
++esac
++    OTOOL64=$ac_ct_OTOOL64
++  fi
++else
++  OTOOL64="$ac_cv_prog_OTOOL64"
++fi
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++    { $as_echo "$as_me:$LINENO: checking for -single_module linker flag" >&5
++$as_echo_n "checking for -single_module linker flag... " >&6; }
++if test "${lt_cv_apple_cc_single_mod+set}" = set; then
++  $as_echo_n "(cached) " >&6
++else
++  lt_cv_apple_cc_single_mod=no
++      if test -z "${LT_MULTI_MODULE}"; then
++	# By default we will add the -single_module flag. You can override
++	# by either setting the environment variable LT_MULTI_MODULE
++	# non-empty at configure time, or by adding -multi_module to the
++	# link flags.
++	rm -rf libconftest.dylib*
++	echo "int foo(void){return 1;}" > conftest.c
++	echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
++-dynamiclib -Wl,-single_module conftest.c" >&5
++	$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
++	  -dynamiclib -Wl,-single_module conftest.c 2>conftest.err
++        _lt_result=$?
++	if test -f libconftest.dylib && test ! -s conftest.err && test $_lt_result = 0; then
++	  lt_cv_apple_cc_single_mod=yes
++	else
++	  cat conftest.err >&5
++	fi
++	rm -rf libconftest.dylib*
++	rm -f conftest.*
++      fi
++fi
++{ $as_echo "$as_me:$LINENO: result: $lt_cv_apple_cc_single_mod" >&5
++$as_echo "$lt_cv_apple_cc_single_mod" >&6; }
++    { $as_echo "$as_me:$LINENO: checking for -exported_symbols_list linker flag" >&5
++$as_echo_n "checking for -exported_symbols_list linker flag... " >&6; }
++if test "${lt_cv_ld_exported_symbols_list+set}" = set; then
++  $as_echo_n "(cached) " >&6
++else
++  lt_cv_ld_exported_symbols_list=no
++      save_LDFLAGS=$LDFLAGS
++      echo "_main" > conftest.sym
++      LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym"
++      cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++
++int
++main ()
++{
++
++  ;
++  return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++  *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++  (eval "$ac_link") 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } && {
++	 test -z "$ac_c_werror_flag" ||
++	 test ! -s conftest.err
++       } && test -s conftest$ac_exeext && {
++	 test "$cross_compiling" = yes ||
++	 $as_test_x conftest$ac_exeext
++       }; then
++  lt_cv_ld_exported_symbols_list=yes
++else
++  $as_echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++	lt_cv_ld_exported_symbols_list=no
++fi
++
++rm -rf conftest.dSYM
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++      conftest$ac_exeext conftest.$ac_ext
++	LDFLAGS="$save_LDFLAGS"
++
++fi
++{ $as_echo "$as_me:$LINENO: result: $lt_cv_ld_exported_symbols_list" >&5
++$as_echo "$lt_cv_ld_exported_symbols_list" >&6; }
++    case $host_os in
++    rhapsody* | darwin1.[012])
++      _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;;
++    darwin1.*)
++      _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
++    darwin*) # darwin 5.x on
++      # if running on 10.5 or later, the deployment target defaults
++      # to the OS version, if on x86, and 10.4, the deployment
++      # target defaults to 10.4. Don't you love it?
++      case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in
++	10.0,*86*-darwin8*|10.0,*-darwin[91]*)
++	  _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
++	10.[012]*)
++	  _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
++	10.*)
++	  _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
++      esac
++    ;;
++  esac
++    if test "$lt_cv_apple_cc_single_mod" = "yes"; then
++      _lt_dar_single_mod='$single_module'
++    fi
++    if test "$lt_cv_ld_exported_symbols_list" = "yes"; then
++      _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym'
++    else
++      _lt_dar_export_syms='~$NMEDIT -s $output_objdir/${libname}-symbols.expsym ${lib}'
++    fi
++    if test "$DSYMUTIL" != ":"; then
++      _lt_dsymutil='~$DSYMUTIL $lib || :'
++    else
++      _lt_dsymutil=
++    fi
++    ;;
++  esac
++
++
++for ac_header in dlfcn.h
++do
++as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
++{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5
++$as_echo_n "checking for $ac_header... " >&6; }
++if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
++  $as_echo_n "(cached) " >&6
++else
++  cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++$ac_includes_default
++
++#include <$ac_header>
++_ACEOF
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++  *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++  (eval "$ac_compile") 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } && {
++	 test -z "$ac_c_werror_flag" ||
++	 test ! -s conftest.err
++       } && test -s conftest.$ac_objext; then
++  eval "$as_ac_Header=yes"
++else
++  $as_echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++	eval "$as_ac_Header=no"
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++fi
++ac_res=`eval 'as_val=${'$as_ac_Header'}
++		 $as_echo "$as_val"'`
++	       { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
++$as_echo "$ac_res" >&6; }
++as_val=`eval 'as_val=${'$as_ac_Header'}
++		 $as_echo "$as_val"'`
++   if test "x$as_val" = x""yes; then
++  cat >>confdefs.h <<_ACEOF
++#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
++_ACEOF
++
++fi
++
++done
++
++
++
++# Set options
++enable_win32_dll=yes
++
++case $host in
++*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-cegcc*)
++  if test -n "$ac_tool_prefix"; then
++  # Extract the first word of "${ac_tool_prefix}as", so it can be a program name with args.
++set dummy ${ac_tool_prefix}as; ac_word=$2
++{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
++$as_echo_n "checking for $ac_word... " >&6; }
++if test "${ac_cv_prog_AS+set}" = set; then
++  $as_echo_n "(cached) " >&6
++else
++  if test -n "$AS"; then
++  ac_cv_prog_AS="$AS" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++  IFS=$as_save_IFS
++  test -z "$as_dir" && as_dir=.
++  for ac_exec_ext in '' $ac_executable_extensions; do
++  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++    ac_cv_prog_AS="${ac_tool_prefix}as"
++    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
++    break 2
++  fi
++done
++done
++IFS=$as_save_IFS
++
++fi
++fi
++AS=$ac_cv_prog_AS
++if test -n "$AS"; then
++  { $as_echo "$as_me:$LINENO: result: $AS" >&5
++$as_echo "$AS" >&6; }
++else
++  { $as_echo "$as_me:$LINENO: result: no" >&5
++$as_echo "no" >&6; }
++fi
++
++
++fi
++if test -z "$ac_cv_prog_AS"; then
++  ac_ct_AS=$AS
++  # Extract the first word of "as", so it can be a program name with args.
++set dummy as; ac_word=$2
++{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
++$as_echo_n "checking for $ac_word... " >&6; }
++if test "${ac_cv_prog_ac_ct_AS+set}" = set; then
++  $as_echo_n "(cached) " >&6
++else
++  if test -n "$ac_ct_AS"; then
++  ac_cv_prog_ac_ct_AS="$ac_ct_AS" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++  IFS=$as_save_IFS
++  test -z "$as_dir" && as_dir=.
++  for ac_exec_ext in '' $ac_executable_extensions; do
++  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++    ac_cv_prog_ac_ct_AS="as"
++    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
++    break 2
++  fi
++done
++done
++IFS=$as_save_IFS
++
++fi
++fi
++ac_ct_AS=$ac_cv_prog_ac_ct_AS
++if test -n "$ac_ct_AS"; then
++  { $as_echo "$as_me:$LINENO: result: $ac_ct_AS" >&5
++$as_echo "$ac_ct_AS" >&6; }
++else
++  { $as_echo "$as_me:$LINENO: result: no" >&5
++$as_echo "no" >&6; }
++fi
++
++  if test "x$ac_ct_AS" = x; then
++    AS="false"
++  else
++    case $cross_compiling:$ac_tool_warned in
++yes:)
++{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5
++$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
++ac_tool_warned=yes ;;
++esac
++    AS=$ac_ct_AS
++  fi
++else
++  AS="$ac_cv_prog_AS"
++fi
++
++  if test -n "$ac_tool_prefix"; then
++  # Extract the first word of "${ac_tool_prefix}dlltool", so it can be a program name with args.
++set dummy ${ac_tool_prefix}dlltool; ac_word=$2
++{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
++$as_echo_n "checking for $ac_word... " >&6; }
++if test "${ac_cv_prog_DLLTOOL+set}" = set; then
++  $as_echo_n "(cached) " >&6
++else
++  if test -n "$DLLTOOL"; then
++  ac_cv_prog_DLLTOOL="$DLLTOOL" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++  IFS=$as_save_IFS
++  test -z "$as_dir" && as_dir=.
++  for ac_exec_ext in '' $ac_executable_extensions; do
++  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++    ac_cv_prog_DLLTOOL="${ac_tool_prefix}dlltool"
++    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
++    break 2
++  fi
++done
++done
++IFS=$as_save_IFS
++
++fi
++fi
++DLLTOOL=$ac_cv_prog_DLLTOOL
++if test -n "$DLLTOOL"; then
++  { $as_echo "$as_me:$LINENO: result: $DLLTOOL" >&5
++$as_echo "$DLLTOOL" >&6; }
++else
++  { $as_echo "$as_me:$LINENO: result: no" >&5
++$as_echo "no" >&6; }
++fi
++
++
++fi
++if test -z "$ac_cv_prog_DLLTOOL"; then
++  ac_ct_DLLTOOL=$DLLTOOL
++  # Extract the first word of "dlltool", so it can be a program name with args.
++set dummy dlltool; ac_word=$2
++{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
++$as_echo_n "checking for $ac_word... " >&6; }
++if test "${ac_cv_prog_ac_ct_DLLTOOL+set}" = set; then
++  $as_echo_n "(cached) " >&6
++else
++  if test -n "$ac_ct_DLLTOOL"; then
++  ac_cv_prog_ac_ct_DLLTOOL="$ac_ct_DLLTOOL" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++  IFS=$as_save_IFS
++  test -z "$as_dir" && as_dir=.
++  for ac_exec_ext in '' $ac_executable_extensions; do
++  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++    ac_cv_prog_ac_ct_DLLTOOL="dlltool"
++    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
++    break 2
++  fi
++done
++done
++IFS=$as_save_IFS
++
++fi
++fi
++ac_ct_DLLTOOL=$ac_cv_prog_ac_ct_DLLTOOL
++if test -n "$ac_ct_DLLTOOL"; then
++  { $as_echo "$as_me:$LINENO: result: $ac_ct_DLLTOOL" >&5
++$as_echo "$ac_ct_DLLTOOL" >&6; }
++else
++  { $as_echo "$as_me:$LINENO: result: no" >&5
++$as_echo "no" >&6; }
++fi
++
++  if test "x$ac_ct_DLLTOOL" = x; then
++    DLLTOOL="false"
++  else
++    case $cross_compiling:$ac_tool_warned in
++yes:)
++{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5
++$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
++ac_tool_warned=yes ;;
++esac
++    DLLTOOL=$ac_ct_DLLTOOL
++  fi
++else
++  DLLTOOL="$ac_cv_prog_DLLTOOL"
++fi
++
++  if test -n "$ac_tool_prefix"; then
++  # Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args.
++set dummy ${ac_tool_prefix}objdump; ac_word=$2
++{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
++$as_echo_n "checking for $ac_word... " >&6; }
++if test "${ac_cv_prog_OBJDUMP+set}" = set; then
++  $as_echo_n "(cached) " >&6
++else
++  if test -n "$OBJDUMP"; then
++  ac_cv_prog_OBJDUMP="$OBJDUMP" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++  IFS=$as_save_IFS
++  test -z "$as_dir" && as_dir=.
++  for ac_exec_ext in '' $ac_executable_extensions; do
++  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++    ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump"
++    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
++    break 2
++  fi
++done
++done
++IFS=$as_save_IFS
++
++fi
++fi
++OBJDUMP=$ac_cv_prog_OBJDUMP
++if test -n "$OBJDUMP"; then
++  { $as_echo "$as_me:$LINENO: result: $OBJDUMP" >&5
++$as_echo "$OBJDUMP" >&6; }
++else
++  { $as_echo "$as_me:$LINENO: result: no" >&5
++$as_echo "no" >&6; }
++fi
++
++
++fi
++if test -z "$ac_cv_prog_OBJDUMP"; then
++  ac_ct_OBJDUMP=$OBJDUMP
++  # Extract the first word of "objdump", so it can be a program name with args.
++set dummy objdump; ac_word=$2
++{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
++$as_echo_n "checking for $ac_word... " >&6; }
++if test "${ac_cv_prog_ac_ct_OBJDUMP+set}" = set; then
++  $as_echo_n "(cached) " >&6
++else
++  if test -n "$ac_ct_OBJDUMP"; then
++  ac_cv_prog_ac_ct_OBJDUMP="$ac_ct_OBJDUMP" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++  IFS=$as_save_IFS
++  test -z "$as_dir" && as_dir=.
++  for ac_exec_ext in '' $ac_executable_extensions; do
++  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++    ac_cv_prog_ac_ct_OBJDUMP="objdump"
++    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
++    break 2
++  fi
++done
++done
++IFS=$as_save_IFS
++
++fi
++fi
++ac_ct_OBJDUMP=$ac_cv_prog_ac_ct_OBJDUMP
++if test -n "$ac_ct_OBJDUMP"; then
++  { $as_echo "$as_me:$LINENO: result: $ac_ct_OBJDUMP" >&5
++$as_echo "$ac_ct_OBJDUMP" >&6; }
++else
++  { $as_echo "$as_me:$LINENO: result: no" >&5
++$as_echo "no" >&6; }
++fi
++
++  if test "x$ac_ct_OBJDUMP" = x; then
++    OBJDUMP="false"
++  else
++    case $cross_compiling:$ac_tool_warned in
++yes:)
++{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5
++$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
++ac_tool_warned=yes ;;
++esac
++    OBJDUMP=$ac_ct_OBJDUMP
++  fi
++else
++  OBJDUMP="$ac_cv_prog_OBJDUMP"
++fi
++
++  ;;
++esac
++
++test -z "$AS" && AS=as
++
++
++
++
++
++test -z "$DLLTOOL" && DLLTOOL=dlltool
++
++
++
++
++
++test -z "$OBJDUMP" && OBJDUMP=objdump
++
++
++
++
++
++
++
++        enable_dlopen=no
++
++
++
++            # Check whether --enable-shared was given.
++if test "${enable_shared+set}" = set; then
++  enableval=$enable_shared; p=${PACKAGE-default}
++    case $enableval in
++    yes) enable_shared=yes ;;
++    no) enable_shared=no ;;
++    *)
++      enable_shared=no
++      # Look at the argument we got.  We use all the common list separators.
++      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
++      for pkg in $enableval; do
++	IFS="$lt_save_ifs"
++	if test "X$pkg" = "X$p"; then
++	  enable_shared=yes
++	fi
++      done
++      IFS="$lt_save_ifs"
++      ;;
++    esac
++else
++  enable_shared=yes
++fi
++
++
++
++
++
++
++
++
++
++  # Check whether --enable-static was given.
++if test "${enable_static+set}" = set; then
++  enableval=$enable_static; p=${PACKAGE-default}
++    case $enableval in
++    yes) enable_static=yes ;;
++    no) enable_static=no ;;
++    *)
++     enable_static=no
++      # Look at the argument we got.  We use all the common list separators.
++      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
++      for pkg in $enableval; do
++	IFS="$lt_save_ifs"
++	if test "X$pkg" = "X$p"; then
++	  enable_static=yes
++	fi
++      done
++      IFS="$lt_save_ifs"
++      ;;
++    esac
++else
++  enable_static=yes
++fi
++
++
++
++
++
++
++
++
++
++
++# Check whether --with-pic was given.
++if test "${with_pic+set}" = set; then
++  withval=$with_pic; pic_mode="$withval"
++else
++  pic_mode=default
++fi
++
++
++test -z "$pic_mode" && pic_mode=default
++
++
++
++
++
++
++
++  # Check whether --enable-fast-install was given.
++if test "${enable_fast_install+set}" = set; then
++  enableval=$enable_fast_install; p=${PACKAGE-default}
++    case $enableval in
++    yes) enable_fast_install=yes ;;
++    no) enable_fast_install=no ;;
++    *)
++      enable_fast_install=no
++      # Look at the argument we got.  We use all the common list separators.
++      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
++      for pkg in $enableval; do
++	IFS="$lt_save_ifs"
++	if test "X$pkg" = "X$p"; then
++	  enable_fast_install=yes
++	fi
++      done
++      IFS="$lt_save_ifs"
++      ;;
++    esac
++else
++  enable_fast_install=yes
++fi
++
++
++
++
++
++
++
++
++
++
++
++# This can be used to rebuild libtool when needed
++LIBTOOL_DEPS="$ltmain"
++
++# Always use our own libtool.
++LIBTOOL='$(SHELL) $(top_builddir)/libtool'
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++test -z "$LN_S" && LN_S="ln -s"
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++if test -n "${ZSH_VERSION+set}" ; then
++   setopt NO_GLOB_SUBST
++fi
++
++{ $as_echo "$as_me:$LINENO: checking for objdir" >&5
++$as_echo_n "checking for objdir... " >&6; }
++if test "${lt_cv_objdir+set}" = set; then
++  $as_echo_n "(cached) " >&6
++else
++  rm -f .libs 2>/dev/null
++mkdir .libs 2>/dev/null
++if test -d .libs; then
++  lt_cv_objdir=.libs
++else
++  # MS-DOS does not allow filenames that begin with a dot.
++  lt_cv_objdir=_libs
++fi
++rmdir .libs 2>/dev/null
++fi
++{ $as_echo "$as_me:$LINENO: result: $lt_cv_objdir" >&5
++$as_echo "$lt_cv_objdir" >&6; }
++objdir=$lt_cv_objdir
++
++
++
++
++
++cat >>confdefs.h <<_ACEOF
++#define LT_OBJDIR "$lt_cv_objdir/"
++_ACEOF
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++case $host_os in
++aix3*)
++  # AIX sometimes has problems with the GCC collect2 program.  For some
++  # reason, if we set the COLLECT_NAMES environment variable, the problems
++  # vanish in a puff of smoke.
++  if test "X${COLLECT_NAMES+set}" != Xset; then
++    COLLECT_NAMES=
++    export COLLECT_NAMES
++  fi
++  ;;
++esac
++
++# Sed substitution that helps us do robust quoting.  It backslashifies
++# metacharacters that are still active within double-quoted strings.
++sed_quote_subst='s/\(["`$\\]\)/\\\1/g'
++
++# Same as above, but do not quote variable references.
++double_quote_subst='s/\(["`\\]\)/\\\1/g'
++
++# Sed substitution to delay expansion of an escaped shell variable in a
++# double_quote_subst'ed string.
++delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
++
++# Sed substitution to delay expansion of an escaped single quote.
++delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g'
++
++# Sed substitution to avoid accidental globbing in evaled expressions
++no_glob_subst='s/\*/\\\*/g'
++
++# Global variables:
++ofile=libtool
++can_build_shared=yes
++
++# All known linkers require a `.a' archive for static linking (except MSVC,
++# which needs '.lib').
++libext=a
++
++with_gnu_ld="$lt_cv_prog_gnu_ld"
++
++old_CC="$CC"
++old_CFLAGS="$CFLAGS"
++
++# Set sane defaults for various variables
++test -z "$CC" && CC=cc
++test -z "$LTCC" && LTCC=$CC
++test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS
++test -z "$LD" && LD=ld
++test -z "$ac_objext" && ac_objext=o
++
++for cc_temp in $compiler""; do
++  case $cc_temp in
++    compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
++    distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
++    \-*) ;;
++    *) break;;
++  esac
++done
++cc_basename=`$ECHO "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
++
++
++# Only perform the check for file, if the check method requires it
++test -z "$MAGIC_CMD" && MAGIC_CMD=file
++case $deplibs_check_method in
++file_magic*)
++  if test "$file_magic_cmd" = '$MAGIC_CMD'; then
++    { $as_echo "$as_me:$LINENO: checking for ${ac_tool_prefix}file" >&5
++$as_echo_n "checking for ${ac_tool_prefix}file... " >&6; }
++if test "${lt_cv_path_MAGIC_CMD+set}" = set; then
++  $as_echo_n "(cached) " >&6
++else
++  case $MAGIC_CMD in
++[\\/*] |  ?:[\\/]*)
++  lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
++  ;;
++*)
++  lt_save_MAGIC_CMD="$MAGIC_CMD"
++  lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
++  ac_dummy="/usr/bin$PATH_SEPARATOR$PATH"
++  for ac_dir in $ac_dummy; do
++    IFS="$lt_save_ifs"
++    test -z "$ac_dir" && ac_dir=.
++    if test -f $ac_dir/${ac_tool_prefix}file; then
++      lt_cv_path_MAGIC_CMD="$ac_dir/${ac_tool_prefix}file"
++      if test -n "$file_magic_test_file"; then
++	case $deplibs_check_method in
++	"file_magic "*)
++	  file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
++	  MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
++	  if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
++	    $EGREP "$file_magic_regex" > /dev/null; then
++	    :
++	  else
++	    cat <<_LT_EOF 1>&2
++
++*** Warning: the command libtool uses to detect shared libraries,
++*** $file_magic_cmd, produces output that libtool cannot recognize.
++*** The result is that libtool may fail to recognize shared libraries
++*** as such.  This will affect the creation of libtool libraries that
++*** depend on shared libraries, but programs linked with such libtool
++*** libraries will work regardless of this problem.  Nevertheless, you
++*** may want to report the problem to your system manager and/or to
++*** bug-libtool@gnu.org
++
++_LT_EOF
++	  fi ;;
++	esac
++      fi
++      break
++    fi
++  done
++  IFS="$lt_save_ifs"
++  MAGIC_CMD="$lt_save_MAGIC_CMD"
++  ;;
++esac
++fi
++
++MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
++if test -n "$MAGIC_CMD"; then
++  { $as_echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5
++$as_echo "$MAGIC_CMD" >&6; }
++else
++  { $as_echo "$as_me:$LINENO: result: no" >&5
++$as_echo "no" >&6; }
++fi
++
++
++
++
++
++if test -z "$lt_cv_path_MAGIC_CMD"; then
++  if test -n "$ac_tool_prefix"; then
++    { $as_echo "$as_me:$LINENO: checking for file" >&5
++$as_echo_n "checking for file... " >&6; }
++if test "${lt_cv_path_MAGIC_CMD+set}" = set; then
++  $as_echo_n "(cached) " >&6
++else
++  case $MAGIC_CMD in
++[\\/*] |  ?:[\\/]*)
++  lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
++  ;;
++*)
++  lt_save_MAGIC_CMD="$MAGIC_CMD"
++  lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
++  ac_dummy="/usr/bin$PATH_SEPARATOR$PATH"
++  for ac_dir in $ac_dummy; do
++    IFS="$lt_save_ifs"
++    test -z "$ac_dir" && ac_dir=.
++    if test -f $ac_dir/file; then
++      lt_cv_path_MAGIC_CMD="$ac_dir/file"
++      if test -n "$file_magic_test_file"; then
++	case $deplibs_check_method in
++	"file_magic "*)
++	  file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
++	  MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
++	  if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
++	    $EGREP "$file_magic_regex" > /dev/null; then
++	    :
++	  else
++	    cat <<_LT_EOF 1>&2
++
++*** Warning: the command libtool uses to detect shared libraries,
++*** $file_magic_cmd, produces output that libtool cannot recognize.
++*** The result is that libtool may fail to recognize shared libraries
++*** as such.  This will affect the creation of libtool libraries that
++*** depend on shared libraries, but programs linked with such libtool
++*** libraries will work regardless of this problem.  Nevertheless, you
++*** may want to report the problem to your system manager and/or to
++*** bug-libtool@gnu.org
++
++_LT_EOF
++	  fi ;;
++	esac
++      fi
++      break
++    fi
++  done
++  IFS="$lt_save_ifs"
++  MAGIC_CMD="$lt_save_MAGIC_CMD"
++  ;;
++esac
++fi
++
++MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
++if test -n "$MAGIC_CMD"; then
++  { $as_echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5
++$as_echo "$MAGIC_CMD" >&6; }
++else
++  { $as_echo "$as_me:$LINENO: result: no" >&5
++$as_echo "no" >&6; }
++fi
++
++
++  else
++    MAGIC_CMD=:
++  fi
++fi
++
++  fi
++  ;;
++esac
++
++# Use C for the default configuration in the libtool script
++
++lt_save_CC="$CC"
++ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++
++
++# Source file extension for C test sources.
++ac_ext=c
++
++# Object file extension for compiled C test sources.
++objext=o
++objext=$objext
++
++# Code to be used in simple compile tests
++lt_simple_compile_test_code="int some_variable = 0;"
++
++# Code to be used in simple link tests
++lt_simple_link_test_code='int main(){return(0);}'
++
++
++
++
++
++
++
++# If no C compiler was specified, use CC.
++LTCC=${LTCC-"$CC"}
++
++# If no C compiler flags were specified, use CFLAGS.
++LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
++
++# Allow CC to be a program name with arguments.
++compiler=$CC
++
++# Save the default compiler, since it gets overwritten when the other
++# tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP.
++compiler_DEFAULT=$CC
++
++# save warnings/boilerplate of simple test code
++ac_outfile=conftest.$ac_objext
++echo "$lt_simple_compile_test_code" >conftest.$ac_ext
++eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
++_lt_compiler_boilerplate=`cat conftest.err`
++$RM conftest*
++
++ac_outfile=conftest.$ac_objext
++echo "$lt_simple_link_test_code" >conftest.$ac_ext
++eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
++_lt_linker_boilerplate=`cat conftest.err`
++$RM -r conftest*
++
++
++## CAVEAT EMPTOR:
++## There is no encapsulation within the following macros, do not change
++## the running order or otherwise move them around unless you know exactly
++## what you are doing...
++if test -n "$compiler"; then
++
++lt_prog_compiler_no_builtin_flag=
++
++if test "$GCC" = yes; then
++  lt_prog_compiler_no_builtin_flag=' -fno-builtin'
++
++  { $as_echo "$as_me:$LINENO: checking if $compiler supports -fno-rtti -fno-exceptions" >&5
++$as_echo_n "checking if $compiler supports -fno-rtti -fno-exceptions... " >&6; }
++if test "${lt_cv_prog_compiler_rtti_exceptions+set}" = set; then
++  $as_echo_n "(cached) " >&6
++else
++  lt_cv_prog_compiler_rtti_exceptions=no
++   ac_outfile=conftest.$ac_objext
++   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
++   lt_compiler_flag="-fno-rtti -fno-exceptions"
++   # Insert the option either (1) after the last *FLAGS variable, or
++   # (2) before a word containing "conftest.", or (3) at the end.
++   # Note that $ac_compile itself does not contain backslashes and begins
++   # with a dollar sign (not a hyphen), so the echo should work correctly.
++   # The option is referenced via a variable to avoid confusing sed.
++   lt_compile=`echo "$ac_compile" | $SED \
++   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
++   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
++   -e 's:$: $lt_compiler_flag:'`
++   (eval echo "\"\$as_me:10256: $lt_compile\"" >&5)
++   (eval "$lt_compile" 2>conftest.err)
++   ac_status=$?
++   cat conftest.err >&5
++   echo "$as_me:10260: \$? = $ac_status" >&5
++   if (exit $ac_status) && test -s "$ac_outfile"; then
++     # The compiler can only warn and ignore the option if not recognized
++     # So say no if there are warnings other than the usual output.
++     $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
++     $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
++     if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
++       lt_cv_prog_compiler_rtti_exceptions=yes
++     fi
++   fi
++   $RM conftest*
++
++fi
++{ $as_echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_rtti_exceptions" >&5
++$as_echo "$lt_cv_prog_compiler_rtti_exceptions" >&6; }
++
++if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then
++    lt_prog_compiler_no_builtin_flag="$lt_prog_compiler_no_builtin_flag -fno-rtti -fno-exceptions"
++else
++    :
++fi
++
++fi
++
++
++
++
++
++
++  lt_prog_compiler_wl=
++lt_prog_compiler_pic=
++lt_prog_compiler_static=
++
++{ $as_echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5
++$as_echo_n "checking for $compiler option to produce PIC... " >&6; }
++
++  if test "$GCC" = yes; then
++    lt_prog_compiler_wl='-Wl,'
++    lt_prog_compiler_static='-static'
++
++    case $host_os in
++      aix*)
++      # All AIX code is PIC.
++      if test "$host_cpu" = ia64; then
++	# AIX 5 now supports IA64 processor
++	lt_prog_compiler_static='-Bstatic'
++      fi
++      ;;
++
++    amigaos*)
++      case $host_cpu in
++      powerpc)
++            # see comment about AmigaOS4 .so support
++            lt_prog_compiler_pic='-fPIC'
++        ;;
++      m68k)
++            # FIXME: we need at least 68020 code to build shared libraries, but
++            # adding the `-m68020' flag to GCC prevents building anything better,
++            # like `-m68040'.
++            lt_prog_compiler_pic='-m68020 -resident32 -malways-restore-a4'
++        ;;
++      esac
++      ;;
++
++    beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
++      # PIC is the default for these OSes.
++      ;;
++
++    mingw* | cygwin* | pw32* | os2* | cegcc*)
++      # This hack is so that the source file can tell whether it is being
++      # built for inclusion in a dll (and should export symbols for example).
++      # Although the cygwin gcc ignores -fPIC, still need this for old-style
++      # (--disable-auto-import) libraries
++      lt_prog_compiler_pic='-DDLL_EXPORT'
++      ;;
++
++    darwin* | rhapsody*)
++      # PIC is the default on this platform
++      # Common symbols not allowed in MH_DYLIB files
++      lt_prog_compiler_pic='-fno-common'
++      ;;
++
++    hpux*)
++      # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
++      # PA HP-UX.  On IA64 HP-UX, PIC is the default but the pic flag
++      # sets the default TLS model and affects inlining.
++      case $host_cpu in
++      hppa*64*)
++	# +Z the default
++	;;
++      *)
++	lt_prog_compiler_pic='-fPIC'
++	;;
++      esac
++      ;;
++
++    interix[3-9]*)
++      # Interix 3.x gcc -fpic/-fPIC options generate broken code.
++      # Instead, we relocate shared libraries at runtime.
++      ;;
++
++    msdosdjgpp*)
++      # Just because we use GCC doesn't mean we suddenly get shared libraries
++      # on systems that don't support them.
++      lt_prog_compiler_can_build_shared=no
++      enable_shared=no
++      ;;
++
++    *nto* | *qnx*)
++      # QNX uses GNU C++, but need to define -shared option too, otherwise
++      # it will coredump.
++      lt_prog_compiler_pic='-fPIC -shared'
++      ;;
++
++    sysv4*MP*)
++      if test -d /usr/nec; then
++	lt_prog_compiler_pic=-Kconform_pic
++      fi
++      ;;
++
++    *)
++      lt_prog_compiler_pic='-fPIC'
++      ;;
++    esac
++  else
++    # PORTME Check for flag to pass linker flags through the system compiler.
++    case $host_os in
++    aix*)
++      lt_prog_compiler_wl='-Wl,'
++      if test "$host_cpu" = ia64; then
++	# AIX 5 now supports IA64 processor
++	lt_prog_compiler_static='-Bstatic'
++      else
++	lt_prog_compiler_static='-bnso -bI:/lib/syscalls.exp'
++      fi
++      ;;
++
++    mingw* | cygwin* | pw32* | os2* | cegcc*)
++      # This hack is so that the source file can tell whether it is being
++      # built for inclusion in a dll (and should export symbols for example).
++      lt_prog_compiler_pic='-DDLL_EXPORT'
++      ;;
++
++    hpux9* | hpux10* | hpux11*)
++      lt_prog_compiler_wl='-Wl,'
++      # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
++      # not for PA HP-UX.
++      case $host_cpu in
++      hppa*64*|ia64*)
++	# +Z the default
++	;;
++      *)
++	lt_prog_compiler_pic='+Z'
++	;;
++      esac
++      # Is there a better lt_prog_compiler_static that works with the bundled CC?
++      lt_prog_compiler_static='${wl}-a ${wl}archive'
++      ;;
++
++    irix5* | irix6* | nonstopux*)
++      lt_prog_compiler_wl='-Wl,'
++      # PIC (with -KPIC) is the default.
++      lt_prog_compiler_static='-non_shared'
++      ;;
++
++    linux* | k*bsd*-gnu)
++      case $cc_basename in
++      # old Intel for x86_64 which still supported -KPIC.
++      ecc*)
++	lt_prog_compiler_wl='-Wl,'
++	lt_prog_compiler_pic='-KPIC'
++	lt_prog_compiler_static='-static'
++        ;;
++      # icc used to be incompatible with GCC.
++      # ICC 10 doesn't accept -KPIC any more.
++      icc* | ifort*)
++	lt_prog_compiler_wl='-Wl,'
++	lt_prog_compiler_pic='-fPIC'
++	lt_prog_compiler_static='-static'
++        ;;
++      # Lahey Fortran 8.1.
++      lf95*)
++	lt_prog_compiler_wl='-Wl,'
++	lt_prog_compiler_pic='--shared'
++	lt_prog_compiler_static='--static'
++	;;
++      pgcc* | pgf77* | pgf90* | pgf95*)
++        # Portland Group compilers (*not* the Pentium gcc compiler,
++	# which looks to be a dead project)
++	lt_prog_compiler_wl='-Wl,'
++	lt_prog_compiler_pic='-fpic'
++	lt_prog_compiler_static='-Bstatic'
++        ;;
++      ccc*)
++        lt_prog_compiler_wl='-Wl,'
++        # All Alpha code is PIC.
++        lt_prog_compiler_static='-non_shared'
++        ;;
++      xl*)
++	# IBM XL C 8.0/Fortran 10.1 on PPC
++	lt_prog_compiler_wl='-Wl,'
++	lt_prog_compiler_pic='-qpic'
++	lt_prog_compiler_static='-qstaticlink'
++	;;
++      *)
++	case `$CC -V 2>&1 | sed 5q` in
++	*Sun\ C*)
++	  # Sun C 5.9
++	  lt_prog_compiler_pic='-KPIC'
++	  lt_prog_compiler_static='-Bstatic'
++	  lt_prog_compiler_wl='-Wl,'
++	  ;;
++	*Sun\ F*)
++	  # Sun Fortran 8.3 passes all unrecognized flags to the linker
++	  lt_prog_compiler_pic='-KPIC'
++	  lt_prog_compiler_static='-Bstatic'
++	  lt_prog_compiler_wl=''
++	  ;;
++	esac
++	;;
++      esac
++      ;;
++
++    newsos6)
++      lt_prog_compiler_pic='-KPIC'
++      lt_prog_compiler_static='-Bstatic'
++      ;;
++
++    *nto* | *qnx*)
++      # QNX uses GNU C++, but need to define -shared option too, otherwise
++      # it will coredump.
++      lt_prog_compiler_pic='-fPIC -shared'
++      ;;
++
++    osf3* | osf4* | osf5*)
++      lt_prog_compiler_wl='-Wl,'
++      # All OSF/1 code is PIC.
++      lt_prog_compiler_static='-non_shared'
++      ;;
++
++    rdos*)
++      lt_prog_compiler_static='-non_shared'
++      ;;
++
++    solaris*)
++      lt_prog_compiler_pic='-KPIC'
++      lt_prog_compiler_static='-Bstatic'
++      case $cc_basename in
++      f77* | f90* | f95*)
++	lt_prog_compiler_wl='-Qoption ld ';;
++      *)
++	lt_prog_compiler_wl='-Wl,';;
++      esac
++      ;;
++
++    sunos4*)
++      lt_prog_compiler_wl='-Qoption ld '
++      lt_prog_compiler_pic='-PIC'
++      lt_prog_compiler_static='-Bstatic'
++      ;;
++
++    sysv4 | sysv4.2uw2* | sysv4.3*)
++      lt_prog_compiler_wl='-Wl,'
++      lt_prog_compiler_pic='-KPIC'
++      lt_prog_compiler_static='-Bstatic'
++      ;;
++
++    sysv4*MP*)
++      if test -d /usr/nec ;then
++	lt_prog_compiler_pic='-Kconform_pic'
++	lt_prog_compiler_static='-Bstatic'
++      fi
++      ;;
++
++    sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
++      lt_prog_compiler_wl='-Wl,'
++      lt_prog_compiler_pic='-KPIC'
++      lt_prog_compiler_static='-Bstatic'
++      ;;
++
++    unicos*)
++      lt_prog_compiler_wl='-Wl,'
++      lt_prog_compiler_can_build_shared=no
++      ;;
++
++    uts4*)
++      lt_prog_compiler_pic='-pic'
++      lt_prog_compiler_static='-Bstatic'
++      ;;
++
++    *)
++      lt_prog_compiler_can_build_shared=no
++      ;;
++    esac
++  fi
++
++case $host_os in
++  # For platforms which do not support PIC, -DPIC is meaningless:
++  *djgpp*)
++    lt_prog_compiler_pic=
++    ;;
++  *)
++    lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC"
++    ;;
++esac
++{ $as_echo "$as_me:$LINENO: result: $lt_prog_compiler_pic" >&5
++$as_echo "$lt_prog_compiler_pic" >&6; }
++
++
++
++
++
++
++#
++# Check to make sure the PIC flag actually works.
++#
++if test -n "$lt_prog_compiler_pic"; then
++  { $as_echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5
++$as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic works... " >&6; }
++if test "${lt_cv_prog_compiler_pic_works+set}" = set; then
++  $as_echo_n "(cached) " >&6
++else
++  lt_cv_prog_compiler_pic_works=no
++   ac_outfile=conftest.$ac_objext
++   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
++   lt_compiler_flag="$lt_prog_compiler_pic -DPIC"
++   # Insert the option either (1) after the last *FLAGS variable, or
++   # (2) before a word containing "conftest.", or (3) at the end.
++   # Note that $ac_compile itself does not contain backslashes and begins
++   # with a dollar sign (not a hyphen), so the echo should work correctly.
++   # The option is referenced via a variable to avoid confusing sed.
++   lt_compile=`echo "$ac_compile" | $SED \
++   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
++   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
++   -e 's:$: $lt_compiler_flag:'`
++   (eval echo "\"\$as_me:10595: $lt_compile\"" >&5)
++   (eval "$lt_compile" 2>conftest.err)
++   ac_status=$?
++   cat conftest.err >&5
++   echo "$as_me:10599: \$? = $ac_status" >&5
++   if (exit $ac_status) && test -s "$ac_outfile"; then
++     # The compiler can only warn and ignore the option if not recognized
++     # So say no if there are warnings other than the usual output.
++     $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
++     $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
++     if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
++       lt_cv_prog_compiler_pic_works=yes
++     fi
++   fi
++   $RM conftest*
++
++fi
++{ $as_echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_pic_works" >&5
++$as_echo "$lt_cv_prog_compiler_pic_works" >&6; }
++
++if test x"$lt_cv_prog_compiler_pic_works" = xyes; then
++    case $lt_prog_compiler_pic in
++     "" | " "*) ;;
++     *) lt_prog_compiler_pic=" $lt_prog_compiler_pic" ;;
++     esac
++else
++    lt_prog_compiler_pic=
++     lt_prog_compiler_can_build_shared=no
++fi
++
++fi
++
++
++
++
++
++
++#
++# Check to make sure the static flag actually works.
++#
++wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\"
++{ $as_echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5
++$as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; }
++if test "${lt_cv_prog_compiler_static_works+set}" = set; then
++  $as_echo_n "(cached) " >&6
++else
++  lt_cv_prog_compiler_static_works=no
++   save_LDFLAGS="$LDFLAGS"
++   LDFLAGS="$LDFLAGS $lt_tmp_static_flag"
++   echo "$lt_simple_link_test_code" > conftest.$ac_ext
++   if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
++     # The linker can only warn and ignore the option if not recognized
++     # So say no if there are warnings
++     if test -s conftest.err; then
++       # Append any errors to the config.log.
++       cat conftest.err 1>&5
++       $ECHO "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp
++       $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
++       if diff conftest.exp conftest.er2 >/dev/null; then
++         lt_cv_prog_compiler_static_works=yes
++       fi
++     else
++       lt_cv_prog_compiler_static_works=yes
++     fi
++   fi
++   $RM -r conftest*
++   LDFLAGS="$save_LDFLAGS"
++
++fi
++{ $as_echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_static_works" >&5
++$as_echo "$lt_cv_prog_compiler_static_works" >&6; }
++
++if test x"$lt_cv_prog_compiler_static_works" = xyes; then
++    :
++else
++    lt_prog_compiler_static=
++fi
++
++
++
++
++
++
++
++  { $as_echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5
++$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
++if test "${lt_cv_prog_compiler_c_o+set}" = set; then
++  $as_echo_n "(cached) " >&6
++else
++  lt_cv_prog_compiler_c_o=no
++   $RM -r conftest 2>/dev/null
++   mkdir conftest
++   cd conftest
++   mkdir out
++   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
++
++   lt_compiler_flag="-o out/conftest2.$ac_objext"
++   # Insert the option either (1) after the last *FLAGS variable, or
++   # (2) before a word containing "conftest.", or (3) at the end.
++   # Note that $ac_compile itself does not contain backslashes and begins
++   # with a dollar sign (not a hyphen), so the echo should work correctly.
++   lt_compile=`echo "$ac_compile" | $SED \
++   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
++   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
++   -e 's:$: $lt_compiler_flag:'`
++   (eval echo "\"\$as_me:10700: $lt_compile\"" >&5)
++   (eval "$lt_compile" 2>out/conftest.err)
++   ac_status=$?
++   cat out/conftest.err >&5
++   echo "$as_me:10704: \$? = $ac_status" >&5
++   if (exit $ac_status) && test -s out/conftest2.$ac_objext
++   then
++     # The compiler can only warn and ignore the option if not recognized
++     # So say no if there are warnings
++     $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp
++     $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
++     if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
++       lt_cv_prog_compiler_c_o=yes
++     fi
++   fi
++   chmod u+w . 2>&5
++   $RM conftest*
++   # SGI C++ compiler will create directory out/ii_files/ for
++   # template instantiation
++   test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
++   $RM out/* && rmdir out
++   cd ..
++   $RM -r conftest
++   $RM conftest*
++
++fi
++{ $as_echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o" >&5
++$as_echo "$lt_cv_prog_compiler_c_o" >&6; }
++
++
++
++
++
++
++  { $as_echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5
++$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
++if test "${lt_cv_prog_compiler_c_o+set}" = set; then
++  $as_echo_n "(cached) " >&6
++else
++  lt_cv_prog_compiler_c_o=no
++   $RM -r conftest 2>/dev/null
++   mkdir conftest
++   cd conftest
++   mkdir out
++   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
++
++   lt_compiler_flag="-o out/conftest2.$ac_objext"
++   # Insert the option either (1) after the last *FLAGS variable, or
++   # (2) before a word containing "conftest.", or (3) at the end.
++   # Note that $ac_compile itself does not contain backslashes and begins
++   # with a dollar sign (not a hyphen), so the echo should work correctly.
++   lt_compile=`echo "$ac_compile" | $SED \
++   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
++   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
++   -e 's:$: $lt_compiler_flag:'`
++   (eval echo "\"\$as_me:10755: $lt_compile\"" >&5)
++   (eval "$lt_compile" 2>out/conftest.err)
++   ac_status=$?
++   cat out/conftest.err >&5
++   echo "$as_me:10759: \$? = $ac_status" >&5
++   if (exit $ac_status) && test -s out/conftest2.$ac_objext
++   then
++     # The compiler can only warn and ignore the option if not recognized
++     # So say no if there are warnings
++     $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp
++     $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
++     if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
++       lt_cv_prog_compiler_c_o=yes
++     fi
++   fi
++   chmod u+w . 2>&5
++   $RM conftest*
++   # SGI C++ compiler will create directory out/ii_files/ for
++   # template instantiation
++   test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
++   $RM out/* && rmdir out
++   cd ..
++   $RM -r conftest
++   $RM conftest*
++
++fi
++{ $as_echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o" >&5
++$as_echo "$lt_cv_prog_compiler_c_o" >&6; }
++
++
++
++
++hard_links="nottested"
++if test "$lt_cv_prog_compiler_c_o" = no && test "$need_locks" != no; then
++  # do not overwrite the value of need_locks provided by the user
++  { $as_echo "$as_me:$LINENO: checking if we can lock with hard links" >&5
++$as_echo_n "checking if we can lock with hard links... " >&6; }
++  hard_links=yes
++  $RM conftest*
++  ln conftest.a conftest.b 2>/dev/null && hard_links=no
++  touch conftest.a
++  ln conftest.a conftest.b 2>&5 || hard_links=no
++  ln conftest.a conftest.b 2>/dev/null && hard_links=no
++  { $as_echo "$as_me:$LINENO: result: $hard_links" >&5
++$as_echo "$hard_links" >&6; }
++  if test "$hard_links" = no; then
++    { $as_echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5
++$as_echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;}
++    need_locks=warn
++  fi
++else
++  need_locks=no
++fi
++
++
++
++
++
++
++  { $as_echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5
++$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; }
++
++  runpath_var=
++  allow_undefined_flag=
++  always_export_symbols=no
++  archive_cmds=
++  archive_expsym_cmds=
++  compiler_needs_object=no
++  enable_shared_with_static_runtimes=no
++  export_dynamic_flag_spec=
++  export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
++  hardcode_automatic=no
++  hardcode_direct=no
++  hardcode_direct_absolute=no
++  hardcode_libdir_flag_spec=
++  hardcode_libdir_flag_spec_ld=
++  hardcode_libdir_separator=
++  hardcode_minus_L=no
++  hardcode_shlibpath_var=unsupported
++  inherit_rpath=no
++  link_all_deplibs=unknown
++  module_cmds=
++  module_expsym_cmds=
++  old_archive_from_new_cmds=
++  old_archive_from_expsyms_cmds=
++  thread_safe_flag_spec=
++  whole_archive_flag_spec=
++  # include_expsyms should be a list of space-separated symbols to be *always*
++  # included in the symbol list
++  include_expsyms=
++  # exclude_expsyms can be an extended regexp of symbols to exclude
++  # it will be wrapped by ` (' and `)$', so one must not match beginning or
++  # end of line.  Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
++  # as well as any symbol that contains `d'.
++  exclude_expsyms='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'
++  # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
++  # platforms (ab)use it in PIC code, but their linkers get confused if
++  # the symbol is explicitly referenced.  Since portable code cannot
++  # rely on this symbol name, it's probably fine to never include it in
++  # preloaded symbol tables.
++  # Exclude shared library initialization/finalization symbols.
++  extract_expsyms_cmds=
++
++  case $host_os in
++  cygwin* | mingw* | pw32* | cegcc*)
++    # FIXME: the MSVC++ port hasn't been tested in a loooong time
++    # When not using gcc, we currently assume that we are using
++    # Microsoft Visual C++.
++    if test "$GCC" != yes; then
++      with_gnu_ld=no
++    fi
++    ;;
++  interix*)
++    # we just hope/assume this is gcc and not c89 (= MSVC++)
++    with_gnu_ld=yes
++    ;;
++  openbsd*)
++    with_gnu_ld=no
++    ;;
++  esac
++
++  ld_shlibs=yes
++  if test "$with_gnu_ld" = yes; then
++    # If archive_cmds runs LD, not CC, wlarc should be empty
++    wlarc='${wl}'
++
++    # Set some defaults for GNU ld with shared library support. These
++    # are reset later if shared libraries are not supported. Putting them
++    # here allows them to be overridden if necessary.
++    runpath_var=LD_RUN_PATH
++    hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
++    export_dynamic_flag_spec='${wl}--export-dynamic'
++    # ancient GNU ld didn't support --whole-archive et. al.
++    if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then
++      whole_archive_flag_spec="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
++    else
++      whole_archive_flag_spec=
++    fi
++    supports_anon_versioning=no
++    case `$LD -v 2>&1` in
++      *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11
++      *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
++      *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
++      *\ 2.11.*) ;; # other 2.11 versions
++      *) supports_anon_versioning=yes ;;
++    esac
++
++    # See if GNU ld supports shared libraries.
++    case $host_os in
++    aix[3-9]*)
++      # On AIX/PPC, the GNU linker is very broken
++      if test "$host_cpu" != ia64; then
++	ld_shlibs=no
++	cat <<_LT_EOF 1>&2
++
++*** Warning: the GNU linker, at least up to release 2.9.1, is reported
++*** to be unable to reliably create shared libraries on AIX.
++*** Therefore, libtool is disabling shared libraries support.  If you
++*** really care for shared libraries, you may want to modify your PATH
++*** so that a non-GNU linker is found, and then restart.
++
++_LT_EOF
++      fi
++      ;;
++
++    amigaos*)
++      case $host_cpu in
++      powerpc)
++            # see comment about AmigaOS4 .so support
++            archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
++            archive_expsym_cmds=''
++        ;;
++      m68k)
++            archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
++            hardcode_libdir_flag_spec='-L$libdir'
++            hardcode_minus_L=yes
++        ;;
++      esac
++      ;;
++
++    beos*)
++      if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
++	allow_undefined_flag=unsupported
++	# Joseph Beckenbach <jrb3@best.com> says some releases of gcc
++	# support --undefined.  This deserves some investigation.  FIXME
++	archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
++      else
++	ld_shlibs=no
++      fi
++      ;;
++
++    cygwin* | mingw* | pw32* | cegcc*)
++      # _LT_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless,
++      # as there is no search path for DLLs.
++      hardcode_libdir_flag_spec='-L$libdir'
++      allow_undefined_flag=unsupported
++      always_export_symbols=no
++      enable_shared_with_static_runtimes=yes
++      export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/'\'' | $SED -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols'
++
++      if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
++        archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
++	# If the export-symbols file already is a .def file (1st line
++	# is EXPORTS), use it as is; otherwise, prepend...
++	archive_expsym_cmds='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
++	  cp $export_symbols $output_objdir/$soname.def;
++	else
++	  echo EXPORTS > $output_objdir/$soname.def;
++	  cat $export_symbols >> $output_objdir/$soname.def;
++	fi~
++	$CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
++      else
++	ld_shlibs=no
++      fi
++      ;;
++
++    interix[3-9]*)
++      hardcode_direct=no
++      hardcode_shlibpath_var=no
++      hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
++      export_dynamic_flag_spec='${wl}-E'
++      # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
++      # Instead, shared libraries are loaded at an image base (0x10000000 by
++      # default) and relocated if they conflict, which is a slow very memory
++      # consuming and fragmenting process.  To avoid this, we pick a random,
++      # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
++      # time.  Moving up from 0x10000000 also allows more sbrk(2) space.
++      archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
++      archive_expsym_cmds='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
++      ;;
++
++    gnu* | linux* | tpf* | k*bsd*-gnu)
++      tmp_diet=no
++      if test "$host_os" = linux-dietlibc; then
++	case $cc_basename in
++	  diet\ *) tmp_diet=yes;;	# linux-dietlibc with static linking (!diet-dyn)
++	esac
++      fi
++      if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \
++	 && test "$tmp_diet" = no
++      then
++	tmp_addflag=
++	tmp_sharedflag='-shared'
++	case $cc_basename,$host_cpu in
++        pgcc*)				# Portland Group C compiler
++	  whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
++	  tmp_addflag=' $pic_flag'
++	  ;;
++	pgf77* | pgf90* | pgf95*)	# Portland Group f77 and f90 compilers
++	  whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
++	  tmp_addflag=' $pic_flag -Mnomain' ;;
++	ecc*,ia64* | icc*,ia64*)	# Intel C compiler on ia64
++	  tmp_addflag=' -i_dynamic' ;;
++	efc*,ia64* | ifort*,ia64*)	# Intel Fortran compiler on ia64
++	  tmp_addflag=' -i_dynamic -nofor_main' ;;
++	ifc* | ifort*)			# Intel Fortran compiler
++	  tmp_addflag=' -nofor_main' ;;
++	lf95*)				# Lahey Fortran 8.1
++	  whole_archive_flag_spec=
++	  tmp_sharedflag='--shared' ;;
++	xl[cC]*)			# IBM XL C 8.0 on PPC (deal with xlf below)
++	  tmp_sharedflag='-qmkshrobj'
++	  tmp_addflag= ;;
++	esac
++	case `$CC -V 2>&1 | sed 5q` in
++	*Sun\ C*)			# Sun C 5.9
++	  whole_archive_flag_spec='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
++	  compiler_needs_object=yes
++	  tmp_sharedflag='-G' ;;
++	*Sun\ F*)			# Sun Fortran 8.3
++	  tmp_sharedflag='-G' ;;
++	esac
++	archive_cmds='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
++
++        if test "x$supports_anon_versioning" = xyes; then
++          archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~
++	    cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
++	    echo "local: *; };" >> $output_objdir/$libname.ver~
++	    $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
++        fi
++
++	case $cc_basename in
++	xlf*)
++	  # IBM XL Fortran 10.1 on PPC cannot create shared libs itself
++	  whole_archive_flag_spec='--whole-archive$convenience --no-whole-archive'
++	  hardcode_libdir_flag_spec=
++	  hardcode_libdir_flag_spec_ld='-rpath $libdir'
++	  archive_cmds='$LD -shared $libobjs $deplibs $compiler_flags -soname $soname -o $lib'
++	  if test "x$supports_anon_versioning" = xyes; then
++	    archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~
++	      cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
++	      echo "local: *; };" >> $output_objdir/$libname.ver~
++	      $LD -shared $libobjs $deplibs $compiler_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
++	  fi
++	  ;;
++	esac
++      else
++        ld_shlibs=no
++      fi
++      ;;
++
++    netbsd*)
++      if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
++	archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
++	wlarc=
++      else
++	archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
++	archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
++      fi
++      ;;
++
++    solaris*)
++      if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then
++	ld_shlibs=no
++	cat <<_LT_EOF 1>&2
++
++*** Warning: The releases 2.8.* of the GNU linker cannot reliably
++*** create shared libraries on Solaris systems.  Therefore, libtool
++*** is disabling shared libraries support.  We urge you to upgrade GNU
++*** binutils to release 2.9.1 or newer.  Another option is to modify
++*** your PATH or compiler configuration so that the native linker is
++*** used, and then restart.
++
++_LT_EOF
++      elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
++	archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
++	archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
++      else
++	ld_shlibs=no
++      fi
++      ;;
++
++    sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
++      case `$LD -v 2>&1` in
++        *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*)
++	ld_shlibs=no
++	cat <<_LT_EOF 1>&2
++
++*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not
++*** reliably create shared libraries on SCO systems.  Therefore, libtool
++*** is disabling shared libraries support.  We urge you to upgrade GNU
++*** binutils to release 2.16.91.0.3 or newer.  Another option is to modify
++*** your PATH or compiler configuration so that the native linker is
++*** used, and then restart.
++
++_LT_EOF
++	;;
++	*)
++	  # For security reasons, it is highly recommended that you always
++	  # use absolute paths for naming shared libraries, and exclude the
++	  # DT_RUNPATH tag from executables and libraries.  But doing so
++	  # requires that you compile everything twice, which is a pain.
++	  if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
++	    hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
++	    archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
++	    archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
++	  else
++	    ld_shlibs=no
++	  fi
++	;;
++      esac
++      ;;
++
++    sunos4*)
++      archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
++      wlarc=
++      hardcode_direct=yes
++      hardcode_shlibpath_var=no
++      ;;
++
++    *)
++      if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
++	archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
++	archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
++      else
++	ld_shlibs=no
++      fi
++      ;;
++    esac
++
++    if test "$ld_shlibs" = no; then
++      runpath_var=
++      hardcode_libdir_flag_spec=
++      export_dynamic_flag_spec=
++      whole_archive_flag_spec=
++    fi
++  else
++    # PORTME fill in a description of your system's linker (not GNU ld)
++    case $host_os in
++    aix3*)
++      allow_undefined_flag=unsupported
++      always_export_symbols=yes
++      archive_expsym_cmds='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname'
++      # Note: this linker hardcodes the directories in LIBPATH if there
++      # are no directories specified by -L.
++      hardcode_minus_L=yes
++      if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then
++	# Neither direct hardcoding nor static linking is supported with a
++	# broken collect2.
++	hardcode_direct=unsupported
++      fi
++      ;;
++
++    aix[4-9]*)
++      if test "$host_cpu" = ia64; then
++	# On IA64, the linker does run time linking by default, so we don't
++	# have to do anything special.
++	aix_use_runtimelinking=no
++	exp_sym_flag='-Bexport'
++	no_entry_flag=""
++      else
++	# If we're using GNU nm, then we don't want the "-C" option.
++	# -C means demangle to AIX nm, but means don't demangle with GNU nm
++	if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
++	  export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
++	else
++	  export_symbols_cmds='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
++	fi
++	aix_use_runtimelinking=no
++
++	# Test if we are trying to use run time linking or normal
++	# AIX style linking. If -brtl is somewhere in LDFLAGS, we
++	# need to do runtime linking.
++	case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*)
++	  for ld_flag in $LDFLAGS; do
++	  if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
++	    aix_use_runtimelinking=yes
++	    break
++	  fi
++	  done
++	  ;;
++	esac
++
++	exp_sym_flag='-bexport'
++	no_entry_flag='-bnoentry'
++      fi
++
++      # When large executables or shared objects are built, AIX ld can
++      # have problems creating the table of contents.  If linking a library
++      # or program results in "error TOC overflow" add -mminimal-toc to
++      # CXXFLAGS/CFLAGS for g++/gcc.  In the cases where that is not
++      # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
++
++      archive_cmds=''
++      hardcode_direct=yes
++      hardcode_direct_absolute=yes
++      hardcode_libdir_separator=':'
++      link_all_deplibs=yes
++      file_list_spec='${wl}-f,'
++
++      if test "$GCC" = yes; then
++	case $host_os in aix4.[012]|aix4.[012].*)
++	# We only want to do this on AIX 4.2 and lower, the check
++	# below for broken collect2 doesn't work under 4.3+
++	  collect2name=`${CC} -print-prog-name=collect2`
++	  if test -f "$collect2name" &&
++	   strings "$collect2name" | $GREP resolve_lib_name >/dev/null
++	  then
++	  # We have reworked collect2
++	  :
++	  else
++	  # We have old collect2
++	  hardcode_direct=unsupported
++	  # It fails to find uninstalled libraries when the uninstalled
++	  # path is not listed in the libpath.  Setting hardcode_minus_L
++	  # to unsupported forces relinking
++	  hardcode_minus_L=yes
++	  hardcode_libdir_flag_spec='-L$libdir'
++	  hardcode_libdir_separator=
++	  fi
++	  ;;
++	esac
++	shared_flag='-shared'
++	if test "$aix_use_runtimelinking" = yes; then
++	  shared_flag="$shared_flag "'${wl}-G'
++	fi
++      else
++	# not using gcc
++	if test "$host_cpu" = ia64; then
++	# VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
++	# chokes on -Wl,-G. The following line is correct:
++	  shared_flag='-G'
++	else
++	  if test "$aix_use_runtimelinking" = yes; then
++	    shared_flag='${wl}-G'
++	  else
++	    shared_flag='${wl}-bM:SRE'
++	  fi
++	fi
++      fi
++
++      export_dynamic_flag_spec='${wl}-bexpall'
++      # It seems that -bexpall does not export symbols beginning with
++      # underscore (_), so it is better to generate a list of symbols to export.
++      always_export_symbols=yes
++      if test "$aix_use_runtimelinking" = yes; then
++	# Warning - without using the other runtime loading flags (-brtl),
++	# -berok will link without error, but may produce a broken library.
++	allow_undefined_flag='-berok'
++        # Determine the default libpath from the value encoded in an
++        # empty executable.
++        cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++
++int
++main ()
++{
++
++  ;
++  return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++  *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++  (eval "$ac_link") 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } && {
++	 test -z "$ac_c_werror_flag" ||
++	 test ! -s conftest.err
++       } && test -s conftest$ac_exeext && {
++	 test "$cross_compiling" = yes ||
++	 $as_test_x conftest$ac_exeext
++       }; then
++
++lt_aix_libpath_sed='
++    /Import File Strings/,/^$/ {
++	/^0/ {
++	    s/^0  *\(.*\)$/\1/
++	    p
++	}
++    }'
++aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
++# Check for a 64-bit object if we didn't find anything.
++if test -z "$aix_libpath"; then
++  aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
++fi
++else
++  $as_echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++
++fi
++
++rm -rf conftest.dSYM
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++      conftest$ac_exeext conftest.$ac_ext
++if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
++
++        hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
++        archive_expsym_cmds='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then $ECHO "X${wl}${allow_undefined_flag}" | $Xsed; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
++      else
++	if test "$host_cpu" = ia64; then
++	  hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib'
++	  allow_undefined_flag="-z nodefs"
++	  archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
++	else
++	 # Determine the default libpath from the value encoded in an
++	 # empty executable.
++	 cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++
++int
++main ()
++{
++
++  ;
++  return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++  *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++  (eval "$ac_link") 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } && {
++	 test -z "$ac_c_werror_flag" ||
++	 test ! -s conftest.err
++       } && test -s conftest$ac_exeext && {
++	 test "$cross_compiling" = yes ||
++	 $as_test_x conftest$ac_exeext
++       }; then
++
++lt_aix_libpath_sed='
++    /Import File Strings/,/^$/ {
++	/^0/ {
++	    s/^0  *\(.*\)$/\1/
++	    p
++	}
++    }'
++aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
++# Check for a 64-bit object if we didn't find anything.
++if test -z "$aix_libpath"; then
++  aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
++fi
++else
++  $as_echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++
++fi
++
++rm -rf conftest.dSYM
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++      conftest$ac_exeext conftest.$ac_ext
++if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
++
++	 hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
++	  # Warning - without using the other run time loading flags,
++	  # -berok will link without error, but may produce a broken library.
++	  no_undefined_flag=' ${wl}-bernotok'
++	  allow_undefined_flag=' ${wl}-berok'
++	  # Exported symbols can be pulled into shared objects from archives
++	  whole_archive_flag_spec='$convenience'
++	  archive_cmds_need_lc=yes
++	  # This is similar to how AIX traditionally builds its shared libraries.
++	  archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
++	fi
++      fi
++      ;;
++
++    amigaos*)
++      case $host_cpu in
++      powerpc)
++            # see comment about AmigaOS4 .so support
++            archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
++            archive_expsym_cmds=''
++        ;;
++      m68k)
++            archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
++            hardcode_libdir_flag_spec='-L$libdir'
++            hardcode_minus_L=yes
++        ;;
++      esac
++      ;;
++
++    bsdi[45]*)
++      export_dynamic_flag_spec=-rdynamic
++      ;;
++
++    cygwin* | mingw* | pw32* | cegcc*)
++      # When not using gcc, we currently assume that we are using
++      # Microsoft Visual C++.
++      # hardcode_libdir_flag_spec is actually meaningless, as there is
++      # no search path for DLLs.
++      hardcode_libdir_flag_spec=' '
++      allow_undefined_flag=unsupported
++      # Tell ltmain to make .lib files, not .a files.
++      libext=lib
++      # Tell ltmain to make .dll files, not .so files.
++      shrext_cmds=".dll"
++      # FIXME: Setting linknames here is a bad hack.
++      archive_cmds='$CC -o $lib $libobjs $compiler_flags `$ECHO "X$deplibs" | $Xsed -e '\''s/ -lc$//'\''` -link -dll~linknames='
++      # The linker will automatically build a .lib file if we build a DLL.
++      old_archive_from_new_cmds='true'
++      # FIXME: Should let the user specify the lib program.
++      old_archive_cmds='lib -OUT:$oldlib$oldobjs$old_deplibs'
++      fix_srcfile_path='`cygpath -w "$srcfile"`'
++      enable_shared_with_static_runtimes=yes
++      ;;
++
++    darwin* | rhapsody*)
++
++
++  archive_cmds_need_lc=no
++  hardcode_direct=no
++  hardcode_automatic=yes
++  hardcode_shlibpath_var=unsupported
++  whole_archive_flag_spec=''
++  link_all_deplibs=yes
++  allow_undefined_flag="$_lt_dar_allow_undefined"
++  case $cc_basename in
++     ifort*) _lt_dar_can_shared=yes ;;
++     *) _lt_dar_can_shared=$GCC ;;
++  esac
++  if test "$_lt_dar_can_shared" = "yes"; then
++    output_verbose_link_cmd=echo
++    archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
++    module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
++    archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
++    module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
++
++  else
++  ld_shlibs=no
++  fi
++
++      ;;
++
++    dgux*)
++      archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
++      hardcode_libdir_flag_spec='-L$libdir'
++      hardcode_shlibpath_var=no
++      ;;
++
++    freebsd1*)
++      ld_shlibs=no
++      ;;
++
++    # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
++    # support.  Future versions do this automatically, but an explicit c++rt0.o
++    # does not break anything, and helps significantly (at the cost of a little
++    # extra space).
++    freebsd2.2*)
++      archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
++      hardcode_libdir_flag_spec='-R$libdir'
++      hardcode_direct=yes
++      hardcode_shlibpath_var=no
++      ;;
++
++    # Unfortunately, older versions of FreeBSD 2 do not have this feature.
++    freebsd2*)
++      archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
++      hardcode_direct=yes
++      hardcode_minus_L=yes
++      hardcode_shlibpath_var=no
++      ;;
++
++    # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
++    freebsd* | dragonfly*)
++      archive_cmds='$CC -shared -o $lib $libobjs $deplibs $compiler_flags'
++      hardcode_libdir_flag_spec='-R$libdir'
++      hardcode_direct=yes
++      hardcode_shlibpath_var=no
++      ;;
++
++    hpux9*)
++      if test "$GCC" = yes; then
++	archive_cmds='$RM $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
++      else
++	archive_cmds='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
++      fi
++      hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
++      hardcode_libdir_separator=:
++      hardcode_direct=yes
++
++      # hardcode_minus_L: Not really in the search PATH,
++      # but as the default location of the library.
++      hardcode_minus_L=yes
++      export_dynamic_flag_spec='${wl}-E'
++      ;;
++
++    hpux10*)
++      if test "$GCC" = yes -a "$with_gnu_ld" = no; then
++	archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
++      else
++	archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
++      fi
++      if test "$with_gnu_ld" = no; then
++	hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
++	hardcode_libdir_flag_spec_ld='+b $libdir'
++	hardcode_libdir_separator=:
++	hardcode_direct=yes
++	hardcode_direct_absolute=yes
++	export_dynamic_flag_spec='${wl}-E'
++	# hardcode_minus_L: Not really in the search PATH,
++	# but as the default location of the library.
++	hardcode_minus_L=yes
++      fi
++      ;;
++
++    hpux11*)
++      if test "$GCC" = yes -a "$with_gnu_ld" = no; then
++	case $host_cpu in
++	hppa*64*)
++	  archive_cmds='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
++	  ;;
++	ia64*)
++	  archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
++	  ;;
++	*)
++	  archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
++	  ;;
++	esac
++      else
++	case $host_cpu in
++	hppa*64*)
++	  archive_cmds='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
++	  ;;
++	ia64*)
++	  archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
++	  ;;
++	*)
++	  archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
++	  ;;
++	esac
++      fi
++      if test "$with_gnu_ld" = no; then
++	hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
++	hardcode_libdir_separator=:
++
++	case $host_cpu in
++	hppa*64*|ia64*)
++	  hardcode_direct=no
++	  hardcode_shlibpath_var=no
++	  ;;
++	*)
++	  hardcode_direct=yes
++	  hardcode_direct_absolute=yes
++	  export_dynamic_flag_spec='${wl}-E'
++
++	  # hardcode_minus_L: Not really in the search PATH,
++	  # but as the default location of the library.
++	  hardcode_minus_L=yes
++	  ;;
++	esac
++      fi
++      ;;
++
++    irix5* | irix6* | nonstopux*)
++      if test "$GCC" = yes; then
++	archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
++	# Try to use the -exported_symbol ld option, if it does not
++	# work, assume that -exports_file does not work either and
++	# implicitly export all symbols.
++        save_LDFLAGS="$LDFLAGS"
++        LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null"
++        cat >conftest.$ac_ext <<_ACEOF
++int foo(void) {}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++  *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++  (eval "$ac_link") 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } && {
++	 test -z "$ac_c_werror_flag" ||
++	 test ! -s conftest.err
++       } && test -s conftest$ac_exeext && {
++	 test "$cross_compiling" = yes ||
++	 $as_test_x conftest$ac_exeext
++       }; then
++  archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib'
++
++else
++  $as_echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++
++fi
++
++rm -rf conftest.dSYM
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++      conftest$ac_exeext conftest.$ac_ext
++        LDFLAGS="$save_LDFLAGS"
++      else
++	archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
++	archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib'
++      fi
++      archive_cmds_need_lc='no'
++      hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
++      hardcode_libdir_separator=:
++      inherit_rpath=yes
++      link_all_deplibs=yes
++      ;;
++
++    netbsd*)
++      if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
++	archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'  # a.out
++      else
++	archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linker_flags'      # ELF
++      fi
++      hardcode_libdir_flag_spec='-R$libdir'
++      hardcode_direct=yes
++      hardcode_shlibpath_var=no
++      ;;
++
++    newsos6)
++      archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
++      hardcode_direct=yes
++      hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
++      hardcode_libdir_separator=:
++      hardcode_shlibpath_var=no
++      ;;
++
++    *nto* | *qnx*)
++      ;;
++
++    openbsd*)
++      if test -f /usr/libexec/ld.so; then
++	hardcode_direct=yes
++	hardcode_shlibpath_var=no
++	hardcode_direct_absolute=yes
++	if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
++	  archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
++	  archive_expsym_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
++	  hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
++	  export_dynamic_flag_spec='${wl}-E'
++	else
++	  case $host_os in
++	   openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*)
++	     archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
++	     hardcode_libdir_flag_spec='-R$libdir'
++	     ;;
++	   *)
++	     archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
++	     hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
++	     ;;
++	  esac
++	fi
++      else
++	ld_shlibs=no
++      fi
++      ;;
++
++    os2*)
++      hardcode_libdir_flag_spec='-L$libdir'
++      hardcode_minus_L=yes
++      allow_undefined_flag=unsupported
++      archive_cmds='$ECHO "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$ECHO DATA >> $output_objdir/$libname.def~$ECHO " SINGLE NONSHARED" >> $output_objdir/$libname.def~$ECHO EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def'
++      old_archive_from_new_cmds='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
++      ;;
++
++    osf3*)
++      if test "$GCC" = yes; then
++	allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
++	archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
++      else
++	allow_undefined_flag=' -expect_unresolved \*'
++	archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
++      fi
++      archive_cmds_need_lc='no'
++      hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
++      hardcode_libdir_separator=:
++      ;;
++
++    osf4* | osf5*)	# as osf3* with the addition of -msym flag
++      if test "$GCC" = yes; then
++	allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
++	archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
++	hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
++      else
++	allow_undefined_flag=' -expect_unresolved \*'
++	archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
++	archive_expsym_cmds='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~
++	$CC -shared${allow_undefined_flag} ${wl}-input ${wl}$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib~$RM $lib.exp'
++
++	# Both c and cxx compiler support -rpath directly
++	hardcode_libdir_flag_spec='-rpath $libdir'
++      fi
++      archive_cmds_need_lc='no'
++      hardcode_libdir_separator=:
++      ;;
++
++    solaris*)
++      no_undefined_flag=' -z defs'
++      if test "$GCC" = yes; then
++	wlarc='${wl}'
++	archive_cmds='$CC -shared ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
++	archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
++	  $CC -shared ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
++      else
++	case `$CC -V 2>&1` in
++	*"Compilers 5.0"*)
++	  wlarc=''
++	  archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
++	  archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
++	  $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp'
++	  ;;
++	*)
++	  wlarc='${wl}'
++	  archive_cmds='$CC -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $compiler_flags'
++	  archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
++	  $CC -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
++	  ;;
++	esac
++      fi
++      hardcode_libdir_flag_spec='-R$libdir'
++      hardcode_shlibpath_var=no
++      case $host_os in
++      solaris2.[0-5] | solaris2.[0-5].*) ;;
++      *)
++	# The compiler driver will combine and reorder linker options,
++	# but understands `-z linker_flag'.  GCC discards it without `$wl',
++	# but is careful enough not to reorder.
++	# Supported since Solaris 2.6 (maybe 2.5.1?)
++	if test "$GCC" = yes; then
++	  whole_archive_flag_spec='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
++	else
++	  whole_archive_flag_spec='-z allextract$convenience -z defaultextract'
++	fi
++	;;
++      esac
++      link_all_deplibs=yes
++      ;;
++
++    sunos4*)
++      if test "x$host_vendor" = xsequent; then
++	# Use $CC to link under sequent, because it throws in some extra .o
++	# files that make .init and .fini sections work.
++	archive_cmds='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags'
++      else
++	archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
++      fi
++      hardcode_libdir_flag_spec='-L$libdir'
++      hardcode_direct=yes
++      hardcode_minus_L=yes
++      hardcode_shlibpath_var=no
++      ;;
++
++    sysv4)
++      case $host_vendor in
++	sni)
++	  archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
++	  hardcode_direct=yes # is this really true???
++	;;
++	siemens)
++	  ## LD is ld it makes a PLAMLIB
++	  ## CC just makes a GrossModule.
++	  archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags'
++	  reload_cmds='$CC -r -o $output$reload_objs'
++	  hardcode_direct=no
++        ;;
++	motorola)
++	  archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
++	  hardcode_direct=no #Motorola manual says yes, but my tests say they lie
++	;;
++      esac
++      runpath_var='LD_RUN_PATH'
++      hardcode_shlibpath_var=no
++      ;;
++
++    sysv4.3*)
++      archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
++      hardcode_shlibpath_var=no
++      export_dynamic_flag_spec='-Bexport'
++      ;;
++
++    sysv4*MP*)
++      if test -d /usr/nec; then
++	archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
++	hardcode_shlibpath_var=no
++	runpath_var=LD_RUN_PATH
++	hardcode_runpath_var=yes
++	ld_shlibs=yes
++      fi
++      ;;
++
++    sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*)
++      no_undefined_flag='${wl}-z,text'
++      archive_cmds_need_lc=no
++      hardcode_shlibpath_var=no
++      runpath_var='LD_RUN_PATH'
++
++      if test "$GCC" = yes; then
++	archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
++	archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
++      else
++	archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
++	archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
++      fi
++      ;;
++
++    sysv5* | sco3.2v5* | sco5v6*)
++      # Note: We can NOT use -z defs as we might desire, because we do not
++      # link with -lc, and that would cause any symbols used from libc to
++      # always be unresolved, which means just about no library would
++      # ever link correctly.  If we're not using GNU ld we use -z text
++      # though, which does catch some bad symbols but isn't as heavy-handed
++      # as -z defs.
++      no_undefined_flag='${wl}-z,text'
++      allow_undefined_flag='${wl}-z,nodefs'
++      archive_cmds_need_lc=no
++      hardcode_shlibpath_var=no
++      hardcode_libdir_flag_spec='${wl}-R,$libdir'
++      hardcode_libdir_separator=':'
++      link_all_deplibs=yes
++      export_dynamic_flag_spec='${wl}-Bexport'
++      runpath_var='LD_RUN_PATH'
++
++      if test "$GCC" = yes; then
++	archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
++	archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
++      else
++	archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
++	archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
++      fi
++      ;;
++
++    uts4*)
++      archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
++      hardcode_libdir_flag_spec='-L$libdir'
++      hardcode_shlibpath_var=no
++      ;;
++
++    *)
++      ld_shlibs=no
++      ;;
++    esac
++
++    if test x$host_vendor = xsni; then
++      case $host in
++      sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
++	export_dynamic_flag_spec='${wl}-Blargedynsym'
++	;;
++      esac
++    fi
++  fi
++
++{ $as_echo "$as_me:$LINENO: result: $ld_shlibs" >&5
++$as_echo "$ld_shlibs" >&6; }
++test "$ld_shlibs" = no && can_build_shared=no
++
++with_gnu_ld=$with_gnu_ld
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++#
++# Do we need to explicitly link libc?
++#
++case "x$archive_cmds_need_lc" in
++x|xyes)
++  # Assume -lc should be added
++  archive_cmds_need_lc=yes
++
++  if test "$enable_shared" = yes && test "$GCC" = yes; then
++    case $archive_cmds in
++    *'~'*)
++      # FIXME: we may have to deal with multi-command sequences.
++      ;;
++    '$CC '*)
++      # Test whether the compiler implicitly links with -lc since on some
++      # systems, -lgcc has to come before -lc. If gcc already passes -lc
++      # to ld, don't add -lc before -lgcc.
++      { $as_echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5
++$as_echo_n "checking whether -lc should be explicitly linked in... " >&6; }
++      $RM conftest*
++      echo "$lt_simple_compile_test_code" > conftest.$ac_ext
++
++      if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
++  (eval $ac_compile) 2>&5
++  ac_status=$?
++  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } 2>conftest.err; then
++        soname=conftest
++        lib=conftest
++        libobjs=conftest.$ac_objext
++        deplibs=
++        wl=$lt_prog_compiler_wl
++	pic_flag=$lt_prog_compiler_pic
++        compiler_flags=-v
++        linker_flags=-v
++        verstring=
++        output_objdir=.
++        libname=conftest
++        lt_save_allow_undefined_flag=$allow_undefined_flag
++        allow_undefined_flag=
++        if { (eval echo "$as_me:$LINENO: \"$archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\"") >&5
++  (eval $archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5
++  ac_status=$?
++  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }
++        then
++	  archive_cmds_need_lc=no
++        else
++	  archive_cmds_need_lc=yes
++        fi
++        allow_undefined_flag=$lt_save_allow_undefined_flag
++      else
++        cat conftest.err 1>&5
++      fi
++      $RM conftest*
++      { $as_echo "$as_me:$LINENO: result: $archive_cmds_need_lc" >&5
++$as_echo "$archive_cmds_need_lc" >&6; }
++      ;;
++    esac
++  fi
++  ;;
++esac
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++  { $as_echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5
++$as_echo_n "checking dynamic linker characteristics... " >&6; }
++
++if test "$GCC" = yes; then
++  case $host_os in
++    darwin*) lt_awk_arg="/^libraries:/,/LR/" ;;
++    *) lt_awk_arg="/^libraries:/" ;;
++  esac
++  lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e "s,=/,/,g"`
++  if $ECHO "$lt_search_path_spec" | $GREP ';' >/dev/null ; then
++    # if the path contains ";" then we assume it to be the separator
++    # otherwise default to the standard path separator (i.e. ":") - it is
++    # assumed that no part of a normal pathname contains ";" but that should
++    # okay in the real world where ";" in dirpaths is itself problematic.
++    lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED -e 's/;/ /g'`
++  else
++    lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED  -e "s/$PATH_SEPARATOR/ /g"`
++  fi
++  # Ok, now we have the path, separated by spaces, we can step through it
++  # and add multilib dir if necessary.
++  lt_tmp_lt_search_path_spec=
++  lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null`
++  for lt_sys_path in $lt_search_path_spec; do
++    if test -d "$lt_sys_path/$lt_multi_os_dir"; then
++      lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir"
++    else
++      test -d "$lt_sys_path" && \
++	lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path"
++    fi
++  done
++  lt_search_path_spec=`$ECHO $lt_tmp_lt_search_path_spec | awk '
++BEGIN {RS=" "; FS="/|\n";} {
++  lt_foo="";
++  lt_count=0;
++  for (lt_i = NF; lt_i > 0; lt_i--) {
++    if ($lt_i != "" && $lt_i != ".") {
++      if ($lt_i == "..") {
++        lt_count++;
++      } else {
++        if (lt_count == 0) {
++          lt_foo="/" $lt_i lt_foo;
++        } else {
++          lt_count--;
++        }
++      }
++    }
++  }
++  if (lt_foo != "") { lt_freq[lt_foo]++; }
++  if (lt_freq[lt_foo] == 1) { print lt_foo; }
++}'`
++  sys_lib_search_path_spec=`$ECHO $lt_search_path_spec`
++else
++  sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
++fi
++library_names_spec=
++libname_spec='lib$name'
++soname_spec=
++shrext_cmds=".so"
++postinstall_cmds=
++postuninstall_cmds=
++finish_cmds=
++finish_eval=
++shlibpath_var=
++shlibpath_overrides_runpath=unknown
++version_type=none
++dynamic_linker="$host_os ld.so"
++sys_lib_dlsearch_path_spec="/lib /usr/lib"
++need_lib_prefix=unknown
++hardcode_into_libs=no
++
++# when you set need_version to no, make sure it does not cause -set_version
++# flags to be left without arguments
++need_version=unknown
++
++case $host_os in
++aix3*)
++  version_type=linux
++  library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
++  shlibpath_var=LIBPATH
++
++  # AIX 3 has no versioning support, so we append a major version to the name.
++  soname_spec='${libname}${release}${shared_ext}$major'
++  ;;
++
++aix[4-9]*)
++  version_type=linux
++  need_lib_prefix=no
++  need_version=no
++  hardcode_into_libs=yes
++  if test "$host_cpu" = ia64; then
++    # AIX 5 supports IA64
++    library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}'
++    shlibpath_var=LD_LIBRARY_PATH
++  else
++    # With GCC up to 2.95.x, collect2 would create an import file
++    # for dependence libraries.  The import file would start with
++    # the line `#! .'.  This would cause the generated library to
++    # depend on `.', always an invalid library.  This was fixed in
++    # development snapshots of GCC prior to 3.0.
++    case $host_os in
++      aix4 | aix4.[01] | aix4.[01].*)
++      if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
++	   echo ' yes '
++	   echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then
++	:
++      else
++	can_build_shared=no
++      fi
++      ;;
++    esac
++    # AIX (on Power*) has no versioning support, so currently we can not hardcode correct
++    # soname into executable. Probably we can add versioning support to
++    # collect2, so additional links can be useful in future.
++    if test "$aix_use_runtimelinking" = yes; then
++      # If using run time linking (on AIX 4.2 or later) use lib<name>.so
++      # instead of lib<name>.a to let people know that these are not
++      # typical AIX shared libraries.
++      library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
++    else
++      # We preserve .a as extension for shared libraries through AIX4.2
++      # and later when we are not doing run time linking.
++      library_names_spec='${libname}${release}.a $libname.a'
++      soname_spec='${libname}${release}${shared_ext}$major'
++    fi
++    shlibpath_var=LIBPATH
++  fi
++  ;;
++
++amigaos*)
++  case $host_cpu in
++  powerpc)
++    # Since July 2007 AmigaOS4 officially supports .so libraries.
++    # When compiling the executable, add -use-dynld -Lsobjs: to the compileline.
++    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
++    ;;
++  m68k)
++    library_names_spec='$libname.ixlibrary $libname.a'
++    # Create ${libname}_ixlibrary.a entries in /sys/libs.
++    finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$ECHO "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
++    ;;
++  esac
++  ;;
++
++beos*)
++  library_names_spec='${libname}${shared_ext}'
++  dynamic_linker="$host_os ld.so"
++  shlibpath_var=LIBRARY_PATH
++  ;;
++
++bsdi[45]*)
++  version_type=linux
++  need_version=no
++  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
++  soname_spec='${libname}${release}${shared_ext}$major'
++  finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
++  shlibpath_var=LD_LIBRARY_PATH
++  sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
++  sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
++  # the default ld.so.conf also contains /usr/contrib/lib and
++  # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
++  # libtool to hard-code these into programs
++  ;;
++
++cygwin* | mingw* | pw32* | cegcc*)
++  version_type=windows
++  shrext_cmds=".dll"
++  need_version=no
++  need_lib_prefix=no
++
++  case $GCC,$host_os in
++  yes,cygwin* | yes,mingw* | yes,pw32* | yes,cegcc*)
++    library_names_spec='$libname.dll.a'
++    # DLL is installed to $(libdir)/../bin by postinstall_cmds
++    postinstall_cmds='base_file=`basename \${file}`~
++      dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
++      dldir=$destdir/`dirname \$dlpath`~
++      test -d \$dldir || mkdir -p \$dldir~
++      $install_prog $dir/$dlname \$dldir/$dlname~
++      chmod a+x \$dldir/$dlname~
++      if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
++        eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
++      fi'
++    postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
++      dlpath=$dir/\$dldll~
++       $RM \$dlpath'
++    shlibpath_overrides_runpath=yes
++
++    case $host_os in
++    cygwin*)
++      # Cygwin DLLs use 'cyg' prefix rather than 'lib'
++      soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
++      sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib"
++      ;;
++    mingw* | cegcc*)
++      # MinGW DLLs use traditional 'lib' prefix
++      soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
++      sys_lib_search_path_spec=`$CC -print-search-dirs | $GREP "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
++      if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then
++        # It is most probably a Windows format PATH printed by
++        # mingw gcc, but we are running on Cygwin. Gcc prints its search
++        # path with ; separators, and with drive letters. We can handle the
++        # drive letters (cygwin fileutils understands them), so leave them,
++        # especially as we might pass files found there to a mingw objdump,
++        # which wouldn't understand a cygwinified path. Ahh.
++        sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
++      else
++        sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED  -e "s/$PATH_SEPARATOR/ /g"`
++      fi
++      ;;
++    pw32*)
++      # pw32 DLLs use 'pw' prefix rather than 'lib'
++      library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
++      ;;
++    esac
++    ;;
++
++  *)
++    library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib'
++    ;;
++  esac
++  dynamic_linker='Win32 ld.exe'
++  # FIXME: first we should search . and the directory the executable is in
++  shlibpath_var=PATH
++  ;;
++
++darwin* | rhapsody*)
++  dynamic_linker="$host_os dyld"
++  version_type=darwin
++  need_lib_prefix=no
++  need_version=no
++  library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext'
++  soname_spec='${libname}${release}${major}$shared_ext'
++  shlibpath_overrides_runpath=yes
++  shlibpath_var=DYLD_LIBRARY_PATH
++  shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
++
++  sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"
++  sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
++  ;;
++
++dgux*)
++  version_type=linux
++  need_lib_prefix=no
++  need_version=no
++  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext'
++  soname_spec='${libname}${release}${shared_ext}$major'
++  shlibpath_var=LD_LIBRARY_PATH
++  ;;
++
++freebsd1*)
++  dynamic_linker=no
++  ;;
++
++freebsd* | dragonfly*)
++  # DragonFly does not have aout.  When/if they implement a new
++  # versioning mechanism, adjust this.
++  if test -x /usr/bin/objformat; then
++    objformat=`/usr/bin/objformat`
++  else
++    case $host_os in
++    freebsd[123]*) objformat=aout ;;
++    *) objformat=elf ;;
++    esac
++  fi
++  version_type=freebsd-$objformat
++  case $version_type in
++    freebsd-elf*)
++      library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
++      need_version=no
++      need_lib_prefix=no
++      ;;
++    freebsd-*)
++      library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix'
++      need_version=yes
++      ;;
++  esac
++  shlibpath_var=LD_LIBRARY_PATH
++  case $host_os in
++  freebsd2*)
++    shlibpath_overrides_runpath=yes
++    ;;
++  freebsd3.[01]* | freebsdelf3.[01]*)
++    shlibpath_overrides_runpath=yes
++    hardcode_into_libs=yes
++    ;;
++  freebsd3.[2-9]* | freebsdelf3.[2-9]* | \
++  freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1)
++    shlibpath_overrides_runpath=no
++    hardcode_into_libs=yes
++    ;;
++  *) # from 4.6 on, and DragonFly
++    shlibpath_overrides_runpath=yes
++    hardcode_into_libs=yes
++    ;;
++  esac
++  ;;
++
++gnu*)
++  version_type=linux
++  need_lib_prefix=no
++  need_version=no
++  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
++  soname_spec='${libname}${release}${shared_ext}$major'
++  shlibpath_var=LD_LIBRARY_PATH
++  hardcode_into_libs=yes
++  ;;
++
++hpux9* | hpux10* | hpux11*)
++  # Give a soname corresponding to the major version so that dld.sl refuses to
++  # link against other versions.
++  version_type=sunos
++  need_lib_prefix=no
++  need_version=no
++  case $host_cpu in
++  ia64*)
++    shrext_cmds='.so'
++    hardcode_into_libs=yes
++    dynamic_linker="$host_os dld.so"
++    shlibpath_var=LD_LIBRARY_PATH
++    shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
++    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
++    soname_spec='${libname}${release}${shared_ext}$major'
++    if test "X$HPUX_IA64_MODE" = X32; then
++      sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
++    else
++      sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
++    fi
++    sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
++    ;;
++  hppa*64*)
++    shrext_cmds='.sl'
++    hardcode_into_libs=yes
++    dynamic_linker="$host_os dld.sl"
++    shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
++    shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
++    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
++    soname_spec='${libname}${release}${shared_ext}$major'
++    sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
++    sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
++    ;;
++  *)
++    shrext_cmds='.sl'
++    dynamic_linker="$host_os dld.sl"
++    shlibpath_var=SHLIB_PATH
++    shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
++    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
++    soname_spec='${libname}${release}${shared_ext}$major'
++    ;;
++  esac
++  # HP-UX runs *really* slowly unless shared libraries are mode 555.
++  postinstall_cmds='chmod 555 $lib'
++  ;;
++
++interix[3-9]*)
++  version_type=linux
++  need_lib_prefix=no
++  need_version=no
++  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
++  soname_spec='${libname}${release}${shared_ext}$major'
++  dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
++  shlibpath_var=LD_LIBRARY_PATH
++  shlibpath_overrides_runpath=no
++  hardcode_into_libs=yes
++  ;;
++
++irix5* | irix6* | nonstopux*)
++  case $host_os in
++    nonstopux*) version_type=nonstopux ;;
++    *)
++	if test "$lt_cv_prog_gnu_ld" = yes; then
++		version_type=linux
++	else
++		version_type=irix
++	fi ;;
++  esac
++  need_lib_prefix=no
++  need_version=no
++  soname_spec='${libname}${release}${shared_ext}$major'
++  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}'
++  case $host_os in
++  irix5* | nonstopux*)
++    libsuff= shlibsuff=
++    ;;
++  *)
++    case $LD in # libtool.m4 will add one of these switches to LD
++    *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
++      libsuff= shlibsuff= libmagic=32-bit;;
++    *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
++      libsuff=32 shlibsuff=N32 libmagic=N32;;
++    *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
++      libsuff=64 shlibsuff=64 libmagic=64-bit;;
++    *) libsuff= shlibsuff= libmagic=never-match;;
++    esac
++    ;;
++  esac
++  shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
++  shlibpath_overrides_runpath=no
++  sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
++  sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
++  hardcode_into_libs=yes
++  ;;
++
++# No shared lib support for Linux oldld, aout, or coff.
++linux*oldld* | linux*aout* | linux*coff*)
++  dynamic_linker=no
++  ;;
++
++# This must be Linux ELF.
++linux* | k*bsd*-gnu)
++  version_type=linux
++  need_lib_prefix=no
++  need_version=no
++  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
++  soname_spec='${libname}${release}${shared_ext}$major'
++  finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
++  shlibpath_var=LD_LIBRARY_PATH
++  shlibpath_overrides_runpath=no
++  # Some binutils ld are patched to set DT_RUNPATH
++  save_LDFLAGS=$LDFLAGS
++  save_libdir=$libdir
++  eval "libdir=/foo; wl=\"$lt_prog_compiler_wl\"; \
++       LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec\""
++  cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++
++int
++main ()
++{
++
++  ;
++  return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++  *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++  (eval "$ac_link") 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } && {
++	 test -z "$ac_c_werror_flag" ||
++	 test ! -s conftest.err
++       } && test -s conftest$ac_exeext && {
++	 test "$cross_compiling" = yes ||
++	 $as_test_x conftest$ac_exeext
++       }; then
++  if  ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then
++  shlibpath_overrides_runpath=yes
++fi
++
++else
++  $as_echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++
++fi
++
++rm -rf conftest.dSYM
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++      conftest$ac_exeext conftest.$ac_ext
++  LDFLAGS=$save_LDFLAGS
++  libdir=$save_libdir
++
++  # This implies no fast_install, which is unacceptable.
++  # Some rework will be needed to allow for fast_install
++  # before this can be enabled.
++  hardcode_into_libs=yes
++
++  # Append ld.so.conf contents to the search path
++  if test -f /etc/ld.so.conf; then
++    lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[	 ]*hwcap[	 ]/d;s/[:,	]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
++    sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
++  fi
++
++  # We used to test for /lib/ld.so.1 and disable shared libraries on
++  # powerpc, because MkLinux only supported shared libraries with the
++  # GNU dynamic linker.  Since this was broken with cross compilers,
++  # most powerpc-linux boxes support dynamic linking these days and
++  # people can always --disable-shared, the test was removed, and we
++  # assume the GNU/Linux dynamic linker is in use.
++  dynamic_linker='GNU/Linux ld.so'
++  ;;
++
++netbsd*)
++  version_type=sunos
++  need_lib_prefix=no
++  need_version=no
++  if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
++    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
++    finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
++    dynamic_linker='NetBSD (a.out) ld.so'
++  else
++    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
++    soname_spec='${libname}${release}${shared_ext}$major'
++    dynamic_linker='NetBSD ld.elf_so'
++  fi
++  shlibpath_var=LD_LIBRARY_PATH
++  shlibpath_overrides_runpath=yes
++  hardcode_into_libs=yes
++  ;;
++
++newsos6)
++  version_type=linux
++  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
++  shlibpath_var=LD_LIBRARY_PATH
++  shlibpath_overrides_runpath=yes
++  ;;
++
++*nto* | *qnx*)
++  version_type=qnx
++  need_lib_prefix=no
++  need_version=no
++  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
++  soname_spec='${libname}${release}${shared_ext}$major'
++  shlibpath_var=LD_LIBRARY_PATH
++  shlibpath_overrides_runpath=no
++  hardcode_into_libs=yes
++  dynamic_linker='ldqnx.so'
++  ;;
++
++openbsd*)
++  version_type=sunos
++  sys_lib_dlsearch_path_spec="/usr/lib"
++  need_lib_prefix=no
++  # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs.
++  case $host_os in
++    openbsd3.3 | openbsd3.3.*)	need_version=yes ;;
++    *)				need_version=no  ;;
++  esac
++  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
++  finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
++  shlibpath_var=LD_LIBRARY_PATH
++  if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
++    case $host_os in
++      openbsd2.[89] | openbsd2.[89].*)
++	shlibpath_overrides_runpath=no
++	;;
++      *)
++	shlibpath_overrides_runpath=yes
++	;;
++      esac
++  else
++    shlibpath_overrides_runpath=yes
++  fi
++  ;;
++
++os2*)
++  libname_spec='$name'
++  shrext_cmds=".dll"
++  need_lib_prefix=no
++  library_names_spec='$libname${shared_ext} $libname.a'
++  dynamic_linker='OS/2 ld.exe'
++  shlibpath_var=LIBPATH
++  ;;
++
++osf3* | osf4* | osf5*)
++  version_type=osf
++  need_lib_prefix=no
++  need_version=no
++  soname_spec='${libname}${release}${shared_ext}$major'
++  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
++  shlibpath_var=LD_LIBRARY_PATH
++  sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
++  sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
++  ;;
++
++rdos*)
++  dynamic_linker=no
++  ;;
++
++solaris*)
++  version_type=linux
++  need_lib_prefix=no
++  need_version=no
++  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
++  soname_spec='${libname}${release}${shared_ext}$major'
++  shlibpath_var=LD_LIBRARY_PATH
++  shlibpath_overrides_runpath=yes
++  hardcode_into_libs=yes
++  # ldd complains unless libraries are executable
++  postinstall_cmds='chmod +x $lib'
++  ;;
++
++sunos4*)
++  version_type=sunos
++  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
++  finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
++  shlibpath_var=LD_LIBRARY_PATH
++  shlibpath_overrides_runpath=yes
++  if test "$with_gnu_ld" = yes; then
++    need_lib_prefix=no
++  fi
++  need_version=yes
++  ;;
++
++sysv4 | sysv4.3*)
++  version_type=linux
++  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
++  soname_spec='${libname}${release}${shared_ext}$major'
++  shlibpath_var=LD_LIBRARY_PATH
++  case $host_vendor in
++    sni)
++      shlibpath_overrides_runpath=no
++      need_lib_prefix=no
++      runpath_var=LD_RUN_PATH
++      ;;
++    siemens)
++      need_lib_prefix=no
++      ;;
++    motorola)
++      need_lib_prefix=no
++      need_version=no
++      shlibpath_overrides_runpath=no
++      sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
++      ;;
++  esac
++  ;;
++
++sysv4*MP*)
++  if test -d /usr/nec ;then
++    version_type=linux
++    library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
++    soname_spec='$libname${shared_ext}.$major'
++    shlibpath_var=LD_LIBRARY_PATH
++  fi
++  ;;
++
++sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
++  version_type=freebsd-elf
++  need_lib_prefix=no
++  need_version=no
++  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
++  soname_spec='${libname}${release}${shared_ext}$major'
++  shlibpath_var=LD_LIBRARY_PATH
++  shlibpath_overrides_runpath=yes
++  hardcode_into_libs=yes
++  if test "$with_gnu_ld" = yes; then
++    sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
++  else
++    sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
++    case $host_os in
++      sco3.2v5*)
++        sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
++	;;
++    esac
++  fi
++  sys_lib_dlsearch_path_spec='/usr/lib'
++  ;;
++
++tpf*)
++  # TPF is a cross-target only.  Preferred cross-host = GNU/Linux.
++  version_type=linux
++  need_lib_prefix=no
++  need_version=no
++  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
++  shlibpath_var=LD_LIBRARY_PATH
++  shlibpath_overrides_runpath=no
++  hardcode_into_libs=yes
++  ;;
++
++uts4*)
++  version_type=linux
++  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
++  soname_spec='${libname}${release}${shared_ext}$major'
++  shlibpath_var=LD_LIBRARY_PATH
++  ;;
++
++*)
++  dynamic_linker=no
++  ;;
++esac
++{ $as_echo "$as_me:$LINENO: result: $dynamic_linker" >&5
++$as_echo "$dynamic_linker" >&6; }
++test "$dynamic_linker" = no && can_build_shared=no
++
++variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
++if test "$GCC" = yes; then
++  variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
++fi
++
++if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then
++  sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec"
++fi
++if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then
++  sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec"
++fi
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++  { $as_echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5
++$as_echo_n "checking how to hardcode library paths into programs... " >&6; }
++hardcode_action=
++if test -n "$hardcode_libdir_flag_spec" ||
++   test -n "$runpath_var" ||
++   test "X$hardcode_automatic" = "Xyes" ; then
++
++  # We can hardcode non-existent directories.
++  if test "$hardcode_direct" != no &&
++     # If the only mechanism to avoid hardcoding is shlibpath_var, we
++     # have to relink, otherwise we might link with an installed library
++     # when we should be linking with a yet-to-be-installed one
++     ## test "$_LT_TAGVAR(hardcode_shlibpath_var, )" != no &&
++     test "$hardcode_minus_L" != no; then
++    # Linking always hardcodes the temporary library directory.
++    hardcode_action=relink
++  else
++    # We can link without hardcoding, and we can hardcode nonexisting dirs.
++    hardcode_action=immediate
++  fi
++else
++  # We cannot hardcode anything, or else we can only hardcode existing
++  # directories.
++  hardcode_action=unsupported
++fi
++{ $as_echo "$as_me:$LINENO: result: $hardcode_action" >&5
++$as_echo "$hardcode_action" >&6; }
++
++if test "$hardcode_action" = relink ||
++   test "$inherit_rpath" = yes; then
++  # Fast installation is not supported
++  enable_fast_install=no
++elif test "$shlibpath_overrides_runpath" = yes ||
++     test "$enable_shared" = no; then
++  # Fast installation is not necessary
++  enable_fast_install=needless
++fi
++
++
++
++
++
++
++  if test "x$enable_dlopen" != xyes; then
++  enable_dlopen=unknown
++  enable_dlopen_self=unknown
++  enable_dlopen_self_static=unknown
++else
++  lt_cv_dlopen=no
++  lt_cv_dlopen_libs=
++
++  case $host_os in
++  beos*)
++    lt_cv_dlopen="load_add_on"
++    lt_cv_dlopen_libs=
++    lt_cv_dlopen_self=yes
++    ;;
++
++  mingw* | pw32* | cegcc*)
++    lt_cv_dlopen="LoadLibrary"
++    lt_cv_dlopen_libs=
++    ;;
++
++  cygwin*)
++    lt_cv_dlopen="dlopen"
++    lt_cv_dlopen_libs=
++    ;;
++
++  darwin*)
++  # if libdl is installed we need to link against it
++    { $as_echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5
++$as_echo_n "checking for dlopen in -ldl... " >&6; }
++if test "${ac_cv_lib_dl_dlopen+set}" = set; then
++  $as_echo_n "(cached) " >&6
++else
++  ac_check_lib_save_LIBS=$LIBS
++LIBS="-ldl  $LIBS"
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++
++/* Override any GCC internal prototype to avoid an error.
++   Use char because int might match the return type of a GCC
++   builtin and then its argument prototype would still apply.  */
++#ifdef __cplusplus
++extern "C"
++#endif
++char dlopen ();
++int
++main ()
++{
++return dlopen ();
++  ;
++  return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++  *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++  (eval "$ac_link") 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } && {
++	 test -z "$ac_c_werror_flag" ||
++	 test ! -s conftest.err
++       } && test -s conftest$ac_exeext && {
++	 test "$cross_compiling" = yes ||
++	 $as_test_x conftest$ac_exeext
++       }; then
++  ac_cv_lib_dl_dlopen=yes
++else
++  $as_echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++	ac_cv_lib_dl_dlopen=no
++fi
++
++rm -rf conftest.dSYM
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++      conftest$ac_exeext conftest.$ac_ext
++LIBS=$ac_check_lib_save_LIBS
++fi
++{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5
++$as_echo "$ac_cv_lib_dl_dlopen" >&6; }
++if test "x$ac_cv_lib_dl_dlopen" = x""yes; then
++  lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
++else
++
++    lt_cv_dlopen="dyld"
++    lt_cv_dlopen_libs=
++    lt_cv_dlopen_self=yes
++
++fi
++
++    ;;
++
++  *)
++    { $as_echo "$as_me:$LINENO: checking for shl_load" >&5
++$as_echo_n "checking for shl_load... " >&6; }
++if test "${ac_cv_func_shl_load+set}" = set; then
++  $as_echo_n "(cached) " >&6
++else
++  cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++/* Define shl_load to an innocuous variant, in case <limits.h> declares shl_load.
++   For example, HP-UX 11i <limits.h> declares gettimeofday.  */
++#define shl_load innocuous_shl_load
++
++/* System header to define __stub macros and hopefully few prototypes,
++    which can conflict with char shl_load (); below.
++    Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
++    <limits.h> exists even on freestanding compilers.  */
++
++#ifdef __STDC__
++# include <limits.h>
++#else
++# include <assert.h>
++#endif
++
++#undef shl_load
++
++/* Override any GCC internal prototype to avoid an error.
++   Use char because int might match the return type of a GCC
++   builtin and then its argument prototype would still apply.  */
++#ifdef __cplusplus
++extern "C"
++#endif
++char shl_load ();
++/* The GNU C library defines this for functions which it implements
++    to always fail with ENOSYS.  Some functions are actually named
++    something starting with __ and the normal name is an alias.  */
++#if defined __stub_shl_load || defined __stub___shl_load
++choke me
++#endif
++
++int
++main ()
++{
++return shl_load ();
++  ;
++  return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++  *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++  (eval "$ac_link") 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } && {
++	 test -z "$ac_c_werror_flag" ||
++	 test ! -s conftest.err
++       } && test -s conftest$ac_exeext && {
++	 test "$cross_compiling" = yes ||
++	 $as_test_x conftest$ac_exeext
++       }; then
++  ac_cv_func_shl_load=yes
++else
++  $as_echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++	ac_cv_func_shl_load=no
++fi
++
++rm -rf conftest.dSYM
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++      conftest$ac_exeext conftest.$ac_ext
++fi
++{ $as_echo "$as_me:$LINENO: result: $ac_cv_func_shl_load" >&5
++$as_echo "$ac_cv_func_shl_load" >&6; }
++if test "x$ac_cv_func_shl_load" = x""yes; then
++  lt_cv_dlopen="shl_load"
++else
++  { $as_echo "$as_me:$LINENO: checking for shl_load in -ldld" >&5
++$as_echo_n "checking for shl_load in -ldld... " >&6; }
++if test "${ac_cv_lib_dld_shl_load+set}" = set; then
++  $as_echo_n "(cached) " >&6
++else
++  ac_check_lib_save_LIBS=$LIBS
++LIBS="-ldld  $LIBS"
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++
++/* Override any GCC internal prototype to avoid an error.
++   Use char because int might match the return type of a GCC
++   builtin and then its argument prototype would still apply.  */
++#ifdef __cplusplus
++extern "C"
++#endif
++char shl_load ();
++int
++main ()
++{
++return shl_load ();
++  ;
++  return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++  *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++  (eval "$ac_link") 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } && {
++	 test -z "$ac_c_werror_flag" ||
++	 test ! -s conftest.err
++       } && test -s conftest$ac_exeext && {
++	 test "$cross_compiling" = yes ||
++	 $as_test_x conftest$ac_exeext
++       }; then
++  ac_cv_lib_dld_shl_load=yes
++else
++  $as_echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++	ac_cv_lib_dld_shl_load=no
++fi
++
++rm -rf conftest.dSYM
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++      conftest$ac_exeext conftest.$ac_ext
++LIBS=$ac_check_lib_save_LIBS
++fi
++{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_dld_shl_load" >&5
++$as_echo "$ac_cv_lib_dld_shl_load" >&6; }
++if test "x$ac_cv_lib_dld_shl_load" = x""yes; then
++  lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"
++else
++  { $as_echo "$as_me:$LINENO: checking for dlopen" >&5
++$as_echo_n "checking for dlopen... " >&6; }
++if test "${ac_cv_func_dlopen+set}" = set; then
++  $as_echo_n "(cached) " >&6
++else
++  cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++/* Define dlopen to an innocuous variant, in case <limits.h> declares dlopen.
++   For example, HP-UX 11i <limits.h> declares gettimeofday.  */
++#define dlopen innocuous_dlopen
++
++/* System header to define __stub macros and hopefully few prototypes,
++    which can conflict with char dlopen (); below.
++    Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
++    <limits.h> exists even on freestanding compilers.  */
++
++#ifdef __STDC__
++# include <limits.h>
++#else
++# include <assert.h>
++#endif
++
++#undef dlopen
++
++/* Override any GCC internal prototype to avoid an error.
++   Use char because int might match the return type of a GCC
++   builtin and then its argument prototype would still apply.  */
++#ifdef __cplusplus
++extern "C"
++#endif
++char dlopen ();
++/* The GNU C library defines this for functions which it implements
++    to always fail with ENOSYS.  Some functions are actually named
++    something starting with __ and the normal name is an alias.  */
++#if defined __stub_dlopen || defined __stub___dlopen
++choke me
++#endif
++
++int
++main ()
++{
++return dlopen ();
++  ;
++  return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++  *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++  (eval "$ac_link") 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } && {
++	 test -z "$ac_c_werror_flag" ||
++	 test ! -s conftest.err
++       } && test -s conftest$ac_exeext && {
++	 test "$cross_compiling" = yes ||
++	 $as_test_x conftest$ac_exeext
++       }; then
++  ac_cv_func_dlopen=yes
++else
++  $as_echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++	ac_cv_func_dlopen=no
++fi
++
++rm -rf conftest.dSYM
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++      conftest$ac_exeext conftest.$ac_ext
++fi
++{ $as_echo "$as_me:$LINENO: result: $ac_cv_func_dlopen" >&5
++$as_echo "$ac_cv_func_dlopen" >&6; }
++if test "x$ac_cv_func_dlopen" = x""yes; then
++  lt_cv_dlopen="dlopen"
++else
++  { $as_echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5
++$as_echo_n "checking for dlopen in -ldl... " >&6; }
++if test "${ac_cv_lib_dl_dlopen+set}" = set; then
++  $as_echo_n "(cached) " >&6
++else
++  ac_check_lib_save_LIBS=$LIBS
++LIBS="-ldl  $LIBS"
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++
++/* Override any GCC internal prototype to avoid an error.
++   Use char because int might match the return type of a GCC
++   builtin and then its argument prototype would still apply.  */
++#ifdef __cplusplus
++extern "C"
++#endif
++char dlopen ();
++int
++main ()
++{
++return dlopen ();
++  ;
++  return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++  *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++  (eval "$ac_link") 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } && {
++	 test -z "$ac_c_werror_flag" ||
++	 test ! -s conftest.err
++       } && test -s conftest$ac_exeext && {
++	 test "$cross_compiling" = yes ||
++	 $as_test_x conftest$ac_exeext
++       }; then
++  ac_cv_lib_dl_dlopen=yes
++else
++  $as_echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++	ac_cv_lib_dl_dlopen=no
++fi
++
++rm -rf conftest.dSYM
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++      conftest$ac_exeext conftest.$ac_ext
++LIBS=$ac_check_lib_save_LIBS
++fi
++{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5
++$as_echo "$ac_cv_lib_dl_dlopen" >&6; }
++if test "x$ac_cv_lib_dl_dlopen" = x""yes; then
++  lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
++else
++  { $as_echo "$as_me:$LINENO: checking for dlopen in -lsvld" >&5
++$as_echo_n "checking for dlopen in -lsvld... " >&6; }
++if test "${ac_cv_lib_svld_dlopen+set}" = set; then
++  $as_echo_n "(cached) " >&6
++else
++  ac_check_lib_save_LIBS=$LIBS
++LIBS="-lsvld  $LIBS"
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++
++/* Override any GCC internal prototype to avoid an error.
++   Use char because int might match the return type of a GCC
++   builtin and then its argument prototype would still apply.  */
++#ifdef __cplusplus
++extern "C"
++#endif
++char dlopen ();
++int
++main ()
++{
++return dlopen ();
++  ;
++  return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++  *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++  (eval "$ac_link") 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } && {
++	 test -z "$ac_c_werror_flag" ||
++	 test ! -s conftest.err
++       } && test -s conftest$ac_exeext && {
++	 test "$cross_compiling" = yes ||
++	 $as_test_x conftest$ac_exeext
++       }; then
++  ac_cv_lib_svld_dlopen=yes
++else
++  $as_echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++	ac_cv_lib_svld_dlopen=no
++fi
++
++rm -rf conftest.dSYM
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++      conftest$ac_exeext conftest.$ac_ext
++LIBS=$ac_check_lib_save_LIBS
++fi
++{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_svld_dlopen" >&5
++$as_echo "$ac_cv_lib_svld_dlopen" >&6; }
++if test "x$ac_cv_lib_svld_dlopen" = x""yes; then
++  lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"
++else
++  { $as_echo "$as_me:$LINENO: checking for dld_link in -ldld" >&5
++$as_echo_n "checking for dld_link in -ldld... " >&6; }
++if test "${ac_cv_lib_dld_dld_link+set}" = set; then
++  $as_echo_n "(cached) " >&6
++else
++  ac_check_lib_save_LIBS=$LIBS
++LIBS="-ldld  $LIBS"
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++
++/* Override any GCC internal prototype to avoid an error.
++   Use char because int might match the return type of a GCC
++   builtin and then its argument prototype would still apply.  */
++#ifdef __cplusplus
++extern "C"
++#endif
++char dld_link ();
++int
++main ()
++{
++return dld_link ();
++  ;
++  return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++  *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++  (eval "$ac_link") 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } && {
++	 test -z "$ac_c_werror_flag" ||
++	 test ! -s conftest.err
++       } && test -s conftest$ac_exeext && {
++	 test "$cross_compiling" = yes ||
++	 $as_test_x conftest$ac_exeext
++       }; then
++  ac_cv_lib_dld_dld_link=yes
++else
++  $as_echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++	ac_cv_lib_dld_dld_link=no
++fi
++
++rm -rf conftest.dSYM
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++      conftest$ac_exeext conftest.$ac_ext
++LIBS=$ac_check_lib_save_LIBS
++fi
++{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_dld_dld_link" >&5
++$as_echo "$ac_cv_lib_dld_dld_link" >&6; }
++if test "x$ac_cv_lib_dld_dld_link" = x""yes; then
++  lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"
++fi
++
++
++fi
++
++
++fi
++
++
++fi
++
++
++fi
++
++
++fi
++
++    ;;
++  esac
++
++  if test "x$lt_cv_dlopen" != xno; then
++    enable_dlopen=yes
++  else
++    enable_dlopen=no
++  fi
++
++  case $lt_cv_dlopen in
++  dlopen)
++    save_CPPFLAGS="$CPPFLAGS"
++    test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
++
++    save_LDFLAGS="$LDFLAGS"
++    wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
++
++    save_LIBS="$LIBS"
++    LIBS="$lt_cv_dlopen_libs $LIBS"
++
++    { $as_echo "$as_me:$LINENO: checking whether a program can dlopen itself" >&5
++$as_echo_n "checking whether a program can dlopen itself... " >&6; }
++if test "${lt_cv_dlopen_self+set}" = set; then
++  $as_echo_n "(cached) " >&6
++else
++  	  if test "$cross_compiling" = yes; then :
++  lt_cv_dlopen_self=cross
++else
++  lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
++  lt_status=$lt_dlunknown
++  cat > conftest.$ac_ext <<_LT_EOF
++#line 13555 "configure"
++#include "confdefs.h"
++
++#if HAVE_DLFCN_H
++#include <dlfcn.h>
++#endif
++
++#include <stdio.h>
++
++#ifdef RTLD_GLOBAL
++#  define LT_DLGLOBAL		RTLD_GLOBAL
++#else
++#  ifdef DL_GLOBAL
++#    define LT_DLGLOBAL		DL_GLOBAL
++#  else
++#    define LT_DLGLOBAL		0
++#  endif
++#endif
++
++/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
++   find out it does not work in some platform. */
++#ifndef LT_DLLAZY_OR_NOW
++#  ifdef RTLD_LAZY
++#    define LT_DLLAZY_OR_NOW		RTLD_LAZY
++#  else
++#    ifdef DL_LAZY
++#      define LT_DLLAZY_OR_NOW		DL_LAZY
++#    else
++#      ifdef RTLD_NOW
++#        define LT_DLLAZY_OR_NOW	RTLD_NOW
++#      else
++#        ifdef DL_NOW
++#          define LT_DLLAZY_OR_NOW	DL_NOW
++#        else
++#          define LT_DLLAZY_OR_NOW	0
++#        endif
++#      endif
++#    endif
++#  endif
++#endif
++
++void fnord() { int i=42;}
++int main ()
++{
++  void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
++  int status = $lt_dlunknown;
++
++  if (self)
++    {
++      if (dlsym (self,"fnord"))       status = $lt_dlno_uscore;
++      else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
++      /* dlclose (self); */
++    }
++  else
++    puts (dlerror ());
++
++  return status;
++}
++_LT_EOF
++  if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
++  (eval $ac_link) 2>&5
++  ac_status=$?
++  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then
++    (./conftest; exit; ) >&5 2>/dev/null
++    lt_status=$?
++    case x$lt_status in
++      x$lt_dlno_uscore) lt_cv_dlopen_self=yes ;;
++      x$lt_dlneed_uscore) lt_cv_dlopen_self=yes ;;
++      x$lt_dlunknown|x*) lt_cv_dlopen_self=no ;;
++    esac
++  else :
++    # compilation failed
++    lt_cv_dlopen_self=no
++  fi
++fi
++rm -fr conftest*
++
++
++fi
++{ $as_echo "$as_me:$LINENO: result: $lt_cv_dlopen_self" >&5
++$as_echo "$lt_cv_dlopen_self" >&6; }
++
++    if test "x$lt_cv_dlopen_self" = xyes; then
++      wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
++      { $as_echo "$as_me:$LINENO: checking whether a statically linked program can dlopen itself" >&5
++$as_echo_n "checking whether a statically linked program can dlopen itself... " >&6; }
++if test "${lt_cv_dlopen_self_static+set}" = set; then
++  $as_echo_n "(cached) " >&6
++else
++  	  if test "$cross_compiling" = yes; then :
++  lt_cv_dlopen_self_static=cross
++else
++  lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
++  lt_status=$lt_dlunknown
++  cat > conftest.$ac_ext <<_LT_EOF
++#line 13651 "configure"
++#include "confdefs.h"
++
++#if HAVE_DLFCN_H
++#include <dlfcn.h>
++#endif
++
++#include <stdio.h>
++
++#ifdef RTLD_GLOBAL
++#  define LT_DLGLOBAL		RTLD_GLOBAL
++#else
++#  ifdef DL_GLOBAL
++#    define LT_DLGLOBAL		DL_GLOBAL
++#  else
++#    define LT_DLGLOBAL		0
++#  endif
++#endif
++
++/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
++   find out it does not work in some platform. */
++#ifndef LT_DLLAZY_OR_NOW
++#  ifdef RTLD_LAZY
++#    define LT_DLLAZY_OR_NOW		RTLD_LAZY
++#  else
++#    ifdef DL_LAZY
++#      define LT_DLLAZY_OR_NOW		DL_LAZY
++#    else
++#      ifdef RTLD_NOW
++#        define LT_DLLAZY_OR_NOW	RTLD_NOW
++#      else
++#        ifdef DL_NOW
++#          define LT_DLLAZY_OR_NOW	DL_NOW
++#        else
++#          define LT_DLLAZY_OR_NOW	0
++#        endif
++#      endif
++#    endif
++#  endif
++#endif
++
++void fnord() { int i=42;}
++int main ()
++{
++  void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
++  int status = $lt_dlunknown;
++
++  if (self)
++    {
++      if (dlsym (self,"fnord"))       status = $lt_dlno_uscore;
++      else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
++      /* dlclose (self); */
++    }
++  else
++    puts (dlerror ());
++
++  return status;
++}
++_LT_EOF
++  if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
++  (eval $ac_link) 2>&5
++  ac_status=$?
++  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then
++    (./conftest; exit; ) >&5 2>/dev/null
++    lt_status=$?
++    case x$lt_status in
++      x$lt_dlno_uscore) lt_cv_dlopen_self_static=yes ;;
++      x$lt_dlneed_uscore) lt_cv_dlopen_self_static=yes ;;
++      x$lt_dlunknown|x*) lt_cv_dlopen_self_static=no ;;
++    esac
++  else :
++    # compilation failed
++    lt_cv_dlopen_self_static=no
++  fi
++fi
++rm -fr conftest*
++
++
++fi
++{ $as_echo "$as_me:$LINENO: result: $lt_cv_dlopen_self_static" >&5
++$as_echo "$lt_cv_dlopen_self_static" >&6; }
++    fi
++
++    CPPFLAGS="$save_CPPFLAGS"
++    LDFLAGS="$save_LDFLAGS"
++    LIBS="$save_LIBS"
++    ;;
++  esac
++
++  case $lt_cv_dlopen_self in
++  yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;;
++  *) enable_dlopen_self=unknown ;;
++  esac
++
++  case $lt_cv_dlopen_self_static in
++  yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;;
++  *) enable_dlopen_self_static=unknown ;;
++  esac
++fi
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++striplib=
++old_striplib=
++{ $as_echo "$as_me:$LINENO: checking whether stripping libraries is possible" >&5
++$as_echo_n "checking whether stripping libraries is possible... " >&6; }
++if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then
++  test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
++  test -z "$striplib" && striplib="$STRIP --strip-unneeded"
++  { $as_echo "$as_me:$LINENO: result: yes" >&5
++$as_echo "yes" >&6; }
++else
++# FIXME - insert some real tests, host_os isn't really good enough
++  case $host_os in
++  darwin*)
++    if test -n "$STRIP" ; then
++      striplib="$STRIP -x"
++      old_striplib="$STRIP -S"
++      { $as_echo "$as_me:$LINENO: result: yes" >&5
++$as_echo "yes" >&6; }
++    else
++      { $as_echo "$as_me:$LINENO: result: no" >&5
++$as_echo "no" >&6; }
++    fi
++    ;;
++  *)
++    { $as_echo "$as_me:$LINENO: result: no" >&5
++$as_echo "no" >&6; }
++    ;;
++  esac
++fi
++
++
++
++
++
++
++
++
++
++
++
++
++  # Report which library types will actually be built
++  { $as_echo "$as_me:$LINENO: checking if libtool supports shared libraries" >&5
++$as_echo_n "checking if libtool supports shared libraries... " >&6; }
++  { $as_echo "$as_me:$LINENO: result: $can_build_shared" >&5
++$as_echo "$can_build_shared" >&6; }
++
++  { $as_echo "$as_me:$LINENO: checking whether to build shared libraries" >&5
++$as_echo_n "checking whether to build shared libraries... " >&6; }
++  test "$can_build_shared" = "no" && enable_shared=no
++
++  # On AIX, shared libraries and static libraries use the same namespace, and
++  # are all built from PIC.
++  case $host_os in
++  aix3*)
++    test "$enable_shared" = yes && enable_static=no
++    if test -n "$RANLIB"; then
++      archive_cmds="$archive_cmds~\$RANLIB \$lib"
++      postinstall_cmds='$RANLIB $lib'
++    fi
++    ;;
++
++  aix[4-9]*)
++    if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
++      test "$enable_shared" = yes && enable_static=no
++    fi
++    ;;
++  esac
++  { $as_echo "$as_me:$LINENO: result: $enable_shared" >&5
++$as_echo "$enable_shared" >&6; }
++
++  { $as_echo "$as_me:$LINENO: checking whether to build static libraries" >&5
++$as_echo_n "checking whether to build static libraries... " >&6; }
++  # Make sure either enable_shared or enable_static is yes.
++  test "$enable_shared" = yes || enable_static=yes
++  { $as_echo "$as_me:$LINENO: result: $enable_static" >&5
++$as_echo "$enable_static" >&6; }
++
++
++
++
++fi
++ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++
++CC="$lt_save_CC"
++
++
++
++
++
++
++
++
++
++
++
++
++
++        ac_config_commands="$ac_config_commands libtool"
++
++
++
++
++# Only expand once:
++
++
++if test -n "$ac_tool_prefix"; then
++  # Extract the first word of "${ac_tool_prefix}windres", so it can be a program name with args.
++set dummy ${ac_tool_prefix}windres; ac_word=$2
++{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
++$as_echo_n "checking for $ac_word... " >&6; }
++if test "${ac_cv_prog_RC+set}" = set; then
++  $as_echo_n "(cached) " >&6
++else
++  if test -n "$RC"; then
++  ac_cv_prog_RC="$RC" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++  IFS=$as_save_IFS
++  test -z "$as_dir" && as_dir=.
++  for ac_exec_ext in '' $ac_executable_extensions; do
++  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++    ac_cv_prog_RC="${ac_tool_prefix}windres"
++    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
++    break 2
++  fi
++done
++done
++IFS=$as_save_IFS
++
++fi
++fi
++RC=$ac_cv_prog_RC
++if test -n "$RC"; then
++  { $as_echo "$as_me:$LINENO: result: $RC" >&5
++$as_echo "$RC" >&6; }
++else
++  { $as_echo "$as_me:$LINENO: result: no" >&5
++$as_echo "no" >&6; }
++fi
++
++
++fi
++if test -z "$ac_cv_prog_RC"; then
++  ac_ct_RC=$RC
++  # Extract the first word of "windres", so it can be a program name with args.
++set dummy windres; ac_word=$2
++{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
++$as_echo_n "checking for $ac_word... " >&6; }
++if test "${ac_cv_prog_ac_ct_RC+set}" = set; then
++  $as_echo_n "(cached) " >&6
++else
++  if test -n "$ac_ct_RC"; then
++  ac_cv_prog_ac_ct_RC="$ac_ct_RC" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++  IFS=$as_save_IFS
++  test -z "$as_dir" && as_dir=.
++  for ac_exec_ext in '' $ac_executable_extensions; do
++  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++    ac_cv_prog_ac_ct_RC="windres"
++    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
++    break 2
++  fi
++done
++done
++IFS=$as_save_IFS
++
++fi
++fi
++ac_ct_RC=$ac_cv_prog_ac_ct_RC
++if test -n "$ac_ct_RC"; then
++  { $as_echo "$as_me:$LINENO: result: $ac_ct_RC" >&5
++$as_echo "$ac_ct_RC" >&6; }
++else
++  { $as_echo "$as_me:$LINENO: result: no" >&5
++$as_echo "no" >&6; }
++fi
++
++  if test "x$ac_ct_RC" = x; then
++    RC=""
++  else
++    case $cross_compiling:$ac_tool_warned in
++yes:)
++{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5
++$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
++ac_tool_warned=yes ;;
++esac
++    RC=$ac_ct_RC
++  fi
++else
++  RC="$ac_cv_prog_RC"
++fi
++
++
++
++
++# Source file extension for RC test sources.
++ac_ext=rc
++
++# Object file extension for compiled RC test sources.
++objext=o
++objext_RC=$objext
++
++# Code to be used in simple compile tests
++lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }'
++
++# Code to be used in simple link tests
++lt_simple_link_test_code="$lt_simple_compile_test_code"
++
++# ltmain only uses $CC for tagged configurations so make sure $CC is set.
++
++
++
++
++
++
++# If no C compiler was specified, use CC.
++LTCC=${LTCC-"$CC"}
++
++# If no C compiler flags were specified, use CFLAGS.
++LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
++
++# Allow CC to be a program name with arguments.
++compiler=$CC
++
++
++# save warnings/boilerplate of simple test code
++ac_outfile=conftest.$ac_objext
++echo "$lt_simple_compile_test_code" >conftest.$ac_ext
++eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
++_lt_compiler_boilerplate=`cat conftest.err`
++$RM conftest*
++
++ac_outfile=conftest.$ac_objext
++echo "$lt_simple_link_test_code" >conftest.$ac_ext
++eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
++_lt_linker_boilerplate=`cat conftest.err`
++$RM -r conftest*
++
++
++# Allow CC to be a program name with arguments.
++lt_save_CC="$CC"
++lt_save_GCC=$GCC
++GCC=
++CC=${RC-"windres"}
++compiler=$CC
++compiler_RC=$CC
++for cc_temp in $compiler""; do
++  case $cc_temp in
++    compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
++    distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
++    \-*) ;;
++    *) break;;
++  esac
++done
++cc_basename=`$ECHO "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
++
++lt_cv_prog_compiler_c_o_RC=yes
++
++if test -n "$compiler"; then
++  :
++
++
++
++fi
++
++GCC=$lt_save_GCC
++ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++
++CC="$lt_save_CC"
++
++
++# This is a bit wrong since it is possible to request that only some libs
++# are built as shared. Using that feature isn't so common though, and this
++# breaks only on Windows (at least for now) if the user enables only some
++# libs as shared.
++ if test "x$enable_shared" != xno; then
++  COND_SHARED_TRUE=
++  COND_SHARED_FALSE='#'
++else
++  COND_SHARED_TRUE='#'
++  COND_SHARED_FALSE=
++fi
++
++
++
++###############################################################################
++# Checks for libraries.
++###############################################################################
++
++echo
++echo "Initializing gettext:"
++
++
++  { $as_echo "$as_me:$LINENO: checking whether NLS is requested" >&5
++$as_echo_n "checking whether NLS is requested... " >&6; }
++    # Check whether --enable-nls was given.
++if test "${enable_nls+set}" = set; then
++  enableval=$enable_nls; USE_NLS=$enableval
++else
++  USE_NLS=yes
++fi
++
++  { $as_echo "$as_me:$LINENO: result: $USE_NLS" >&5
++$as_echo "$USE_NLS" >&6; }
++
++
++
++
++
++
++# Prepare PATH_SEPARATOR.
++# The user is always right.
++if test "${PATH_SEPARATOR+set}" != set; then
++  echo "#! /bin/sh" >conf$$.sh
++  echo  "exit 0"   >>conf$$.sh
++  chmod +x conf$$.sh
++  if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
++    PATH_SEPARATOR=';'
++  else
++    PATH_SEPARATOR=:
++  fi
++  rm -f conf$$.sh
++fi
++
++# Find out how to test for executable files. Don't use a zero-byte file,
++# as systems may use methods other than mode bits to determine executability.
++cat >conf$$.file <<_ASEOF
++#! /bin/sh
++exit 0
++_ASEOF
++chmod +x conf$$.file
++if test -x conf$$.file >/dev/null 2>&1; then
++  ac_executable_p="test -x"
++else
++  ac_executable_p="test -f"
++fi
++rm -f conf$$.file
++
++# Extract the first word of "msgfmt", so it can be a program name with args.
++set dummy msgfmt; ac_word=$2
++{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
++$as_echo_n "checking for $ac_word... " >&6; }
++if test "${ac_cv_path_MSGFMT+set}" = set; then
++  $as_echo_n "(cached) " >&6
++else
++  case "$MSGFMT" in
++  [\\/]* | ?:[\\/]*)
++    ac_cv_path_MSGFMT="$MSGFMT" # Let the user override the test with a path.
++    ;;
++  *)
++    ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR
++    for ac_dir in $PATH; do
++      IFS="$ac_save_IFS"
++      test -z "$ac_dir" && ac_dir=.
++      for ac_exec_ext in '' $ac_executable_extensions; do
++        if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then
++          echo "$as_me: trying $ac_dir/$ac_word..." >&5
++          if $ac_dir/$ac_word --statistics /dev/null >&5 2>&1 &&
++     (if $ac_dir/$ac_word --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then
++            ac_cv_path_MSGFMT="$ac_dir/$ac_word$ac_exec_ext"
++            break 2
++          fi
++        fi
++      done
++    done
++    IFS="$ac_save_IFS"
++  test -z "$ac_cv_path_MSGFMT" && ac_cv_path_MSGFMT=":"
++    ;;
++esac
++fi
++MSGFMT="$ac_cv_path_MSGFMT"
++if test "$MSGFMT" != ":"; then
++  { $as_echo "$as_me:$LINENO: result: $MSGFMT" >&5
++$as_echo "$MSGFMT" >&6; }
++else
++  { $as_echo "$as_me:$LINENO: result: no" >&5
++$as_echo "no" >&6; }
++fi
++
++  # Extract the first word of "gmsgfmt", so it can be a program name with args.
++set dummy gmsgfmt; ac_word=$2
++{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
++$as_echo_n "checking for $ac_word... " >&6; }
++if test "${ac_cv_path_GMSGFMT+set}" = set; then
++  $as_echo_n "(cached) " >&6
++else
++  case $GMSGFMT in
++  [\\/]* | ?:[\\/]*)
++  ac_cv_path_GMSGFMT="$GMSGFMT" # Let the user override the test with a path.
++  ;;
++  *)
++  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++  IFS=$as_save_IFS
++  test -z "$as_dir" && as_dir=.
++  for ac_exec_ext in '' $ac_executable_extensions; do
++  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++    ac_cv_path_GMSGFMT="$as_dir/$ac_word$ac_exec_ext"
++    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
++    break 2
++  fi
++done
++done
++IFS=$as_save_IFS
++
++  test -z "$ac_cv_path_GMSGFMT" && ac_cv_path_GMSGFMT="$MSGFMT"
++  ;;
++esac
++fi
++GMSGFMT=$ac_cv_path_GMSGFMT
++if test -n "$GMSGFMT"; then
++  { $as_echo "$as_me:$LINENO: result: $GMSGFMT" >&5
++$as_echo "$GMSGFMT" >&6; }
++else
++  { $as_echo "$as_me:$LINENO: result: no" >&5
++$as_echo "no" >&6; }
++fi
++
++
++
++    case `$MSGFMT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in
++    '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) MSGFMT_015=: ;;
++    *) MSGFMT_015=$MSGFMT ;;
++  esac
++
++  case `$GMSGFMT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in
++    '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) GMSGFMT_015=: ;;
++    *) GMSGFMT_015=$GMSGFMT ;;
++  esac
++
++
++
++# Prepare PATH_SEPARATOR.
++# The user is always right.
++if test "${PATH_SEPARATOR+set}" != set; then
++  echo "#! /bin/sh" >conf$$.sh
++  echo  "exit 0"   >>conf$$.sh
++  chmod +x conf$$.sh
++  if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
++    PATH_SEPARATOR=';'
++  else
++    PATH_SEPARATOR=:
++  fi
++  rm -f conf$$.sh
++fi
++
++# Find out how to test for executable files. Don't use a zero-byte file,
++# as systems may use methods other than mode bits to determine executability.
++cat >conf$$.file <<_ASEOF
++#! /bin/sh
++exit 0
++_ASEOF
++chmod +x conf$$.file
++if test -x conf$$.file >/dev/null 2>&1; then
++  ac_executable_p="test -x"
++else
++  ac_executable_p="test -f"
++fi
++rm -f conf$$.file
++
++# Extract the first word of "xgettext", so it can be a program name with args.
++set dummy xgettext; ac_word=$2
++{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
++$as_echo_n "checking for $ac_word... " >&6; }
++if test "${ac_cv_path_XGETTEXT+set}" = set; then
++  $as_echo_n "(cached) " >&6
++else
++  case "$XGETTEXT" in
++  [\\/]* | ?:[\\/]*)
++    ac_cv_path_XGETTEXT="$XGETTEXT" # Let the user override the test with a path.
++    ;;
++  *)
++    ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR
++    for ac_dir in $PATH; do
++      IFS="$ac_save_IFS"
++      test -z "$ac_dir" && ac_dir=.
++      for ac_exec_ext in '' $ac_executable_extensions; do
++        if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then
++          echo "$as_me: trying $ac_dir/$ac_word..." >&5
++          if $ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null >&5 2>&1 &&
++     (if $ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then
++            ac_cv_path_XGETTEXT="$ac_dir/$ac_word$ac_exec_ext"
++            break 2
++          fi
++        fi
++      done
++    done
++    IFS="$ac_save_IFS"
++  test -z "$ac_cv_path_XGETTEXT" && ac_cv_path_XGETTEXT=":"
++    ;;
++esac
++fi
++XGETTEXT="$ac_cv_path_XGETTEXT"
++if test "$XGETTEXT" != ":"; then
++  { $as_echo "$as_me:$LINENO: result: $XGETTEXT" >&5
++$as_echo "$XGETTEXT" >&6; }
++else
++  { $as_echo "$as_me:$LINENO: result: no" >&5
++$as_echo "no" >&6; }
++fi
++
++    rm -f messages.po
++
++    case `$XGETTEXT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in
++    '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) XGETTEXT_015=: ;;
++    *) XGETTEXT_015=$XGETTEXT ;;
++  esac
++
++
++
++# Prepare PATH_SEPARATOR.
++# The user is always right.
++if test "${PATH_SEPARATOR+set}" != set; then
++  echo "#! /bin/sh" >conf$$.sh
++  echo  "exit 0"   >>conf$$.sh
++  chmod +x conf$$.sh
++  if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
++    PATH_SEPARATOR=';'
++  else
++    PATH_SEPARATOR=:
++  fi
++  rm -f conf$$.sh
++fi
++
++# Find out how to test for executable files. Don't use a zero-byte file,
++# as systems may use methods other than mode bits to determine executability.
++cat >conf$$.file <<_ASEOF
++#! /bin/sh
++exit 0
++_ASEOF
++chmod +x conf$$.file
++if test -x conf$$.file >/dev/null 2>&1; then
++  ac_executable_p="test -x"
++else
++  ac_executable_p="test -f"
++fi
++rm -f conf$$.file
++
++# Extract the first word of "msgmerge", so it can be a program name with args.
++set dummy msgmerge; ac_word=$2
++{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
++$as_echo_n "checking for $ac_word... " >&6; }
++if test "${ac_cv_path_MSGMERGE+set}" = set; then
++  $as_echo_n "(cached) " >&6
++else
++  case "$MSGMERGE" in
++  [\\/]* | ?:[\\/]*)
++    ac_cv_path_MSGMERGE="$MSGMERGE" # Let the user override the test with a path.
++    ;;
++  *)
++    ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR
++    for ac_dir in $PATH; do
++      IFS="$ac_save_IFS"
++      test -z "$ac_dir" && ac_dir=.
++      for ac_exec_ext in '' $ac_executable_extensions; do
++        if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then
++          echo "$as_me: trying $ac_dir/$ac_word..." >&5
++          if $ac_dir/$ac_word --update -q /dev/null /dev/null >&5 2>&1; then
++            ac_cv_path_MSGMERGE="$ac_dir/$ac_word$ac_exec_ext"
++            break 2
++          fi
++        fi
++      done
++    done
++    IFS="$ac_save_IFS"
++  test -z "$ac_cv_path_MSGMERGE" && ac_cv_path_MSGMERGE=":"
++    ;;
++esac
++fi
++MSGMERGE="$ac_cv_path_MSGMERGE"
++if test "$MSGMERGE" != ":"; then
++  { $as_echo "$as_me:$LINENO: result: $MSGMERGE" >&5
++$as_echo "$MSGMERGE" >&6; }
++else
++  { $as_echo "$as_me:$LINENO: result: no" >&5
++$as_echo "no" >&6; }
++fi
++
++
++        test -n "$localedir" || localedir='${datadir}/locale'
++
++
++  ac_config_commands="$ac_config_commands po-directories"
++
++
++
++      if test "X$prefix" = "XNONE"; then
++    acl_final_prefix="$ac_default_prefix"
++  else
++    acl_final_prefix="$prefix"
++  fi
++  if test "X$exec_prefix" = "XNONE"; then
++    acl_final_exec_prefix='${prefix}'
++  else
++    acl_final_exec_prefix="$exec_prefix"
++  fi
++  acl_save_prefix="$prefix"
++  prefix="$acl_final_prefix"
++  eval acl_final_exec_prefix=\"$acl_final_exec_prefix\"
++  prefix="$acl_save_prefix"
++
++
++# Check whether --with-gnu-ld was given.
++if test "${with_gnu_ld+set}" = set; then
++  withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes
++else
++  with_gnu_ld=no
++fi
++
++# Prepare PATH_SEPARATOR.
++# The user is always right.
++if test "${PATH_SEPARATOR+set}" != set; then
++  echo "#! /bin/sh" >conf$$.sh
++  echo  "exit 0"   >>conf$$.sh
++  chmod +x conf$$.sh
++  if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
++    PATH_SEPARATOR=';'
++  else
++    PATH_SEPARATOR=:
++  fi
++  rm -f conf$$.sh
++fi
++ac_prog=ld
++if test "$GCC" = yes; then
++  # Check if gcc -print-prog-name=ld gives a path.
++  { $as_echo "$as_me:$LINENO: checking for ld used by GCC" >&5
++$as_echo_n "checking for ld used by GCC... " >&6; }
++  case $host in
++  *-*-mingw*)
++    # gcc leaves a trailing carriage return which upsets mingw
++    ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
++  *)
++    ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
++  esac
++  case $ac_prog in
++    # Accept absolute paths.
++    [\\/]* | [A-Za-z]:[\\/]*)
++      re_direlt='/[^/][^/]*/\.\./'
++      # Canonicalize the path of ld
++      ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'`
++      while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do
++	ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"`
++      done
++      test -z "$LD" && LD="$ac_prog"
++      ;;
++  "")
++    # If it fails, then pretend we aren't using GCC.
++    ac_prog=ld
++    ;;
++  *)
++    # If it is relative, then search for the first ld in PATH.
++    with_gnu_ld=unknown
++    ;;
++  esac
++elif test "$with_gnu_ld" = yes; then
++  { $as_echo "$as_me:$LINENO: checking for GNU ld" >&5
++$as_echo_n "checking for GNU ld... " >&6; }
++else
++  { $as_echo "$as_me:$LINENO: checking for non-GNU ld" >&5
++$as_echo_n "checking for non-GNU ld... " >&6; }
++fi
++if test "${acl_cv_path_LD+set}" = set; then
++  $as_echo_n "(cached) " >&6
++else
++  if test -z "$LD"; then
++  IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}"
++  for ac_dir in $PATH; do
++    test -z "$ac_dir" && ac_dir=.
++    if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
++      acl_cv_path_LD="$ac_dir/$ac_prog"
++      # Check to see if the program is GNU ld.  I'd rather use --version,
++      # but apparently some GNU ld's only accept -v.
++      # Break only if it was the GNU/non-GNU ld that we prefer.
++      case `"$acl_cv_path_LD" -v 2>&1 < /dev/null` in
++      *GNU* | *'with BFD'*)
++	test "$with_gnu_ld" != no && break ;;
++      *)
++	test "$with_gnu_ld" != yes && break ;;
++      esac
++    fi
++  done
++  IFS="$ac_save_ifs"
++else
++  acl_cv_path_LD="$LD" # Let the user override the test with a path.
++fi
++fi
++
++LD="$acl_cv_path_LD"
++if test -n "$LD"; then
++  { $as_echo "$as_me:$LINENO: result: $LD" >&5
++$as_echo "$LD" >&6; }
++else
++  { $as_echo "$as_me:$LINENO: result: no" >&5
++$as_echo "no" >&6; }
++fi
++test -z "$LD" && { { $as_echo "$as_me:$LINENO: error: no acceptable ld found in \$PATH" >&5
++$as_echo "$as_me: error: no acceptable ld found in \$PATH" >&2;}
++   { (exit 1); exit 1; }; }
++{ $as_echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5
++$as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; }
++if test "${acl_cv_prog_gnu_ld+set}" = set; then
++  $as_echo_n "(cached) " >&6
++else
++  # I'd rather use --version here, but apparently some GNU ld's only accept -v.
++case `$LD -v 2>&1 </dev/null` in
++*GNU* | *'with BFD'*)
++  acl_cv_prog_gnu_ld=yes ;;
++*)
++  acl_cv_prog_gnu_ld=no ;;
++esac
++fi
++{ $as_echo "$as_me:$LINENO: result: $acl_cv_prog_gnu_ld" >&5
++$as_echo "$acl_cv_prog_gnu_ld" >&6; }
++with_gnu_ld=$acl_cv_prog_gnu_ld
++
++
++
++
++                                                { $as_echo "$as_me:$LINENO: checking for shared library run path origin" >&5
++$as_echo_n "checking for shared library run path origin... " >&6; }
++if test "${acl_cv_rpath+set}" = set; then
++  $as_echo_n "(cached) " >&6
++else
++
++    CC="$CC" GCC="$GCC" LDFLAGS="$LDFLAGS" LD="$LD" with_gnu_ld="$with_gnu_ld" \
++    ${CONFIG_SHELL-/bin/sh} "$ac_aux_dir/config.rpath" "$host" > conftest.sh
++    . ./conftest.sh
++    rm -f ./conftest.sh
++    acl_cv_rpath=done
++
++fi
++{ $as_echo "$as_me:$LINENO: result: $acl_cv_rpath" >&5
++$as_echo "$acl_cv_rpath" >&6; }
++  wl="$acl_cv_wl"
++  libext="$acl_cv_libext"
++  shlibext="$acl_cv_shlibext"
++  hardcode_libdir_flag_spec="$acl_cv_hardcode_libdir_flag_spec"
++  hardcode_libdir_separator="$acl_cv_hardcode_libdir_separator"
++  hardcode_direct="$acl_cv_hardcode_direct"
++  hardcode_minus_L="$acl_cv_hardcode_minus_L"
++    # Check whether --enable-rpath was given.
++if test "${enable_rpath+set}" = set; then
++  enableval=$enable_rpath; :
++else
++  enable_rpath=yes
++fi
++
++
++
++                  acl_libdirstem=lib
++  searchpath=`(LC_ALL=C $CC -print-search-dirs) 2>/dev/null | sed -n -e 's,^libraries: ,,p' | sed -e 's,^=,,'`
++  if test -n "$searchpath"; then
++    acl_save_IFS="${IFS= 	}"; IFS=":"
++    for searchdir in $searchpath; do
++      if test -d "$searchdir"; then
++        case "$searchdir" in
++          */lib64/ | */lib64 ) acl_libdirstem=lib64 ;;
++          *) searchdir=`cd "$searchdir" && pwd`
++             case "$searchdir" in
++               */lib64 ) acl_libdirstem=lib64 ;;
++             esac ;;
++        esac
++      fi
++    done
++    IFS="$acl_save_IFS"
++  fi
++
++
++
++
++
++
++
++
++    use_additional=yes
++
++  acl_save_prefix="$prefix"
++  prefix="$acl_final_prefix"
++  acl_save_exec_prefix="$exec_prefix"
++  exec_prefix="$acl_final_exec_prefix"
++
++    eval additional_includedir=\"$includedir\"
++    eval additional_libdir=\"$libdir\"
++
++  exec_prefix="$acl_save_exec_prefix"
++  prefix="$acl_save_prefix"
++
++
++# Check whether --with-libiconv-prefix was given.
++if test "${with_libiconv_prefix+set}" = set; then
++  withval=$with_libiconv_prefix;
++    if test "X$withval" = "Xno"; then
++      use_additional=no
++    else
++      if test "X$withval" = "X"; then
++
++  acl_save_prefix="$prefix"
++  prefix="$acl_final_prefix"
++  acl_save_exec_prefix="$exec_prefix"
++  exec_prefix="$acl_final_exec_prefix"
++
++          eval additional_includedir=\"$includedir\"
++          eval additional_libdir=\"$libdir\"
++
++  exec_prefix="$acl_save_exec_prefix"
++  prefix="$acl_save_prefix"
++
++      else
++        additional_includedir="$withval/include"
++        additional_libdir="$withval/$acl_libdirstem"
++      fi
++    fi
++
++fi
++
++      LIBICONV=
++  LTLIBICONV=
++  INCICONV=
++  rpathdirs=
++  ltrpathdirs=
++  names_already_handled=
++  names_next_round='iconv '
++  while test -n "$names_next_round"; do
++    names_this_round="$names_next_round"
++    names_next_round=
++    for name in $names_this_round; do
++      already_handled=
++      for n in $names_already_handled; do
++        if test "$n" = "$name"; then
++          already_handled=yes
++          break
++        fi
++      done
++      if test -z "$already_handled"; then
++        names_already_handled="$names_already_handled $name"
++                        uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./-|ABCDEFGHIJKLMNOPQRSTUVWXYZ___|'`
++        eval value=\"\$HAVE_LIB$uppername\"
++        if test -n "$value"; then
++          if test "$value" = yes; then
++            eval value=\"\$LIB$uppername\"
++            test -z "$value" || LIBICONV="${LIBICONV}${LIBICONV:+ }$value"
++            eval value=\"\$LTLIB$uppername\"
++            test -z "$value" || LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }$value"
++          else
++                                    :
++          fi
++        else
++                              found_dir=
++          found_la=
++          found_so=
++          found_a=
++          if test $use_additional = yes; then
++            if test -n "$shlibext" \
++               && { test -f "$additional_libdir/lib$name.$shlibext" \
++                    || { test "$shlibext" = dll \
++                         && test -f "$additional_libdir/lib$name.dll.a"; }; }; then
++              found_dir="$additional_libdir"
++              if test -f "$additional_libdir/lib$name.$shlibext"; then
++                found_so="$additional_libdir/lib$name.$shlibext"
++              else
++                found_so="$additional_libdir/lib$name.dll.a"
++              fi
++              if test -f "$additional_libdir/lib$name.la"; then
++                found_la="$additional_libdir/lib$name.la"
++              fi
++            else
++              if test -f "$additional_libdir/lib$name.$libext"; then
++                found_dir="$additional_libdir"
++                found_a="$additional_libdir/lib$name.$libext"
++                if test -f "$additional_libdir/lib$name.la"; then
++                  found_la="$additional_libdir/lib$name.la"
++                fi
++              fi
++            fi
++          fi
++          if test "X$found_dir" = "X"; then
++            for x in $LDFLAGS $LTLIBICONV; do
++
++  acl_save_prefix="$prefix"
++  prefix="$acl_final_prefix"
++  acl_save_exec_prefix="$exec_prefix"
++  exec_prefix="$acl_final_exec_prefix"
++  eval x=\"$x\"
++  exec_prefix="$acl_save_exec_prefix"
++  prefix="$acl_save_prefix"
++
++              case "$x" in
++                -L*)
++                  dir=`echo "X$x" | sed -e 's/^X-L//'`
++                  if test -n "$shlibext" \
++                     && { test -f "$dir/lib$name.$shlibext" \
++                          || { test "$shlibext" = dll \
++                               && test -f "$dir/lib$name.dll.a"; }; }; then
++                    found_dir="$dir"
++                    if test -f "$dir/lib$name.$shlibext"; then
++                      found_so="$dir/lib$name.$shlibext"
++                    else
++                      found_so="$dir/lib$name.dll.a"
++                    fi
++                    if test -f "$dir/lib$name.la"; then
++                      found_la="$dir/lib$name.la"
++                    fi
++                  else
++                    if test -f "$dir/lib$name.$libext"; then
++                      found_dir="$dir"
++                      found_a="$dir/lib$name.$libext"
++                      if test -f "$dir/lib$name.la"; then
++                        found_la="$dir/lib$name.la"
++                      fi
++                    fi
++                  fi
++                  ;;
++              esac
++              if test "X$found_dir" != "X"; then
++                break
++              fi
++            done
++          fi
++          if test "X$found_dir" != "X"; then
++                        LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-L$found_dir -l$name"
++            if test "X$found_so" != "X"; then
++                                                        if test "$enable_rpath" = no || test "X$found_dir" = "X/usr/$acl_libdirstem"; then
++                                LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so"
++              else
++                                                                                haveit=
++                for x in $ltrpathdirs; do
++                  if test "X$x" = "X$found_dir"; then
++                    haveit=yes
++                    break
++                  fi
++                done
++                if test -z "$haveit"; then
++                  ltrpathdirs="$ltrpathdirs $found_dir"
++                fi
++                                if test "$hardcode_direct" = yes; then
++                                                      LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so"
++                else
++                  if test -n "$hardcode_libdir_flag_spec" && test "$hardcode_minus_L" = no; then
++                                                            LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so"
++                                                            haveit=
++                    for x in $rpathdirs; do
++                      if test "X$x" = "X$found_dir"; then
++                        haveit=yes
++                        break
++                      fi
++                    done
++                    if test -z "$haveit"; then
++                      rpathdirs="$rpathdirs $found_dir"
++                    fi
++                  else
++                                                                                haveit=
++                    for x in $LDFLAGS $LIBICONV; do
++
++  acl_save_prefix="$prefix"
++  prefix="$acl_final_prefix"
++  acl_save_exec_prefix="$exec_prefix"
++  exec_prefix="$acl_final_exec_prefix"
++  eval x=\"$x\"
++  exec_prefix="$acl_save_exec_prefix"
++  prefix="$acl_save_prefix"
++
++                      if test "X$x" = "X-L$found_dir"; then
++                        haveit=yes
++                        break
++                      fi
++                    done
++                    if test -z "$haveit"; then
++                      LIBICONV="${LIBICONV}${LIBICONV:+ }-L$found_dir"
++                    fi
++                    if test "$hardcode_minus_L" != no; then
++                                                                                        LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so"
++                    else
++                                                                                                                                                                                LIBICONV="${LIBICONV}${LIBICONV:+ }-l$name"
++                    fi
++                  fi
++                fi
++              fi
++            else
++              if test "X$found_a" != "X"; then
++                                LIBICONV="${LIBICONV}${LIBICONV:+ }$found_a"
++              else
++                                                LIBICONV="${LIBICONV}${LIBICONV:+ }-L$found_dir -l$name"
++              fi
++            fi
++                        additional_includedir=
++            case "$found_dir" in
++              */$acl_libdirstem | */$acl_libdirstem/)
++                basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem/"'*$,,'`
++                additional_includedir="$basedir/include"
++                ;;
++            esac
++            if test "X$additional_includedir" != "X"; then
++                                                                                                                if test "X$additional_includedir" != "X/usr/include"; then
++                haveit=
++                if test "X$additional_includedir" = "X/usr/local/include"; then
++                  if test -n "$GCC"; then
++                    case $host_os in
++                      linux* | gnu* | k*bsd*-gnu) haveit=yes;;
++                    esac
++                  fi
++                fi
++                if test -z "$haveit"; then
++                  for x in $CPPFLAGS $INCICONV; do
++
++  acl_save_prefix="$prefix"
++  prefix="$acl_final_prefix"
++  acl_save_exec_prefix="$exec_prefix"
++  exec_prefix="$acl_final_exec_prefix"
++  eval x=\"$x\"
++  exec_prefix="$acl_save_exec_prefix"
++  prefix="$acl_save_prefix"
++
++                    if test "X$x" = "X-I$additional_includedir"; then
++                      haveit=yes
++                      break
++                    fi
++                  done
++                  if test -z "$haveit"; then
++                    if test -d "$additional_includedir"; then
++                                            INCICONV="${INCICONV}${INCICONV:+ }-I$additional_includedir"
++                    fi
++                  fi
++                fi
++              fi
++            fi
++                        if test -n "$found_la"; then
++                                                        save_libdir="$libdir"
++              case "$found_la" in
++                */* | *\\*) . "$found_la" ;;
++                *) . "./$found_la" ;;
++              esac
++              libdir="$save_libdir"
++                            for dep in $dependency_libs; do
++                case "$dep" in
++                  -L*)
++                    additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'`
++                                                                                                                                                                if test "X$additional_libdir" != "X/usr/$acl_libdirstem"; then
++                      haveit=
++                      if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem"; then
++                        if test -n "$GCC"; then
++                          case $host_os in
++                            linux* | gnu* | k*bsd*-gnu) haveit=yes;;
++                          esac
++                        fi
++                      fi
++                      if test -z "$haveit"; then
++                        haveit=
++                        for x in $LDFLAGS $LIBICONV; do
++
++  acl_save_prefix="$prefix"
++  prefix="$acl_final_prefix"
++  acl_save_exec_prefix="$exec_prefix"
++  exec_prefix="$acl_final_exec_prefix"
++  eval x=\"$x\"
++  exec_prefix="$acl_save_exec_prefix"
++  prefix="$acl_save_prefix"
++
++                          if test "X$x" = "X-L$additional_libdir"; then
++                            haveit=yes
++                            break
++                          fi
++                        done
++                        if test -z "$haveit"; then
++                          if test -d "$additional_libdir"; then
++                                                        LIBICONV="${LIBICONV}${LIBICONV:+ }-L$additional_libdir"
++                          fi
++                        fi
++                        haveit=
++                        for x in $LDFLAGS $LTLIBICONV; do
++
++  acl_save_prefix="$prefix"
++  prefix="$acl_final_prefix"
++  acl_save_exec_prefix="$exec_prefix"
++  exec_prefix="$acl_final_exec_prefix"
++  eval x=\"$x\"
++  exec_prefix="$acl_save_exec_prefix"
++  prefix="$acl_save_prefix"
++
++                          if test "X$x" = "X-L$additional_libdir"; then
++                            haveit=yes
++                            break
++                          fi
++                        done
++                        if test -z "$haveit"; then
++                          if test -d "$additional_libdir"; then
++                                                        LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-L$additional_libdir"
++                          fi
++                        fi
++                      fi
++                    fi
++                    ;;
++                  -R*)
++                    dir=`echo "X$dep" | sed -e 's/^X-R//'`
++                    if test "$enable_rpath" != no; then
++                                                                  haveit=
++                      for x in $rpathdirs; do
++                        if test "X$x" = "X$dir"; then
++                          haveit=yes
++                          break
++                        fi
++                      done
++                      if test -z "$haveit"; then
++                        rpathdirs="$rpathdirs $dir"
++                      fi
++                                                                  haveit=
++                      for x in $ltrpathdirs; do
++                        if test "X$x" = "X$dir"; then
++                          haveit=yes
++                          break
++                        fi
++                      done
++                      if test -z "$haveit"; then
++                        ltrpathdirs="$ltrpathdirs $dir"
++                      fi
++                    fi
++                    ;;
++                  -l*)
++                                        names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'`
++                    ;;
++                  *.la)
++                                                                                names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'`
++                    ;;
++                  *)
++                                        LIBICONV="${LIBICONV}${LIBICONV:+ }$dep"
++                    LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }$dep"
++                    ;;
++                esac
++              done
++            fi
++          else
++                                                            LIBICONV="${LIBICONV}${LIBICONV:+ }-l$name"
++            LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-l$name"
++          fi
++        fi
++      fi
++    done
++  done
++  if test "X$rpathdirs" != "X"; then
++    if test -n "$hardcode_libdir_separator"; then
++                        alldirs=
++      for found_dir in $rpathdirs; do
++        alldirs="${alldirs}${alldirs:+$hardcode_libdir_separator}$found_dir"
++      done
++            acl_save_libdir="$libdir"
++      libdir="$alldirs"
++      eval flag=\"$hardcode_libdir_flag_spec\"
++      libdir="$acl_save_libdir"
++      LIBICONV="${LIBICONV}${LIBICONV:+ }$flag"
++    else
++            for found_dir in $rpathdirs; do
++        acl_save_libdir="$libdir"
++        libdir="$found_dir"
++        eval flag=\"$hardcode_libdir_flag_spec\"
++        libdir="$acl_save_libdir"
++        LIBICONV="${LIBICONV}${LIBICONV:+ }$flag"
++      done
++    fi
++  fi
++  if test "X$ltrpathdirs" != "X"; then
++            for found_dir in $ltrpathdirs; do
++      LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-R$found_dir"
++    done
++  fi
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++    { $as_echo "$as_me:$LINENO: checking for CFPreferencesCopyAppValue" >&5
++$as_echo_n "checking for CFPreferencesCopyAppValue... " >&6; }
++if test "${gt_cv_func_CFPreferencesCopyAppValue+set}" = set; then
++  $as_echo_n "(cached) " >&6
++else
++  gt_save_LIBS="$LIBS"
++     LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation"
++     cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++#include <CoreFoundation/CFPreferences.h>
++int
++main ()
++{
++CFPreferencesCopyAppValue(NULL, NULL)
++  ;
++  return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++  *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++  (eval "$ac_link") 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } && {
++	 test -z "$ac_c_werror_flag" ||
++	 test ! -s conftest.err
++       } && test -s conftest$ac_exeext && {
++	 test "$cross_compiling" = yes ||
++	 $as_test_x conftest$ac_exeext
++       }; then
++  gt_cv_func_CFPreferencesCopyAppValue=yes
++else
++  $as_echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++	gt_cv_func_CFPreferencesCopyAppValue=no
++fi
++
++rm -rf conftest.dSYM
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++      conftest$ac_exeext conftest.$ac_ext
++     LIBS="$gt_save_LIBS"
++fi
++{ $as_echo "$as_me:$LINENO: result: $gt_cv_func_CFPreferencesCopyAppValue" >&5
++$as_echo "$gt_cv_func_CFPreferencesCopyAppValue" >&6; }
++  if test $gt_cv_func_CFPreferencesCopyAppValue = yes; then
++
++cat >>confdefs.h <<\_ACEOF
++#define HAVE_CFPREFERENCESCOPYAPPVALUE 1
++_ACEOF
++
++  fi
++    { $as_echo "$as_me:$LINENO: checking for CFLocaleCopyCurrent" >&5
++$as_echo_n "checking for CFLocaleCopyCurrent... " >&6; }
++if test "${gt_cv_func_CFLocaleCopyCurrent+set}" = set; then
++  $as_echo_n "(cached) " >&6
++else
++  gt_save_LIBS="$LIBS"
++     LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation"
++     cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++#include <CoreFoundation/CFLocale.h>
++int
++main ()
++{
++CFLocaleCopyCurrent();
++  ;
++  return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++  *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++  (eval "$ac_link") 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } && {
++	 test -z "$ac_c_werror_flag" ||
++	 test ! -s conftest.err
++       } && test -s conftest$ac_exeext && {
++	 test "$cross_compiling" = yes ||
++	 $as_test_x conftest$ac_exeext
++       }; then
++  gt_cv_func_CFLocaleCopyCurrent=yes
++else
++  $as_echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++	gt_cv_func_CFLocaleCopyCurrent=no
++fi
++
++rm -rf conftest.dSYM
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++      conftest$ac_exeext conftest.$ac_ext
++     LIBS="$gt_save_LIBS"
++fi
++{ $as_echo "$as_me:$LINENO: result: $gt_cv_func_CFLocaleCopyCurrent" >&5
++$as_echo "$gt_cv_func_CFLocaleCopyCurrent" >&6; }
++  if test $gt_cv_func_CFLocaleCopyCurrent = yes; then
++
++cat >>confdefs.h <<\_ACEOF
++#define HAVE_CFLOCALECOPYCURRENT 1
++_ACEOF
++
++  fi
++  INTL_MACOSX_LIBS=
++  if test $gt_cv_func_CFPreferencesCopyAppValue = yes || test $gt_cv_func_CFLocaleCopyCurrent = yes; then
++    INTL_MACOSX_LIBS="-Wl,-framework -Wl,CoreFoundation"
++  fi
++
++
++
++
++
++
++  LIBINTL=
++  LTLIBINTL=
++  POSUB=
++
++    case " $gt_needs " in
++    *" need-formatstring-macros "*) gt_api_version=3 ;;
++    *" need-ngettext "*) gt_api_version=2 ;;
++    *) gt_api_version=1 ;;
++  esac
++  gt_func_gnugettext_libc="gt_cv_func_gnugettext${gt_api_version}_libc"
++  gt_func_gnugettext_libintl="gt_cv_func_gnugettext${gt_api_version}_libintl"
++
++    if test "$USE_NLS" = "yes"; then
++    gt_use_preinstalled_gnugettext=no
++
++
++        if test $gt_api_version -ge 3; then
++          gt_revision_test_code='
++#ifndef __GNU_GETTEXT_SUPPORTED_REVISION
++#define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 0 : -1)
++#endif
++typedef int array [2 * (__GNU_GETTEXT_SUPPORTED_REVISION(0) >= 1) - 1];
++'
++        else
++          gt_revision_test_code=
++        fi
++        if test $gt_api_version -ge 2; then
++          gt_expression_test_code=' + * ngettext ("", "", 0)'
++        else
++          gt_expression_test_code=
++        fi
++
++        { $as_echo "$as_me:$LINENO: checking for GNU gettext in libc" >&5
++$as_echo_n "checking for GNU gettext in libc... " >&6; }
++if { as_var=$gt_func_gnugettext_libc; eval "test \"\${$as_var+set}\" = set"; }; then
++  $as_echo_n "(cached) " >&6
++else
++  cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++#include <libintl.h>
++$gt_revision_test_code
++extern int _nl_msg_cat_cntr;
++extern int *_nl_domain_bindings;
++int
++main ()
++{
++bindtextdomain ("", "");
++return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_domain_bindings
++  ;
++  return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++  *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++  (eval "$ac_link") 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } && {
++	 test -z "$ac_c_werror_flag" ||
++	 test ! -s conftest.err
++       } && test -s conftest$ac_exeext && {
++	 test "$cross_compiling" = yes ||
++	 $as_test_x conftest$ac_exeext
++       }; then
++  eval "$gt_func_gnugettext_libc=yes"
++else
++  $as_echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++	eval "$gt_func_gnugettext_libc=no"
++fi
++
++rm -rf conftest.dSYM
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++      conftest$ac_exeext conftest.$ac_ext
++fi
++ac_res=`eval 'as_val=${'$gt_func_gnugettext_libc'}
++		 $as_echo "$as_val"'`
++	       { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
++$as_echo "$ac_res" >&6; }
++
++        if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" != "yes"; }; then
++
++
++
++
++
++          am_save_CPPFLAGS="$CPPFLAGS"
++
++  for element in $INCICONV; do
++    haveit=
++    for x in $CPPFLAGS; do
++
++  acl_save_prefix="$prefix"
++  prefix="$acl_final_prefix"
++  acl_save_exec_prefix="$exec_prefix"
++  exec_prefix="$acl_final_exec_prefix"
++  eval x=\"$x\"
++  exec_prefix="$acl_save_exec_prefix"
++  prefix="$acl_save_prefix"
++
++      if test "X$x" = "X$element"; then
++        haveit=yes
++        break
++      fi
++    done
++    if test -z "$haveit"; then
++      CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }$element"
++    fi
++  done
++
++
++  { $as_echo "$as_me:$LINENO: checking for iconv" >&5
++$as_echo_n "checking for iconv... " >&6; }
++if test "${am_cv_func_iconv+set}" = set; then
++  $as_echo_n "(cached) " >&6
++else
++
++    am_cv_func_iconv="no, consider installing GNU libiconv"
++    am_cv_lib_iconv=no
++    cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++#include <stdlib.h>
++#include <iconv.h>
++int
++main ()
++{
++iconv_t cd = iconv_open("","");
++       iconv(cd,NULL,NULL,NULL,NULL);
++       iconv_close(cd);
++  ;
++  return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++  *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++  (eval "$ac_link") 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } && {
++	 test -z "$ac_c_werror_flag" ||
++	 test ! -s conftest.err
++       } && test -s conftest$ac_exeext && {
++	 test "$cross_compiling" = yes ||
++	 $as_test_x conftest$ac_exeext
++       }; then
++  am_cv_func_iconv=yes
++else
++  $as_echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++
++fi
++
++rm -rf conftest.dSYM
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++      conftest$ac_exeext conftest.$ac_ext
++    if test "$am_cv_func_iconv" != yes; then
++      am_save_LIBS="$LIBS"
++      LIBS="$LIBS $LIBICONV"
++      cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++#include <stdlib.h>
++#include <iconv.h>
++int
++main ()
++{
++iconv_t cd = iconv_open("","");
++         iconv(cd,NULL,NULL,NULL,NULL);
++         iconv_close(cd);
++  ;
++  return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++  *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++  (eval "$ac_link") 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } && {
++	 test -z "$ac_c_werror_flag" ||
++	 test ! -s conftest.err
++       } && test -s conftest$ac_exeext && {
++	 test "$cross_compiling" = yes ||
++	 $as_test_x conftest$ac_exeext
++       }; then
++  am_cv_lib_iconv=yes
++        am_cv_func_iconv=yes
++else
++  $as_echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++
++fi
++
++rm -rf conftest.dSYM
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++      conftest$ac_exeext conftest.$ac_ext
++      LIBS="$am_save_LIBS"
++    fi
++
++fi
++{ $as_echo "$as_me:$LINENO: result: $am_cv_func_iconv" >&5
++$as_echo "$am_cv_func_iconv" >&6; }
++  if test "$am_cv_func_iconv" = yes; then
++
++cat >>confdefs.h <<\_ACEOF
++#define HAVE_ICONV 1
++_ACEOF
++
++  fi
++  if test "$am_cv_lib_iconv" = yes; then
++    { $as_echo "$as_me:$LINENO: checking how to link with libiconv" >&5
++$as_echo_n "checking how to link with libiconv... " >&6; }
++    { $as_echo "$as_me:$LINENO: result: $LIBICONV" >&5
++$as_echo "$LIBICONV" >&6; }
++  else
++            CPPFLAGS="$am_save_CPPFLAGS"
++    LIBICONV=
++    LTLIBICONV=
++  fi
++
++
++
++
++
++
++
++    use_additional=yes
++
++  acl_save_prefix="$prefix"
++  prefix="$acl_final_prefix"
++  acl_save_exec_prefix="$exec_prefix"
++  exec_prefix="$acl_final_exec_prefix"
++
++    eval additional_includedir=\"$includedir\"
++    eval additional_libdir=\"$libdir\"
++
++  exec_prefix="$acl_save_exec_prefix"
++  prefix="$acl_save_prefix"
++
++
++# Check whether --with-libintl-prefix was given.
++if test "${with_libintl_prefix+set}" = set; then
++  withval=$with_libintl_prefix;
++    if test "X$withval" = "Xno"; then
++      use_additional=no
++    else
++      if test "X$withval" = "X"; then
++
++  acl_save_prefix="$prefix"
++  prefix="$acl_final_prefix"
++  acl_save_exec_prefix="$exec_prefix"
++  exec_prefix="$acl_final_exec_prefix"
++
++          eval additional_includedir=\"$includedir\"
++          eval additional_libdir=\"$libdir\"
++
++  exec_prefix="$acl_save_exec_prefix"
++  prefix="$acl_save_prefix"
++
++      else
++        additional_includedir="$withval/include"
++        additional_libdir="$withval/$acl_libdirstem"
++      fi
++    fi
++
++fi
++
++      LIBINTL=
++  LTLIBINTL=
++  INCINTL=
++  rpathdirs=
++  ltrpathdirs=
++  names_already_handled=
++  names_next_round='intl '
++  while test -n "$names_next_round"; do
++    names_this_round="$names_next_round"
++    names_next_round=
++    for name in $names_this_round; do
++      already_handled=
++      for n in $names_already_handled; do
++        if test "$n" = "$name"; then
++          already_handled=yes
++          break
++        fi
++      done
++      if test -z "$already_handled"; then
++        names_already_handled="$names_already_handled $name"
++                        uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./-|ABCDEFGHIJKLMNOPQRSTUVWXYZ___|'`
++        eval value=\"\$HAVE_LIB$uppername\"
++        if test -n "$value"; then
++          if test "$value" = yes; then
++            eval value=\"\$LIB$uppername\"
++            test -z "$value" || LIBINTL="${LIBINTL}${LIBINTL:+ }$value"
++            eval value=\"\$LTLIB$uppername\"
++            test -z "$value" || LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }$value"
++          else
++                                    :
++          fi
++        else
++                              found_dir=
++          found_la=
++          found_so=
++          found_a=
++          if test $use_additional = yes; then
++            if test -n "$shlibext" \
++               && { test -f "$additional_libdir/lib$name.$shlibext" \
++                    || { test "$shlibext" = dll \
++                         && test -f "$additional_libdir/lib$name.dll.a"; }; }; then
++              found_dir="$additional_libdir"
++              if test -f "$additional_libdir/lib$name.$shlibext"; then
++                found_so="$additional_libdir/lib$name.$shlibext"
++              else
++                found_so="$additional_libdir/lib$name.dll.a"
++              fi
++              if test -f "$additional_libdir/lib$name.la"; then
++                found_la="$additional_libdir/lib$name.la"
++              fi
++            else
++              if test -f "$additional_libdir/lib$name.$libext"; then
++                found_dir="$additional_libdir"
++                found_a="$additional_libdir/lib$name.$libext"
++                if test -f "$additional_libdir/lib$name.la"; then
++                  found_la="$additional_libdir/lib$name.la"
++                fi
++              fi
++            fi
++          fi
++          if test "X$found_dir" = "X"; then
++            for x in $LDFLAGS $LTLIBINTL; do
++
++  acl_save_prefix="$prefix"
++  prefix="$acl_final_prefix"
++  acl_save_exec_prefix="$exec_prefix"
++  exec_prefix="$acl_final_exec_prefix"
++  eval x=\"$x\"
++  exec_prefix="$acl_save_exec_prefix"
++  prefix="$acl_save_prefix"
++
++              case "$x" in
++                -L*)
++                  dir=`echo "X$x" | sed -e 's/^X-L//'`
++                  if test -n "$shlibext" \
++                     && { test -f "$dir/lib$name.$shlibext" \
++                          || { test "$shlibext" = dll \
++                               && test -f "$dir/lib$name.dll.a"; }; }; then
++                    found_dir="$dir"
++                    if test -f "$dir/lib$name.$shlibext"; then
++                      found_so="$dir/lib$name.$shlibext"
++                    else
++                      found_so="$dir/lib$name.dll.a"
++                    fi
++                    if test -f "$dir/lib$name.la"; then
++                      found_la="$dir/lib$name.la"
++                    fi
++                  else
++                    if test -f "$dir/lib$name.$libext"; then
++                      found_dir="$dir"
++                      found_a="$dir/lib$name.$libext"
++                      if test -f "$dir/lib$name.la"; then
++                        found_la="$dir/lib$name.la"
++                      fi
++                    fi
++                  fi
++                  ;;
++              esac
++              if test "X$found_dir" != "X"; then
++                break
++              fi
++            done
++          fi
++          if test "X$found_dir" != "X"; then
++                        LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }-L$found_dir -l$name"
++            if test "X$found_so" != "X"; then
++                                                        if test "$enable_rpath" = no || test "X$found_dir" = "X/usr/$acl_libdirstem"; then
++                                LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so"
++              else
++                                                                                haveit=
++                for x in $ltrpathdirs; do
++                  if test "X$x" = "X$found_dir"; then
++                    haveit=yes
++                    break
++                  fi
++                done
++                if test -z "$haveit"; then
++                  ltrpathdirs="$ltrpathdirs $found_dir"
++                fi
++                                if test "$hardcode_direct" = yes; then
++                                                      LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so"
++                else
++                  if test -n "$hardcode_libdir_flag_spec" && test "$hardcode_minus_L" = no; then
++                                                            LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so"
++                                                            haveit=
++                    for x in $rpathdirs; do
++                      if test "X$x" = "X$found_dir"; then
++                        haveit=yes
++                        break
++                      fi
++                    done
++                    if test -z "$haveit"; then
++                      rpathdirs="$rpathdirs $found_dir"
++                    fi
++                  else
++                                                                                haveit=
++                    for x in $LDFLAGS $LIBINTL; do
++
++  acl_save_prefix="$prefix"
++  prefix="$acl_final_prefix"
++  acl_save_exec_prefix="$exec_prefix"
++  exec_prefix="$acl_final_exec_prefix"
++  eval x=\"$x\"
++  exec_prefix="$acl_save_exec_prefix"
++  prefix="$acl_save_prefix"
++
++                      if test "X$x" = "X-L$found_dir"; then
++                        haveit=yes
++                        break
++                      fi
++                    done
++                    if test -z "$haveit"; then
++                      LIBINTL="${LIBINTL}${LIBINTL:+ }-L$found_dir"
++                    fi
++                    if test "$hardcode_minus_L" != no; then
++                                                                                        LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so"
++                    else
++                                                                                                                                                                                LIBINTL="${LIBINTL}${LIBINTL:+ }-l$name"
++                    fi
++                  fi
++                fi
++              fi
++            else
++              if test "X$found_a" != "X"; then
++                                LIBINTL="${LIBINTL}${LIBINTL:+ }$found_a"
++              else
++                                                LIBINTL="${LIBINTL}${LIBINTL:+ }-L$found_dir -l$name"
++              fi
++            fi
++                        additional_includedir=
++            case "$found_dir" in
++              */$acl_libdirstem | */$acl_libdirstem/)
++                basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem/"'*$,,'`
++                additional_includedir="$basedir/include"
++                ;;
++            esac
++            if test "X$additional_includedir" != "X"; then
++                                                                                                                if test "X$additional_includedir" != "X/usr/include"; then
++                haveit=
++                if test "X$additional_includedir" = "X/usr/local/include"; then
++                  if test -n "$GCC"; then
++                    case $host_os in
++                      linux* | gnu* | k*bsd*-gnu) haveit=yes;;
++                    esac
++                  fi
++                fi
++                if test -z "$haveit"; then
++                  for x in $CPPFLAGS $INCINTL; do
++
++  acl_save_prefix="$prefix"
++  prefix="$acl_final_prefix"
++  acl_save_exec_prefix="$exec_prefix"
++  exec_prefix="$acl_final_exec_prefix"
++  eval x=\"$x\"
++  exec_prefix="$acl_save_exec_prefix"
++  prefix="$acl_save_prefix"
++
++                    if test "X$x" = "X-I$additional_includedir"; then
++                      haveit=yes
++                      break
++                    fi
++                  done
++                  if test -z "$haveit"; then
++                    if test -d "$additional_includedir"; then
++                                            INCINTL="${INCINTL}${INCINTL:+ }-I$additional_includedir"
++                    fi
++                  fi
++                fi
++              fi
++            fi
++                        if test -n "$found_la"; then
++                                                        save_libdir="$libdir"
++              case "$found_la" in
++                */* | *\\*) . "$found_la" ;;
++                *) . "./$found_la" ;;
++              esac
++              libdir="$save_libdir"
++                            for dep in $dependency_libs; do
++                case "$dep" in
++                  -L*)
++                    additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'`
++                                                                                                                                                                if test "X$additional_libdir" != "X/usr/$acl_libdirstem"; then
++                      haveit=
++                      if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem"; then
++                        if test -n "$GCC"; then
++                          case $host_os in
++                            linux* | gnu* | k*bsd*-gnu) haveit=yes;;
++                          esac
++                        fi
++                      fi
++                      if test -z "$haveit"; then
++                        haveit=
++                        for x in $LDFLAGS $LIBINTL; do
++
++  acl_save_prefix="$prefix"
++  prefix="$acl_final_prefix"
++  acl_save_exec_prefix="$exec_prefix"
++  exec_prefix="$acl_final_exec_prefix"
++  eval x=\"$x\"
++  exec_prefix="$acl_save_exec_prefix"
++  prefix="$acl_save_prefix"
++
++                          if test "X$x" = "X-L$additional_libdir"; then
++                            haveit=yes
++                            break
++                          fi
++                        done
++                        if test -z "$haveit"; then
++                          if test -d "$additional_libdir"; then
++                                                        LIBINTL="${LIBINTL}${LIBINTL:+ }-L$additional_libdir"
++                          fi
++                        fi
++                        haveit=
++                        for x in $LDFLAGS $LTLIBINTL; do
++
++  acl_save_prefix="$prefix"
++  prefix="$acl_final_prefix"
++  acl_save_exec_prefix="$exec_prefix"
++  exec_prefix="$acl_final_exec_prefix"
++  eval x=\"$x\"
++  exec_prefix="$acl_save_exec_prefix"
++  prefix="$acl_save_prefix"
++
++                          if test "X$x" = "X-L$additional_libdir"; then
++                            haveit=yes
++                            break
++                          fi
++                        done
++                        if test -z "$haveit"; then
++                          if test -d "$additional_libdir"; then
++                                                        LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }-L$additional_libdir"
++                          fi
++                        fi
++                      fi
++                    fi
++                    ;;
++                  -R*)
++                    dir=`echo "X$dep" | sed -e 's/^X-R//'`
++                    if test "$enable_rpath" != no; then
++                                                                  haveit=
++                      for x in $rpathdirs; do
++                        if test "X$x" = "X$dir"; then
++                          haveit=yes
++                          break
++                        fi
++                      done
++                      if test -z "$haveit"; then
++                        rpathdirs="$rpathdirs $dir"
++                      fi
++                                                                  haveit=
++                      for x in $ltrpathdirs; do
++                        if test "X$x" = "X$dir"; then
++                          haveit=yes
++                          break
++                        fi
++                      done
++                      if test -z "$haveit"; then
++                        ltrpathdirs="$ltrpathdirs $dir"
++                      fi
++                    fi
++                    ;;
++                  -l*)
++                                        names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'`
++                    ;;
++                  *.la)
++                                                                                names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'`
++                    ;;
++                  *)
++                                        LIBINTL="${LIBINTL}${LIBINTL:+ }$dep"
++                    LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }$dep"
++                    ;;
++                esac
++              done
++            fi
++          else
++                                                            LIBINTL="${LIBINTL}${LIBINTL:+ }-l$name"
++            LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }-l$name"
++          fi
++        fi
++      fi
++    done
++  done
++  if test "X$rpathdirs" != "X"; then
++    if test -n "$hardcode_libdir_separator"; then
++                        alldirs=
++      for found_dir in $rpathdirs; do
++        alldirs="${alldirs}${alldirs:+$hardcode_libdir_separator}$found_dir"
++      done
++            acl_save_libdir="$libdir"
++      libdir="$alldirs"
++      eval flag=\"$hardcode_libdir_flag_spec\"
++      libdir="$acl_save_libdir"
++      LIBINTL="${LIBINTL}${LIBINTL:+ }$flag"
++    else
++            for found_dir in $rpathdirs; do
++        acl_save_libdir="$libdir"
++        libdir="$found_dir"
++        eval flag=\"$hardcode_libdir_flag_spec\"
++        libdir="$acl_save_libdir"
++        LIBINTL="${LIBINTL}${LIBINTL:+ }$flag"
++      done
++    fi
++  fi
++  if test "X$ltrpathdirs" != "X"; then
++            for found_dir in $ltrpathdirs; do
++      LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }-R$found_dir"
++    done
++  fi
++
++          { $as_echo "$as_me:$LINENO: checking for GNU gettext in libintl" >&5
++$as_echo_n "checking for GNU gettext in libintl... " >&6; }
++if { as_var=$gt_func_gnugettext_libintl; eval "test \"\${$as_var+set}\" = set"; }; then
++  $as_echo_n "(cached) " >&6
++else
++  gt_save_CPPFLAGS="$CPPFLAGS"
++            CPPFLAGS="$CPPFLAGS $INCINTL"
++            gt_save_LIBS="$LIBS"
++            LIBS="$LIBS $LIBINTL"
++                        cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++#include <libintl.h>
++$gt_revision_test_code
++extern int _nl_msg_cat_cntr;
++extern
++#ifdef __cplusplus
++"C"
++#endif
++const char *_nl_expand_alias (const char *);
++int
++main ()
++{
++bindtextdomain ("", "");
++return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_expand_alias ("")
++  ;
++  return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++  *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++  (eval "$ac_link") 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } && {
++	 test -z "$ac_c_werror_flag" ||
++	 test ! -s conftest.err
++       } && test -s conftest$ac_exeext && {
++	 test "$cross_compiling" = yes ||
++	 $as_test_x conftest$ac_exeext
++       }; then
++  eval "$gt_func_gnugettext_libintl=yes"
++else
++  $as_echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++	eval "$gt_func_gnugettext_libintl=no"
++fi
++
++rm -rf conftest.dSYM
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++      conftest$ac_exeext conftest.$ac_ext
++                        if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" != yes; } && test -n "$LIBICONV"; then
++              LIBS="$LIBS $LIBICONV"
++              cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++#include <libintl.h>
++$gt_revision_test_code
++extern int _nl_msg_cat_cntr;
++extern
++#ifdef __cplusplus
++"C"
++#endif
++const char *_nl_expand_alias (const char *);
++int
++main ()
++{
++bindtextdomain ("", "");
++return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_expand_alias ("")
++  ;
++  return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++  *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++  (eval "$ac_link") 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } && {
++	 test -z "$ac_c_werror_flag" ||
++	 test ! -s conftest.err
++       } && test -s conftest$ac_exeext && {
++	 test "$cross_compiling" = yes ||
++	 $as_test_x conftest$ac_exeext
++       }; then
++  LIBINTL="$LIBINTL $LIBICONV"
++                LTLIBINTL="$LTLIBINTL $LTLIBICONV"
++                eval "$gt_func_gnugettext_libintl=yes"
++
++else
++  $as_echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++
++fi
++
++rm -rf conftest.dSYM
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++      conftest$ac_exeext conftest.$ac_ext
++            fi
++            CPPFLAGS="$gt_save_CPPFLAGS"
++            LIBS="$gt_save_LIBS"
++fi
++ac_res=`eval 'as_val=${'$gt_func_gnugettext_libintl'}
++		 $as_echo "$as_val"'`
++	       { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
++$as_echo "$ac_res" >&6; }
++        fi
++
++                                        if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" = "yes"; } \
++           || { { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; } \
++                && test "$PACKAGE" != gettext-runtime \
++                && test "$PACKAGE" != gettext-tools; }; then
++          gt_use_preinstalled_gnugettext=yes
++        else
++                    LIBINTL=
++          LTLIBINTL=
++          INCINTL=
++        fi
++
++
++
++    if test -n "$INTL_MACOSX_LIBS"; then
++      if test "$gt_use_preinstalled_gnugettext" = "yes" \
++         || test "$nls_cv_use_gnu_gettext" = "yes"; then
++                LIBINTL="$LIBINTL $INTL_MACOSX_LIBS"
++        LTLIBINTL="$LTLIBINTL $INTL_MACOSX_LIBS"
++      fi
++    fi
++
++    if test "$gt_use_preinstalled_gnugettext" = "yes" \
++       || test "$nls_cv_use_gnu_gettext" = "yes"; then
++
++cat >>confdefs.h <<\_ACEOF
++#define ENABLE_NLS 1
++_ACEOF
++
++    else
++      USE_NLS=no
++    fi
++  fi
++
++  { $as_echo "$as_me:$LINENO: checking whether to use NLS" >&5
++$as_echo_n "checking whether to use NLS... " >&6; }
++  { $as_echo "$as_me:$LINENO: result: $USE_NLS" >&5
++$as_echo "$USE_NLS" >&6; }
++  if test "$USE_NLS" = "yes"; then
++    { $as_echo "$as_me:$LINENO: checking where the gettext function comes from" >&5
++$as_echo_n "checking where the gettext function comes from... " >&6; }
++    if test "$gt_use_preinstalled_gnugettext" = "yes"; then
++      if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; }; then
++        gt_source="external libintl"
++      else
++        gt_source="libc"
++      fi
++    else
++      gt_source="included intl directory"
++    fi
++    { $as_echo "$as_me:$LINENO: result: $gt_source" >&5
++$as_echo "$gt_source" >&6; }
++  fi
++
++  if test "$USE_NLS" = "yes"; then
++
++    if test "$gt_use_preinstalled_gnugettext" = "yes"; then
++      if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; }; then
++        { $as_echo "$as_me:$LINENO: checking how to link with libintl" >&5
++$as_echo_n "checking how to link with libintl... " >&6; }
++        { $as_echo "$as_me:$LINENO: result: $LIBINTL" >&5
++$as_echo "$LIBINTL" >&6; }
++
++  for element in $INCINTL; do
++    haveit=
++    for x in $CPPFLAGS; do
++
++  acl_save_prefix="$prefix"
++  prefix="$acl_final_prefix"
++  acl_save_exec_prefix="$exec_prefix"
++  exec_prefix="$acl_final_exec_prefix"
++  eval x=\"$x\"
++  exec_prefix="$acl_save_exec_prefix"
++  prefix="$acl_save_prefix"
++
++      if test "X$x" = "X$element"; then
++        haveit=yes
++        break
++      fi
++    done
++    if test -z "$haveit"; then
++      CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }$element"
++    fi
++  done
++
++      fi
++
++
++cat >>confdefs.h <<\_ACEOF
++#define HAVE_GETTEXT 1
++_ACEOF
++
++
++cat >>confdefs.h <<\_ACEOF
++#define HAVE_DCGETTEXT 1
++_ACEOF
++
++    fi
++
++        POSUB=po
++  fi
++
++
++
++    INTLLIBS="$LIBINTL"
++
++
++
++
++
++
++
++###############################################################################
++# Checks for header files.
++###############################################################################
++
++echo
++echo "System headers and functions:"
++
++# There is currently no workarounds in this package if some of
++# these headers are missing.
++
++
++
++for ac_header in fcntl.h limits.h sys/time.h
++do
++as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
++if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
++  { $as_echo "$as_me:$LINENO: checking for $ac_header" >&5
++$as_echo_n "checking for $ac_header... " >&6; }
++if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
++  $as_echo_n "(cached) " >&6
++fi
++ac_res=`eval 'as_val=${'$as_ac_Header'}
++		 $as_echo "$as_val"'`
++	       { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
++$as_echo "$ac_res" >&6; }
++else
++  # Is the header compilable?
++{ $as_echo "$as_me:$LINENO: checking $ac_header usability" >&5
++$as_echo_n "checking $ac_header usability... " >&6; }
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++$ac_includes_default
++#include <$ac_header>
++_ACEOF
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++  *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++  (eval "$ac_compile") 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } && {
++	 test -z "$ac_c_werror_flag" ||
++	 test ! -s conftest.err
++       } && test -s conftest.$ac_objext; then
++  ac_header_compiler=yes
++else
++  $as_echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++	ac_header_compiler=no
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
++$as_echo "$ac_header_compiler" >&6; }
++
++# Is the header present?
++{ $as_echo "$as_me:$LINENO: checking $ac_header presence" >&5
++$as_echo_n "checking $ac_header presence... " >&6; }
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++#include <$ac_header>
++_ACEOF
++if { (ac_try="$ac_cpp conftest.$ac_ext"
++case "(($ac_try" in
++  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++  *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } >/dev/null && {
++	 test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
++	 test ! -s conftest.err
++       }; then
++  ac_header_preproc=yes
++else
++  $as_echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++  ac_header_preproc=no
++fi
++
++rm -f conftest.err conftest.$ac_ext
++{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
++$as_echo "$ac_header_preproc" >&6; }
++
++# So?  What about this header?
++case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
++  yes:no: )
++    { $as_echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
++$as_echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
++    { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
++$as_echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
++    ac_header_preproc=yes
++    ;;
++  no:yes:* )
++    { $as_echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
++$as_echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
++    { $as_echo "$as_me:$LINENO: WARNING: $ac_header:     check for missing prerequisite headers?" >&5
++$as_echo "$as_me: WARNING: $ac_header:     check for missing prerequisite headers?" >&2;}
++    { $as_echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
++$as_echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
++    { $as_echo "$as_me:$LINENO: WARNING: $ac_header:     section \"Present But Cannot Be Compiled\"" >&5
++$as_echo "$as_me: WARNING: $ac_header:     section \"Present But Cannot Be Compiled\"" >&2;}
++    { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
++$as_echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
++    { $as_echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
++$as_echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
++    ( cat <<\_ASBOX
++## --------------------------------------- ##
++## Report this to lasse.collin@tukaani.org ##
++## --------------------------------------- ##
++_ASBOX
++     ) | sed "s/^/$as_me: WARNING:     /" >&2
++    ;;
++esac
++{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5
++$as_echo_n "checking for $ac_header... " >&6; }
++if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
++  $as_echo_n "(cached) " >&6
++else
++  eval "$as_ac_Header=\$ac_header_preproc"
++fi
++ac_res=`eval 'as_val=${'$as_ac_Header'}
++		 $as_echo "$as_val"'`
++	       { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
++$as_echo "$ac_res" >&6; }
++
++fi
++as_val=`eval 'as_val=${'$as_ac_Header'}
++		 $as_echo "$as_val"'`
++   if test "x$as_val" = x""yes; then
++  cat >>confdefs.h <<_ACEOF
++#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
++_ACEOF
++
++else
++  { { $as_echo "$as_me:$LINENO: error: Required header file(s) are missing." >&5
++$as_echo "$as_me: error: Required header file(s) are missing." >&2;}
++   { (exit 1); exit 1; }; }
++fi
++
++done
++
++
++# If any of these headers are missing, things should still work correctly:
++
++
++
++for ac_header in sys/param.h sys/sysctl.h byteswap.h
++do
++as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
++{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5
++$as_echo_n "checking for $ac_header... " >&6; }
++if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
++  $as_echo_n "(cached) " >&6
++else
++  cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++
++#ifdef HAVE_SYS_PARAM_H
++#	include <sys/param.h>
++#endif
++
++
++#include <$ac_header>
++_ACEOF
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++  *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++  (eval "$ac_compile") 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } && {
++	 test -z "$ac_c_werror_flag" ||
++	 test ! -s conftest.err
++       } && test -s conftest.$ac_objext; then
++  eval "$as_ac_Header=yes"
++else
++  $as_echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++	eval "$as_ac_Header=no"
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++fi
++ac_res=`eval 'as_val=${'$as_ac_Header'}
++		 $as_echo "$as_val"'`
++	       { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
++$as_echo "$ac_res" >&6; }
++as_val=`eval 'as_val=${'$as_ac_Header'}
++		 $as_echo "$as_val"'`
++   if test "x$as_val" = x""yes; then
++  cat >>confdefs.h <<_ACEOF
++#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
++_ACEOF
++
++fi
++
++done
++
++
++# Even if we have byteswap.h, we may lack the specific macros/functions.
++if test x$ac_cv_header_byteswap_h = xyes ; then
++
++		{ $as_echo "$as_me:$LINENO: checking if bswap_16 is available" >&5
++$as_echo_n "checking if bswap_16 is available... " >&6; }
++		cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++
++#include <byteswap.h>
++int
++main(void)
++{
++	bswap_16(42);
++	return 0;
++}
++
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++  *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++  (eval "$ac_link") 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } && {
++	 test -z "$ac_c_werror_flag" ||
++	 test ! -s conftest.err
++       } && test -s conftest$ac_exeext && {
++	 test "$cross_compiling" = yes ||
++	 $as_test_x conftest$ac_exeext
++       }; then
++
++
++cat >>confdefs.h <<\_ACEOF
++#define HAVE_BSWAP_16 1
++_ACEOF
++
++			{ $as_echo "$as_me:$LINENO: result: yes" >&5
++$as_echo "yes" >&6; }
++
++else
++  $as_echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++	{ $as_echo "$as_me:$LINENO: result: no" >&5
++$as_echo "no" >&6; }
++fi
++
++rm -rf conftest.dSYM
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++      conftest$ac_exeext conftest.$ac_ext
++
++
++		{ $as_echo "$as_me:$LINENO: checking if bswap_32 is available" >&5
++$as_echo_n "checking if bswap_32 is available... " >&6; }
++		cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++
++#include <byteswap.h>
++int
++main(void)
++{
++	bswap_32(42);
++	return 0;
++}
++
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++  *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++  (eval "$ac_link") 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } && {
++	 test -z "$ac_c_werror_flag" ||
++	 test ! -s conftest.err
++       } && test -s conftest$ac_exeext && {
++	 test "$cross_compiling" = yes ||
++	 $as_test_x conftest$ac_exeext
++       }; then
++
++
++cat >>confdefs.h <<\_ACEOF
++#define HAVE_BSWAP_32 1
++_ACEOF
++
++			{ $as_echo "$as_me:$LINENO: result: yes" >&5
++$as_echo "yes" >&6; }
++
++else
++  $as_echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++	{ $as_echo "$as_me:$LINENO: result: no" >&5
++$as_echo "no" >&6; }
++fi
++
++rm -rf conftest.dSYM
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++      conftest$ac_exeext conftest.$ac_ext
++
++
++		{ $as_echo "$as_me:$LINENO: checking if bswap_64 is available" >&5
++$as_echo_n "checking if bswap_64 is available... " >&6; }
++		cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++
++#include <byteswap.h>
++int
++main(void)
++{
++	bswap_64(42);
++	return 0;
++}
++
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++  *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++  (eval "$ac_link") 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } && {
++	 test -z "$ac_c_werror_flag" ||
++	 test ! -s conftest.err
++       } && test -s conftest$ac_exeext && {
++	 test "$cross_compiling" = yes ||
++	 $as_test_x conftest$ac_exeext
++       }; then
++
++
++cat >>confdefs.h <<\_ACEOF
++#define HAVE_BSWAP_64 1
++_ACEOF
++
++			{ $as_echo "$as_me:$LINENO: result: yes" >&5
++$as_echo "yes" >&6; }
++
++else
++  $as_echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++	{ $as_echo "$as_me:$LINENO: result: no" >&5
++$as_echo "no" >&6; }
++fi
++
++rm -rf conftest.dSYM
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++      conftest$ac_exeext conftest.$ac_ext
++
++	fi
++
++
++###############################################################################
++# Checks for typedefs, structures, and compiler characteristics.
++###############################################################################
++
++
++{ $as_echo "$as_me:$LINENO: checking for stdbool.h that conforms to C99" >&5
++$as_echo_n "checking for stdbool.h that conforms to C99... " >&6; }
++if test "${ac_cv_header_stdbool_h+set}" = set; then
++  $as_echo_n "(cached) " >&6
++else
++  cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++
++#include <stdbool.h>
++#ifndef bool
++ "error: bool is not defined"
++#endif
++#ifndef false
++ "error: false is not defined"
++#endif
++#if false
++ "error: false is not 0"
++#endif
++#ifndef true
++ "error: true is not defined"
++#endif
++#if true != 1
++ "error: true is not 1"
++#endif
++#ifndef __bool_true_false_are_defined
++ "error: __bool_true_false_are_defined is not defined"
++#endif
++
++	struct s { _Bool s: 1; _Bool t; } s;
++
++	char a[true == 1 ? 1 : -1];
++	char b[false == 0 ? 1 : -1];
++	char c[__bool_true_false_are_defined == 1 ? 1 : -1];
++	char d[(bool) 0.5 == true ? 1 : -1];
++	bool e = &s;
++	char f[(_Bool) 0.0 == false ? 1 : -1];
++	char g[true];
++	char h[sizeof (_Bool)];
++	char i[sizeof s.t];
++	enum { j = false, k = true, l = false * true, m = true * 256 };
++	/* The following fails for
++	   HP aC++/ANSI C B3910B A.05.55 [Dec 04 2003]. */
++	_Bool n[m];
++	char o[sizeof n == m * sizeof n[0] ? 1 : -1];
++	char p[-1 - (_Bool) 0 < 0 && -1 - (bool) 0 < 0 ? 1 : -1];
++#	if defined __xlc__ || defined __GNUC__
++	 /* Catch a bug in IBM AIX xlc compiler version 6.0.0.0
++	    reported by James Lemley on 2005-10-05; see
++	    http://lists.gnu.org/archive/html/bug-coreutils/2005-10/msg00086.html
++	    This test is not quite right, since xlc is allowed to
++	    reject this program, as the initializer for xlcbug is
++	    not one of the forms that C requires support for.
++	    However, doing the test right would require a runtime
++	    test, and that would make cross-compilation harder.
++	    Let us hope that IBM fixes the xlc bug, and also adds
++	    support for this kind of constant expression.  In the
++	    meantime, this test will reject xlc, which is OK, since
++	    our stdbool.h substitute should suffice.  We also test
++	    this with GCC, where it should work, to detect more
++	    quickly whether someone messes up the test in the
++	    future.  */
++	 char digs[] = "0123456789";
++	 int xlcbug = 1 / (&(digs + 5)[-2 + (bool) 1] == &digs[4] ? 1 : -1);
++#	endif
++	/* Catch a bug in an HP-UX C compiler.  See
++	   http://gcc.gnu.org/ml/gcc-patches/2003-12/msg02303.html
++	   http://lists.gnu.org/archive/html/bug-coreutils/2005-11/msg00161.html
++	 */
++	_Bool q = true;
++	_Bool *pq = &q;
++
++int
++main ()
++{
++
++	*pq |= q;
++	*pq |= ! q;
++	/* Refer to every declared value, to avoid compiler optimizations.  */
++	return (!a + !b + !c + !d + !e + !f + !g + !h + !i + !!j + !k + !!l
++		+ !m + !n + !o + !p + !q + !pq);
++
++  ;
++  return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++  *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++  (eval "$ac_compile") 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } && {
++	 test -z "$ac_c_werror_flag" ||
++	 test ! -s conftest.err
++       } && test -s conftest.$ac_objext; then
++  ac_cv_header_stdbool_h=yes
++else
++  $as_echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++	ac_cv_header_stdbool_h=no
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++fi
++{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_stdbool_h" >&5
++$as_echo "$ac_cv_header_stdbool_h" >&6; }
++{ $as_echo "$as_me:$LINENO: checking for _Bool" >&5
++$as_echo_n "checking for _Bool... " >&6; }
++if test "${ac_cv_type__Bool+set}" = set; then
++  $as_echo_n "(cached) " >&6
++else
++  ac_cv_type__Bool=no
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++$ac_includes_default
++int
++main ()
++{
++if (sizeof (_Bool))
++       return 0;
++  ;
++  return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++  *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++  (eval "$ac_compile") 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } && {
++	 test -z "$ac_c_werror_flag" ||
++	 test ! -s conftest.err
++       } && test -s conftest.$ac_objext; then
++  cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++$ac_includes_default
++int
++main ()
++{
++if (sizeof ((_Bool)))
++	  return 0;
++  ;
++  return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++  *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++  (eval "$ac_compile") 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } && {
++	 test -z "$ac_c_werror_flag" ||
++	 test ! -s conftest.err
++       } && test -s conftest.$ac_objext; then
++  :
++else
++  $as_echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++	ac_cv_type__Bool=yes
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++else
++  $as_echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++fi
++{ $as_echo "$as_me:$LINENO: result: $ac_cv_type__Bool" >&5
++$as_echo "$ac_cv_type__Bool" >&6; }
++if test "x$ac_cv_type__Bool" = x""yes; then
++
++cat >>confdefs.h <<_ACEOF
++#define HAVE__BOOL 1
++_ACEOF
++
++
++fi
++
++if test $ac_cv_header_stdbool_h = yes; then
++
++cat >>confdefs.h <<\_ACEOF
++#define HAVE_STDBOOL_H 1
++_ACEOF
++
++fi
++
++
++
++  { $as_echo "$as_me:$LINENO: checking for uint8_t" >&5
++$as_echo_n "checking for uint8_t... " >&6; }
++if test "${ac_cv_c_uint8_t+set}" = set; then
++  $as_echo_n "(cached) " >&6
++else
++  ac_cv_c_uint8_t=no
++     for ac_type in 'uint8_t' 'unsigned int' 'unsigned long int' \
++	 'unsigned long long int' 'unsigned short int' 'unsigned char'; do
++       cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++$ac_includes_default
++int
++main ()
++{
++static int test_array [1 - 2 * !(($ac_type) -1 >> (8 - 1) == 1)];
++test_array [0] = 0
++
++  ;
++  return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++  *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++  (eval "$ac_compile") 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } && {
++	 test -z "$ac_c_werror_flag" ||
++	 test ! -s conftest.err
++       } && test -s conftest.$ac_objext; then
++  case $ac_type in
++  uint8_t) ac_cv_c_uint8_t=yes ;;
++  *) ac_cv_c_uint8_t=$ac_type ;;
++esac
++
++else
++  $as_echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++       test "$ac_cv_c_uint8_t" != no && break
++     done
++fi
++{ $as_echo "$as_me:$LINENO: result: $ac_cv_c_uint8_t" >&5
++$as_echo "$ac_cv_c_uint8_t" >&6; }
++  case $ac_cv_c_uint8_t in #(
++  no|yes) ;; #(
++  *)
++
++cat >>confdefs.h <<\_ACEOF
++#define _UINT8_T 1
++_ACEOF
++
++
++cat >>confdefs.h <<_ACEOF
++#define uint8_t $ac_cv_c_uint8_t
++_ACEOF
++;;
++  esac
++
++
++  { $as_echo "$as_me:$LINENO: checking for uint16_t" >&5
++$as_echo_n "checking for uint16_t... " >&6; }
++if test "${ac_cv_c_uint16_t+set}" = set; then
++  $as_echo_n "(cached) " >&6
++else
++  ac_cv_c_uint16_t=no
++     for ac_type in 'uint16_t' 'unsigned int' 'unsigned long int' \
++	 'unsigned long long int' 'unsigned short int' 'unsigned char'; do
++       cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++$ac_includes_default
++int
++main ()
++{
++static int test_array [1 - 2 * !(($ac_type) -1 >> (16 - 1) == 1)];
++test_array [0] = 0
++
++  ;
++  return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++  *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++  (eval "$ac_compile") 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } && {
++	 test -z "$ac_c_werror_flag" ||
++	 test ! -s conftest.err
++       } && test -s conftest.$ac_objext; then
++  case $ac_type in
++  uint16_t) ac_cv_c_uint16_t=yes ;;
++  *) ac_cv_c_uint16_t=$ac_type ;;
++esac
++
++else
++  $as_echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++       test "$ac_cv_c_uint16_t" != no && break
++     done
++fi
++{ $as_echo "$as_me:$LINENO: result: $ac_cv_c_uint16_t" >&5
++$as_echo "$ac_cv_c_uint16_t" >&6; }
++  case $ac_cv_c_uint16_t in #(
++  no|yes) ;; #(
++  *)
++
++
++cat >>confdefs.h <<_ACEOF
++#define uint16_t $ac_cv_c_uint16_t
++_ACEOF
++;;
++  esac
++
++
++  { $as_echo "$as_me:$LINENO: checking for int32_t" >&5
++$as_echo_n "checking for int32_t... " >&6; }
++if test "${ac_cv_c_int32_t+set}" = set; then
++  $as_echo_n "(cached) " >&6
++else
++  ac_cv_c_int32_t=no
++     for ac_type in 'int32_t' 'int' 'long int' \
++	 'long long int' 'short int' 'signed char'; do
++       cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++$ac_includes_default
++int
++main ()
++{
++static int test_array [1 - 2 * !(0 < ($ac_type) (((($ac_type) 1 << (32 - 2)) - 1) * 2 + 1))];
++test_array [0] = 0
++
++  ;
++  return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++  *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++  (eval "$ac_compile") 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } && {
++	 test -z "$ac_c_werror_flag" ||
++	 test ! -s conftest.err
++       } && test -s conftest.$ac_objext; then
++  cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++$ac_includes_default
++int
++main ()
++{
++static int test_array [1 - 2 * !(($ac_type) (((($ac_type) 1 << (32 - 2)) - 1) * 2 + 1)
++		 < ($ac_type) (((($ac_type) 1 << (32 - 2)) - 1) * 2 + 2))];
++test_array [0] = 0
++
++  ;
++  return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++  *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++  (eval "$ac_compile") 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } && {
++	 test -z "$ac_c_werror_flag" ||
++	 test ! -s conftest.err
++       } && test -s conftest.$ac_objext; then
++  :
++else
++  $as_echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++	case $ac_type in
++  int32_t) ac_cv_c_int32_t=yes ;;
++  *) ac_cv_c_int32_t=$ac_type ;;
++esac
++
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++else
++  $as_echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++       test "$ac_cv_c_int32_t" != no && break
++     done
++fi
++{ $as_echo "$as_me:$LINENO: result: $ac_cv_c_int32_t" >&5
++$as_echo "$ac_cv_c_int32_t" >&6; }
++  case $ac_cv_c_int32_t in #(
++  no|yes) ;; #(
++  *)
++
++cat >>confdefs.h <<_ACEOF
++#define int32_t $ac_cv_c_int32_t
++_ACEOF
++;;
++  esac
++
++
++  { $as_echo "$as_me:$LINENO: checking for uint32_t" >&5
++$as_echo_n "checking for uint32_t... " >&6; }
++if test "${ac_cv_c_uint32_t+set}" = set; then
++  $as_echo_n "(cached) " >&6
++else
++  ac_cv_c_uint32_t=no
++     for ac_type in 'uint32_t' 'unsigned int' 'unsigned long int' \
++	 'unsigned long long int' 'unsigned short int' 'unsigned char'; do
++       cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++$ac_includes_default
++int
++main ()
++{
++static int test_array [1 - 2 * !(($ac_type) -1 >> (32 - 1) == 1)];
++test_array [0] = 0
++
++  ;
++  return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++  *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++  (eval "$ac_compile") 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } && {
++	 test -z "$ac_c_werror_flag" ||
++	 test ! -s conftest.err
++       } && test -s conftest.$ac_objext; then
++  case $ac_type in
++  uint32_t) ac_cv_c_uint32_t=yes ;;
++  *) ac_cv_c_uint32_t=$ac_type ;;
++esac
++
++else
++  $as_echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++       test "$ac_cv_c_uint32_t" != no && break
++     done
++fi
++{ $as_echo "$as_me:$LINENO: result: $ac_cv_c_uint32_t" >&5
++$as_echo "$ac_cv_c_uint32_t" >&6; }
++  case $ac_cv_c_uint32_t in #(
++  no|yes) ;; #(
++  *)
++
++cat >>confdefs.h <<\_ACEOF
++#define _UINT32_T 1
++_ACEOF
++
++
++cat >>confdefs.h <<_ACEOF
++#define uint32_t $ac_cv_c_uint32_t
++_ACEOF
++;;
++  esac
++
++
++  { $as_echo "$as_me:$LINENO: checking for int64_t" >&5
++$as_echo_n "checking for int64_t... " >&6; }
++if test "${ac_cv_c_int64_t+set}" = set; then
++  $as_echo_n "(cached) " >&6
++else
++  ac_cv_c_int64_t=no
++     for ac_type in 'int64_t' 'int' 'long int' \
++	 'long long int' 'short int' 'signed char'; do
++       cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++$ac_includes_default
++int
++main ()
++{
++static int test_array [1 - 2 * !(0 < ($ac_type) (((($ac_type) 1 << (64 - 2)) - 1) * 2 + 1))];
++test_array [0] = 0
++
++  ;
++  return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++  *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++  (eval "$ac_compile") 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } && {
++	 test -z "$ac_c_werror_flag" ||
++	 test ! -s conftest.err
++       } && test -s conftest.$ac_objext; then
++  cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++$ac_includes_default
++int
++main ()
++{
++static int test_array [1 - 2 * !(($ac_type) (((($ac_type) 1 << (64 - 2)) - 1) * 2 + 1)
++		 < ($ac_type) (((($ac_type) 1 << (64 - 2)) - 1) * 2 + 2))];
++test_array [0] = 0
++
++  ;
++  return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++  *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++  (eval "$ac_compile") 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } && {
++	 test -z "$ac_c_werror_flag" ||
++	 test ! -s conftest.err
++       } && test -s conftest.$ac_objext; then
++  :
++else
++  $as_echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++	case $ac_type in
++  int64_t) ac_cv_c_int64_t=yes ;;
++  *) ac_cv_c_int64_t=$ac_type ;;
++esac
++
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++else
++  $as_echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++       test "$ac_cv_c_int64_t" != no && break
++     done
++fi
++{ $as_echo "$as_me:$LINENO: result: $ac_cv_c_int64_t" >&5
++$as_echo "$ac_cv_c_int64_t" >&6; }
++  case $ac_cv_c_int64_t in #(
++  no|yes) ;; #(
++  *)
++
++cat >>confdefs.h <<_ACEOF
++#define int64_t $ac_cv_c_int64_t
++_ACEOF
++;;
++  esac
++
++
++  { $as_echo "$as_me:$LINENO: checking for uint64_t" >&5
++$as_echo_n "checking for uint64_t... " >&6; }
++if test "${ac_cv_c_uint64_t+set}" = set; then
++  $as_echo_n "(cached) " >&6
++else
++  ac_cv_c_uint64_t=no
++     for ac_type in 'uint64_t' 'unsigned int' 'unsigned long int' \
++	 'unsigned long long int' 'unsigned short int' 'unsigned char'; do
++       cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++$ac_includes_default
++int
++main ()
++{
++static int test_array [1 - 2 * !(($ac_type) -1 >> (64 - 1) == 1)];
++test_array [0] = 0
++
++  ;
++  return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++  *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++  (eval "$ac_compile") 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } && {
++	 test -z "$ac_c_werror_flag" ||
++	 test ! -s conftest.err
++       } && test -s conftest.$ac_objext; then
++  case $ac_type in
++  uint64_t) ac_cv_c_uint64_t=yes ;;
++  *) ac_cv_c_uint64_t=$ac_type ;;
++esac
++
++else
++  $as_echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++       test "$ac_cv_c_uint64_t" != no && break
++     done
++fi
++{ $as_echo "$as_me:$LINENO: result: $ac_cv_c_uint64_t" >&5
++$as_echo "$ac_cv_c_uint64_t" >&6; }
++  case $ac_cv_c_uint64_t in #(
++  no|yes) ;; #(
++  *)
++
++cat >>confdefs.h <<\_ACEOF
++#define _UINT64_T 1
++_ACEOF
++
++
++cat >>confdefs.h <<_ACEOF
++#define uint64_t $ac_cv_c_uint64_t
++_ACEOF
++;;
++  esac
++
++
++  { $as_echo "$as_me:$LINENO: checking for uintptr_t" >&5
++$as_echo_n "checking for uintptr_t... " >&6; }
++if test "${ac_cv_type_uintptr_t+set}" = set; then
++  $as_echo_n "(cached) " >&6
++else
++  ac_cv_type_uintptr_t=no
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++$ac_includes_default
++int
++main ()
++{
++if (sizeof (uintptr_t))
++       return 0;
++  ;
++  return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++  *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++  (eval "$ac_compile") 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } && {
++	 test -z "$ac_c_werror_flag" ||
++	 test ! -s conftest.err
++       } && test -s conftest.$ac_objext; then
++  cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++$ac_includes_default
++int
++main ()
++{
++if (sizeof ((uintptr_t)))
++	  return 0;
++  ;
++  return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++  *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++  (eval "$ac_compile") 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } && {
++	 test -z "$ac_c_werror_flag" ||
++	 test ! -s conftest.err
++       } && test -s conftest.$ac_objext; then
++  :
++else
++  $as_echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++	ac_cv_type_uintptr_t=yes
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++else
++  $as_echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++fi
++{ $as_echo "$as_me:$LINENO: result: $ac_cv_type_uintptr_t" >&5
++$as_echo "$ac_cv_type_uintptr_t" >&6; }
++if test "x$ac_cv_type_uintptr_t" = x""yes; then
++
++cat >>confdefs.h <<\_ACEOF
++#define HAVE_UINTPTR_T 1
++_ACEOF
++
++else
++  for ac_type in 'unsigned int' 'unsigned long int' \
++	'unsigned long long int'; do
++       cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++$ac_includes_default
++int
++main ()
++{
++static int test_array [1 - 2 * !(sizeof (void *) <= sizeof ($ac_type))];
++test_array [0] = 0
++
++  ;
++  return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++  *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++  (eval "$ac_compile") 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } && {
++	 test -z "$ac_c_werror_flag" ||
++	 test ! -s conftest.err
++       } && test -s conftest.$ac_objext; then
++
++cat >>confdefs.h <<_ACEOF
++#define uintptr_t $ac_type
++_ACEOF
++
++	  ac_type=
++else
++  $as_echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++       test -z "$ac_type" && break
++     done
++fi
++
++
++
++# The cast to long int works around a bug in the HP C Compiler
++# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
++# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
++# This bug is HP SR number 8606223364.
++{ $as_echo "$as_me:$LINENO: checking size of size_t" >&5
++$as_echo_n "checking size of size_t... " >&6; }
++if test "${ac_cv_sizeof_size_t+set}" = set; then
++  $as_echo_n "(cached) " >&6
++else
++  if test "$cross_compiling" = yes; then
++  # Depending upon the size, compute the lo and hi bounds.
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++$ac_includes_default
++int
++main ()
++{
++static int test_array [1 - 2 * !(((long int) (sizeof (size_t))) >= 0)];
++test_array [0] = 0
++
++  ;
++  return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++  *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++  (eval "$ac_compile") 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } && {
++	 test -z "$ac_c_werror_flag" ||
++	 test ! -s conftest.err
++       } && test -s conftest.$ac_objext; then
++  ac_lo=0 ac_mid=0
++  while :; do
++    cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++$ac_includes_default
++int
++main ()
++{
++static int test_array [1 - 2 * !(((long int) (sizeof (size_t))) <= $ac_mid)];
++test_array [0] = 0
++
++  ;
++  return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++  *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++  (eval "$ac_compile") 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } && {
++	 test -z "$ac_c_werror_flag" ||
++	 test ! -s conftest.err
++       } && test -s conftest.$ac_objext; then
++  ac_hi=$ac_mid; break
++else
++  $as_echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++	ac_lo=`expr $ac_mid + 1`
++			if test $ac_lo -le $ac_mid; then
++			  ac_lo= ac_hi=
++			  break
++			fi
++			ac_mid=`expr 2 '*' $ac_mid + 1`
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++  done
++else
++  $as_echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++	cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++$ac_includes_default
++int
++main ()
++{
++static int test_array [1 - 2 * !(((long int) (sizeof (size_t))) < 0)];
++test_array [0] = 0
++
++  ;
++  return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++  *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++  (eval "$ac_compile") 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } && {
++	 test -z "$ac_c_werror_flag" ||
++	 test ! -s conftest.err
++       } && test -s conftest.$ac_objext; then
++  ac_hi=-1 ac_mid=-1
++  while :; do
++    cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++$ac_includes_default
++int
++main ()
++{
++static int test_array [1 - 2 * !(((long int) (sizeof (size_t))) >= $ac_mid)];
++test_array [0] = 0
++
++  ;
++  return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++  *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++  (eval "$ac_compile") 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } && {
++	 test -z "$ac_c_werror_flag" ||
++	 test ! -s conftest.err
++       } && test -s conftest.$ac_objext; then
++  ac_lo=$ac_mid; break
++else
++  $as_echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++	ac_hi=`expr '(' $ac_mid ')' - 1`
++			if test $ac_mid -le $ac_hi; then
++			  ac_lo= ac_hi=
++			  break
++			fi
++			ac_mid=`expr 2 '*' $ac_mid`
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++  done
++else
++  $as_echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++	ac_lo= ac_hi=
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++# Binary search between lo and hi bounds.
++while test "x$ac_lo" != "x$ac_hi"; do
++  ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo`
++  cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++$ac_includes_default
++int
++main ()
++{
++static int test_array [1 - 2 * !(((long int) (sizeof (size_t))) <= $ac_mid)];
++test_array [0] = 0
++
++  ;
++  return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++  *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++  (eval "$ac_compile") 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } && {
++	 test -z "$ac_c_werror_flag" ||
++	 test ! -s conftest.err
++       } && test -s conftest.$ac_objext; then
++  ac_hi=$ac_mid
++else
++  $as_echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++	ac_lo=`expr '(' $ac_mid ')' + 1`
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++done
++case $ac_lo in
++?*) ac_cv_sizeof_size_t=$ac_lo;;
++'') if test "$ac_cv_type_size_t" = yes; then
++     { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
++$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
++{ { $as_echo "$as_me:$LINENO: error: cannot compute sizeof (size_t)
++See \`config.log' for more details." >&5
++$as_echo "$as_me: error: cannot compute sizeof (size_t)
++See \`config.log' for more details." >&2;}
++   { (exit 77); exit 77; }; }; }
++   else
++     ac_cv_sizeof_size_t=0
++   fi ;;
++esac
++else
++  cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++$ac_includes_default
++static long int longval () { return (long int) (sizeof (size_t)); }
++static unsigned long int ulongval () { return (long int) (sizeof (size_t)); }
++#include <stdio.h>
++#include <stdlib.h>
++int
++main ()
++{
++
++  FILE *f = fopen ("conftest.val", "w");
++  if (! f)
++    return 1;
++  if (((long int) (sizeof (size_t))) < 0)
++    {
++      long int i = longval ();
++      if (i != ((long int) (sizeof (size_t))))
++	return 1;
++      fprintf (f, "%ld", i);
++    }
++  else
++    {
++      unsigned long int i = ulongval ();
++      if (i != ((long int) (sizeof (size_t))))
++	return 1;
++      fprintf (f, "%lu", i);
++    }
++  /* Do not output a trailing newline, as this causes \r\n confusion
++     on some platforms.  */
++  return ferror (f) || fclose (f) != 0;
++
++  ;
++  return 0;
++}
++_ACEOF
++rm -f conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++  *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++  (eval "$ac_link") 2>&5
++  ac_status=$?
++  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
++  { (case "(($ac_try" in
++  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++  *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++  (eval "$ac_try") 2>&5
++  ac_status=$?
++  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; }; then
++  ac_cv_sizeof_size_t=`cat conftest.val`
++else
++  $as_echo "$as_me: program exited with status $ac_status" >&5
++$as_echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++( exit $ac_status )
++if test "$ac_cv_type_size_t" = yes; then
++     { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
++$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
++{ { $as_echo "$as_me:$LINENO: error: cannot compute sizeof (size_t)
++See \`config.log' for more details." >&5
++$as_echo "$as_me: error: cannot compute sizeof (size_t)
++See \`config.log' for more details." >&2;}
++   { (exit 77); exit 77; }; }; }
++   else
++     ac_cv_sizeof_size_t=0
++   fi
++fi
++rm -rf conftest.dSYM
++rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
++fi
++rm -f conftest.val
++fi
++{ $as_echo "$as_me:$LINENO: result: $ac_cv_sizeof_size_t" >&5
++$as_echo "$ac_cv_sizeof_size_t" >&6; }
++
++
++
++cat >>confdefs.h <<_ACEOF
++#define SIZEOF_SIZE_T $ac_cv_sizeof_size_t
++_ACEOF
++
++
++
++# The command line tool can copy high resolution timestamps if such
++# information is availabe in struct stat. Otherwise one second accuracy
++# is used.
++{ $as_echo "$as_me:$LINENO: checking for struct stat.st_atim.tv_nsec" >&5
++$as_echo_n "checking for struct stat.st_atim.tv_nsec... " >&6; }
++if test "${ac_cv_member_struct_stat_st_atim_tv_nsec+set}" = set; then
++  $as_echo_n "(cached) " >&6
++else
++  cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++$ac_includes_default
++int
++main ()
++{
++static struct stat ac_aggr;
++if (ac_aggr.st_atim.tv_nsec)
++return 0;
++  ;
++  return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++  *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++  (eval "$ac_compile") 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } && {
++	 test -z "$ac_c_werror_flag" ||
++	 test ! -s conftest.err
++       } && test -s conftest.$ac_objext; then
++  ac_cv_member_struct_stat_st_atim_tv_nsec=yes
++else
++  $as_echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++	cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++$ac_includes_default
++int
++main ()
++{
++static struct stat ac_aggr;
++if (sizeof ac_aggr.st_atim.tv_nsec)
++return 0;
++  ;
++  return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++  *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++  (eval "$ac_compile") 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } && {
++	 test -z "$ac_c_werror_flag" ||
++	 test ! -s conftest.err
++       } && test -s conftest.$ac_objext; then
++  ac_cv_member_struct_stat_st_atim_tv_nsec=yes
++else
++  $as_echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++	ac_cv_member_struct_stat_st_atim_tv_nsec=no
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++fi
++{ $as_echo "$as_me:$LINENO: result: $ac_cv_member_struct_stat_st_atim_tv_nsec" >&5
++$as_echo "$ac_cv_member_struct_stat_st_atim_tv_nsec" >&6; }
++if test "x$ac_cv_member_struct_stat_st_atim_tv_nsec" = x""yes; then
++
++cat >>confdefs.h <<_ACEOF
++#define HAVE_STRUCT_STAT_ST_ATIM_TV_NSEC 1
++_ACEOF
++
++
++fi
++{ $as_echo "$as_me:$LINENO: checking for struct stat.st_atimespec.tv_nsec" >&5
++$as_echo_n "checking for struct stat.st_atimespec.tv_nsec... " >&6; }
++if test "${ac_cv_member_struct_stat_st_atimespec_tv_nsec+set}" = set; then
++  $as_echo_n "(cached) " >&6
++else
++  cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++$ac_includes_default
++int
++main ()
++{
++static struct stat ac_aggr;
++if (ac_aggr.st_atimespec.tv_nsec)
++return 0;
++  ;
++  return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++  *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++  (eval "$ac_compile") 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } && {
++	 test -z "$ac_c_werror_flag" ||
++	 test ! -s conftest.err
++       } && test -s conftest.$ac_objext; then
++  ac_cv_member_struct_stat_st_atimespec_tv_nsec=yes
++else
++  $as_echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++	cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++$ac_includes_default
++int
++main ()
++{
++static struct stat ac_aggr;
++if (sizeof ac_aggr.st_atimespec.tv_nsec)
++return 0;
++  ;
++  return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++  *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++  (eval "$ac_compile") 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } && {
++	 test -z "$ac_c_werror_flag" ||
++	 test ! -s conftest.err
++       } && test -s conftest.$ac_objext; then
++  ac_cv_member_struct_stat_st_atimespec_tv_nsec=yes
++else
++  $as_echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++	ac_cv_member_struct_stat_st_atimespec_tv_nsec=no
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++fi
++{ $as_echo "$as_me:$LINENO: result: $ac_cv_member_struct_stat_st_atimespec_tv_nsec" >&5
++$as_echo "$ac_cv_member_struct_stat_st_atimespec_tv_nsec" >&6; }
++if test "x$ac_cv_member_struct_stat_st_atimespec_tv_nsec" = x""yes; then
++
++cat >>confdefs.h <<_ACEOF
++#define HAVE_STRUCT_STAT_ST_ATIMESPEC_TV_NSEC 1
++_ACEOF
++
++
++fi
++{ $as_echo "$as_me:$LINENO: checking for struct stat.st_atimensec" >&5
++$as_echo_n "checking for struct stat.st_atimensec... " >&6; }
++if test "${ac_cv_member_struct_stat_st_atimensec+set}" = set; then
++  $as_echo_n "(cached) " >&6
++else
++  cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++$ac_includes_default
++int
++main ()
++{
++static struct stat ac_aggr;
++if (ac_aggr.st_atimensec)
++return 0;
++  ;
++  return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++  *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++  (eval "$ac_compile") 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } && {
++	 test -z "$ac_c_werror_flag" ||
++	 test ! -s conftest.err
++       } && test -s conftest.$ac_objext; then
++  ac_cv_member_struct_stat_st_atimensec=yes
++else
++  $as_echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++	cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++$ac_includes_default
++int
++main ()
++{
++static struct stat ac_aggr;
++if (sizeof ac_aggr.st_atimensec)
++return 0;
++  ;
++  return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++  *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++  (eval "$ac_compile") 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } && {
++	 test -z "$ac_c_werror_flag" ||
++	 test ! -s conftest.err
++       } && test -s conftest.$ac_objext; then
++  ac_cv_member_struct_stat_st_atimensec=yes
++else
++  $as_echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++	ac_cv_member_struct_stat_st_atimensec=no
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++fi
++{ $as_echo "$as_me:$LINENO: result: $ac_cv_member_struct_stat_st_atimensec" >&5
++$as_echo "$ac_cv_member_struct_stat_st_atimensec" >&6; }
++if test "x$ac_cv_member_struct_stat_st_atimensec" = x""yes; then
++
++cat >>confdefs.h <<_ACEOF
++#define HAVE_STRUCT_STAT_ST_ATIMENSEC 1
++_ACEOF
++
++
++fi
++{ $as_echo "$as_me:$LINENO: checking for struct stat.st_uatime" >&5
++$as_echo_n "checking for struct stat.st_uatime... " >&6; }
++if test "${ac_cv_member_struct_stat_st_uatime+set}" = set; then
++  $as_echo_n "(cached) " >&6
++else
++  cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++$ac_includes_default
++int
++main ()
++{
++static struct stat ac_aggr;
++if (ac_aggr.st_uatime)
++return 0;
++  ;
++  return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++  *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++  (eval "$ac_compile") 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } && {
++	 test -z "$ac_c_werror_flag" ||
++	 test ! -s conftest.err
++       } && test -s conftest.$ac_objext; then
++  ac_cv_member_struct_stat_st_uatime=yes
++else
++  $as_echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++	cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++$ac_includes_default
++int
++main ()
++{
++static struct stat ac_aggr;
++if (sizeof ac_aggr.st_uatime)
++return 0;
++  ;
++  return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++  *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++  (eval "$ac_compile") 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } && {
++	 test -z "$ac_c_werror_flag" ||
++	 test ! -s conftest.err
++       } && test -s conftest.$ac_objext; then
++  ac_cv_member_struct_stat_st_uatime=yes
++else
++  $as_echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++	ac_cv_member_struct_stat_st_uatime=no
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++fi
++{ $as_echo "$as_me:$LINENO: result: $ac_cv_member_struct_stat_st_uatime" >&5
++$as_echo "$ac_cv_member_struct_stat_st_uatime" >&6; }
++if test "x$ac_cv_member_struct_stat_st_uatime" = x""yes; then
++
++cat >>confdefs.h <<_ACEOF
++#define HAVE_STRUCT_STAT_ST_UATIME 1
++_ACEOF
++
++
++fi
++{ $as_echo "$as_me:$LINENO: checking for struct stat.st_atim.st__tim.tv_nsec" >&5
++$as_echo_n "checking for struct stat.st_atim.st__tim.tv_nsec... " >&6; }
++if test "${ac_cv_member_struct_stat_st_atim_st__tim_tv_nsec+set}" = set; then
++  $as_echo_n "(cached) " >&6
++else
++  cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++$ac_includes_default
++int
++main ()
++{
++static struct stat ac_aggr;
++if (ac_aggr.st_atim.st__tim.tv_nsec)
++return 0;
++  ;
++  return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++  *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++  (eval "$ac_compile") 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } && {
++	 test -z "$ac_c_werror_flag" ||
++	 test ! -s conftest.err
++       } && test -s conftest.$ac_objext; then
++  ac_cv_member_struct_stat_st_atim_st__tim_tv_nsec=yes
++else
++  $as_echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++	cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++$ac_includes_default
++int
++main ()
++{
++static struct stat ac_aggr;
++if (sizeof ac_aggr.st_atim.st__tim.tv_nsec)
++return 0;
++  ;
++  return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++  *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++  (eval "$ac_compile") 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } && {
++	 test -z "$ac_c_werror_flag" ||
++	 test ! -s conftest.err
++       } && test -s conftest.$ac_objext; then
++  ac_cv_member_struct_stat_st_atim_st__tim_tv_nsec=yes
++else
++  $as_echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++	ac_cv_member_struct_stat_st_atim_st__tim_tv_nsec=no
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++fi
++{ $as_echo "$as_me:$LINENO: result: $ac_cv_member_struct_stat_st_atim_st__tim_tv_nsec" >&5
++$as_echo "$ac_cv_member_struct_stat_st_atim_st__tim_tv_nsec" >&6; }
++if test "x$ac_cv_member_struct_stat_st_atim_st__tim_tv_nsec" = x""yes; then
++
++cat >>confdefs.h <<_ACEOF
++#define HAVE_STRUCT_STAT_ST_ATIM_ST__TIM_TV_NSEC 1
++_ACEOF
++
++
++fi
++
++
++# Check whether --enable-largefile was given.
++if test "${enable_largefile+set}" = set; then
++  enableval=$enable_largefile;
++fi
++
++if test "$enable_largefile" != no; then
++
++  { $as_echo "$as_me:$LINENO: checking for special C compiler options needed for large files" >&5
++$as_echo_n "checking for special C compiler options needed for large files... " >&6; }
++if test "${ac_cv_sys_largefile_CC+set}" = set; then
++  $as_echo_n "(cached) " >&6
++else
++  ac_cv_sys_largefile_CC=no
++     if test "$GCC" != yes; then
++       ac_save_CC=$CC
++       while :; do
++	 # IRIX 6.2 and later do not support large files by default,
++	 # so use the C compiler's -n32 option if that helps.
++	 cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++#include <sys/types.h>
++ /* Check that off_t can represent 2**63 - 1 correctly.
++    We can't simply define LARGE_OFF_T to be 9223372036854775807,
++    since some C++ compilers masquerading as C compilers
++    incorrectly reject 9223372036854775807.  */
++#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
++  int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
++		       && LARGE_OFF_T % 2147483647 == 1)
++		      ? 1 : -1];
++int
++main ()
++{
++
++  ;
++  return 0;
++}
++_ACEOF
++	 rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++  *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++  (eval "$ac_compile") 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } && {
++	 test -z "$ac_c_werror_flag" ||
++	 test ! -s conftest.err
++       } && test -s conftest.$ac_objext; then
++  break
++else
++  $as_echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++
++fi
++
++rm -f core conftest.err conftest.$ac_objext
++	 CC="$CC -n32"
++	 rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++  *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++  (eval "$ac_compile") 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } && {
++	 test -z "$ac_c_werror_flag" ||
++	 test ! -s conftest.err
++       } && test -s conftest.$ac_objext; then
++  ac_cv_sys_largefile_CC=' -n32'; break
++else
++  $as_echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++
++fi
++
++rm -f core conftest.err conftest.$ac_objext
++	 break
++       done
++       CC=$ac_save_CC
++       rm -f conftest.$ac_ext
++    fi
++fi
++{ $as_echo "$as_me:$LINENO: result: $ac_cv_sys_largefile_CC" >&5
++$as_echo "$ac_cv_sys_largefile_CC" >&6; }
++  if test "$ac_cv_sys_largefile_CC" != no; then
++    CC=$CC$ac_cv_sys_largefile_CC
++  fi
++
++  { $as_echo "$as_me:$LINENO: checking for _FILE_OFFSET_BITS value needed for large files" >&5
++$as_echo_n "checking for _FILE_OFFSET_BITS value needed for large files... " >&6; }
++if test "${ac_cv_sys_file_offset_bits+set}" = set; then
++  $as_echo_n "(cached) " >&6
++else
++  while :; do
++  cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++#include <sys/types.h>
++ /* Check that off_t can represent 2**63 - 1 correctly.
++    We can't simply define LARGE_OFF_T to be 9223372036854775807,
++    since some C++ compilers masquerading as C compilers
++    incorrectly reject 9223372036854775807.  */
++#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
++  int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
++		       && LARGE_OFF_T % 2147483647 == 1)
++		      ? 1 : -1];
++int
++main ()
++{
++
++  ;
++  return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++  *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++  (eval "$ac_compile") 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } && {
++	 test -z "$ac_c_werror_flag" ||
++	 test ! -s conftest.err
++       } && test -s conftest.$ac_objext; then
++  ac_cv_sys_file_offset_bits=no; break
++else
++  $as_echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++  cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++#define _FILE_OFFSET_BITS 64
++#include <sys/types.h>
++ /* Check that off_t can represent 2**63 - 1 correctly.
++    We can't simply define LARGE_OFF_T to be 9223372036854775807,
++    since some C++ compilers masquerading as C compilers
++    incorrectly reject 9223372036854775807.  */
++#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
++  int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
++		       && LARGE_OFF_T % 2147483647 == 1)
++		      ? 1 : -1];
++int
++main ()
++{
++
++  ;
++  return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++  *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++  (eval "$ac_compile") 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } && {
++	 test -z "$ac_c_werror_flag" ||
++	 test ! -s conftest.err
++       } && test -s conftest.$ac_objext; then
++  ac_cv_sys_file_offset_bits=64; break
++else
++  $as_echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++  ac_cv_sys_file_offset_bits=unknown
++  break
++done
++fi
++{ $as_echo "$as_me:$LINENO: result: $ac_cv_sys_file_offset_bits" >&5
++$as_echo "$ac_cv_sys_file_offset_bits" >&6; }
++case $ac_cv_sys_file_offset_bits in #(
++  no | unknown) ;;
++  *)
++cat >>confdefs.h <<_ACEOF
++#define _FILE_OFFSET_BITS $ac_cv_sys_file_offset_bits
++_ACEOF
++;;
++esac
++rm -rf conftest*
++  if test $ac_cv_sys_file_offset_bits = unknown; then
++    { $as_echo "$as_me:$LINENO: checking for _LARGE_FILES value needed for large files" >&5
++$as_echo_n "checking for _LARGE_FILES value needed for large files... " >&6; }
++if test "${ac_cv_sys_large_files+set}" = set; then
++  $as_echo_n "(cached) " >&6
++else
++  while :; do
++  cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++#include <sys/types.h>
++ /* Check that off_t can represent 2**63 - 1 correctly.
++    We can't simply define LARGE_OFF_T to be 9223372036854775807,
++    since some C++ compilers masquerading as C compilers
++    incorrectly reject 9223372036854775807.  */
++#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
++  int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
++		       && LARGE_OFF_T % 2147483647 == 1)
++		      ? 1 : -1];
++int
++main ()
++{
++
++  ;
++  return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++  *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++  (eval "$ac_compile") 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } && {
++	 test -z "$ac_c_werror_flag" ||
++	 test ! -s conftest.err
++       } && test -s conftest.$ac_objext; then
++  ac_cv_sys_large_files=no; break
++else
++  $as_echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++  cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++#define _LARGE_FILES 1
++#include <sys/types.h>
++ /* Check that off_t can represent 2**63 - 1 correctly.
++    We can't simply define LARGE_OFF_T to be 9223372036854775807,
++    since some C++ compilers masquerading as C compilers
++    incorrectly reject 9223372036854775807.  */
++#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
++  int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
++		       && LARGE_OFF_T % 2147483647 == 1)
++		      ? 1 : -1];
++int
++main ()
++{
++
++  ;
++  return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++  *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++  (eval "$ac_compile") 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } && {
++	 test -z "$ac_c_werror_flag" ||
++	 test ! -s conftest.err
++       } && test -s conftest.$ac_objext; then
++  ac_cv_sys_large_files=1; break
++else
++  $as_echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++  ac_cv_sys_large_files=unknown
++  break
++done
++fi
++{ $as_echo "$as_me:$LINENO: result: $ac_cv_sys_large_files" >&5
++$as_echo "$ac_cv_sys_large_files" >&6; }
++case $ac_cv_sys_large_files in #(
++  no | unknown) ;;
++  *)
++cat >>confdefs.h <<_ACEOF
++#define _LARGE_FILES $ac_cv_sys_large_files
++_ACEOF
++;;
++esac
++rm -rf conftest*
++  fi
++fi
++
++
++ { $as_echo "$as_me:$LINENO: checking whether byte ordering is bigendian" >&5
++$as_echo_n "checking whether byte ordering is bigendian... " >&6; }
++if test "${ac_cv_c_bigendian+set}" = set; then
++  $as_echo_n "(cached) " >&6
++else
++  ac_cv_c_bigendian=unknown
++    # See if we're dealing with a universal compiler.
++    cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++#ifndef __APPLE_CC__
++	       not a universal capable compiler
++	     #endif
++	     typedef int dummy;
++
++_ACEOF
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++  *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++  (eval "$ac_compile") 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } && {
++	 test -z "$ac_c_werror_flag" ||
++	 test ! -s conftest.err
++       } && test -s conftest.$ac_objext; then
++
++	# Check for potential -arch flags.  It is not universal unless
++	# there are some -arch flags.  Note that *ppc* also matches
++	# ppc64.  This check is also rather less than ideal.
++	case "${CC} ${CFLAGS} ${CPPFLAGS} ${LDFLAGS}" in  #(
++	  *-arch*ppc*|*-arch*i386*|*-arch*x86_64*) ac_cv_c_bigendian=universal;;
++	esac
++else
++  $as_echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++    if test $ac_cv_c_bigendian = unknown; then
++      # See if sys/param.h defines the BYTE_ORDER macro.
++      cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++#include <sys/types.h>
++	     #include <sys/param.h>
++
++int
++main ()
++{
++#if ! (defined BYTE_ORDER && defined BIG_ENDIAN \
++		     && defined LITTLE_ENDIAN && BYTE_ORDER && BIG_ENDIAN \
++		     && LITTLE_ENDIAN)
++	      bogus endian macros
++	     #endif
++
++  ;
++  return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++  *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++  (eval "$ac_compile") 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } && {
++	 test -z "$ac_c_werror_flag" ||
++	 test ! -s conftest.err
++       } && test -s conftest.$ac_objext; then
++  # It does; now see whether it defined to BIG_ENDIAN or not.
++	 cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++#include <sys/types.h>
++		#include <sys/param.h>
++
++int
++main ()
++{
++#if BYTE_ORDER != BIG_ENDIAN
++		 not big endian
++		#endif
++
++  ;
++  return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++  *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++  (eval "$ac_compile") 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } && {
++	 test -z "$ac_c_werror_flag" ||
++	 test ! -s conftest.err
++       } && test -s conftest.$ac_objext; then
++  ac_cv_c_bigendian=yes
++else
++  $as_echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++	ac_cv_c_bigendian=no
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++else
++  $as_echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++    fi
++    if test $ac_cv_c_bigendian = unknown; then
++      # See if <limits.h> defines _LITTLE_ENDIAN or _BIG_ENDIAN (e.g., Solaris).
++      cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++#include <limits.h>
++
++int
++main ()
++{
++#if ! (defined _LITTLE_ENDIAN || defined _BIG_ENDIAN)
++	      bogus endian macros
++	     #endif
++
++  ;
++  return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++  *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++  (eval "$ac_compile") 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } && {
++	 test -z "$ac_c_werror_flag" ||
++	 test ! -s conftest.err
++       } && test -s conftest.$ac_objext; then
++  # It does; now see whether it defined to _BIG_ENDIAN or not.
++	 cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++#include <limits.h>
++
++int
++main ()
++{
++#ifndef _BIG_ENDIAN
++		 not big endian
++		#endif
++
++  ;
++  return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++  *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++  (eval "$ac_compile") 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } && {
++	 test -z "$ac_c_werror_flag" ||
++	 test ! -s conftest.err
++       } && test -s conftest.$ac_objext; then
++  ac_cv_c_bigendian=yes
++else
++  $as_echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++	ac_cv_c_bigendian=no
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++else
++  $as_echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++    fi
++    if test $ac_cv_c_bigendian = unknown; then
++      # Compile a test program.
++      if test "$cross_compiling" = yes; then
++  # Try to guess by grepping values from an object file.
++	 cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++short int ascii_mm[] =
++		  { 0x4249, 0x4765, 0x6E44, 0x6961, 0x6E53, 0x7953, 0 };
++		short int ascii_ii[] =
++		  { 0x694C, 0x5454, 0x656C, 0x6E45, 0x6944, 0x6E61, 0 };
++		int use_ascii (int i) {
++		  return ascii_mm[i] + ascii_ii[i];
++		}
++		short int ebcdic_ii[] =
++		  { 0x89D3, 0xE3E3, 0x8593, 0x95C5, 0x89C4, 0x9581, 0 };
++		short int ebcdic_mm[] =
++		  { 0xC2C9, 0xC785, 0x95C4, 0x8981, 0x95E2, 0xA8E2, 0 };
++		int use_ebcdic (int i) {
++		  return ebcdic_mm[i] + ebcdic_ii[i];
++		}
++		extern int foo;
++
++int
++main ()
++{
++return use_ascii (foo) == use_ebcdic (foo);
++  ;
++  return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++  *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++  (eval "$ac_compile") 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } && {
++	 test -z "$ac_c_werror_flag" ||
++	 test ! -s conftest.err
++       } && test -s conftest.$ac_objext; then
++  if grep BIGenDianSyS conftest.$ac_objext >/dev/null; then
++	      ac_cv_c_bigendian=yes
++	    fi
++	    if grep LiTTleEnDian conftest.$ac_objext >/dev/null ; then
++	      if test "$ac_cv_c_bigendian" = unknown; then
++		ac_cv_c_bigendian=no
++	      else
++		# finding both strings is unlikely to happen, but who knows?
++		ac_cv_c_bigendian=unknown
++	      fi
++	    fi
++else
++  $as_echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++else
++  cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++$ac_includes_default
++int
++main ()
++{
++
++	     /* Are we little or big endian?  From Harbison&Steele.  */
++	     union
++	     {
++	       long int l;
++	       char c[sizeof (long int)];
++	     } u;
++	     u.l = 1;
++	     return u.c[sizeof (long int) - 1] == 1;
++
++  ;
++  return 0;
++}
++_ACEOF
++rm -f conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++  *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++  (eval "$ac_link") 2>&5
++  ac_status=$?
++  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
++  { (case "(($ac_try" in
++  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++  *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++  (eval "$ac_try") 2>&5
++  ac_status=$?
++  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; }; then
++  ac_cv_c_bigendian=no
++else
++  $as_echo "$as_me: program exited with status $ac_status" >&5
++$as_echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++( exit $ac_status )
++ac_cv_c_bigendian=yes
++fi
++rm -rf conftest.dSYM
++rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
++fi
++
++
++    fi
++fi
++{ $as_echo "$as_me:$LINENO: result: $ac_cv_c_bigendian" >&5
++$as_echo "$ac_cv_c_bigendian" >&6; }
++ case $ac_cv_c_bigendian in #(
++   yes)
++     cat >>confdefs.h <<\_ACEOF
++#define WORDS_BIGENDIAN 1
++_ACEOF
++;; #(
++   no)
++      ;; #(
++   universal)
++
++cat >>confdefs.h <<\_ACEOF
++#define AC_APPLE_UNIVERSAL_BUILD 1
++_ACEOF
++
++     ;; #(
++   *)
++     { { $as_echo "$as_me:$LINENO: error: unknown endianness
++ presetting ac_cv_c_bigendian=no (or yes) will help" >&5
++$as_echo "$as_me: error: unknown endianness
++ presetting ac_cv_c_bigendian=no (or yes) will help" >&2;}
++   { (exit 1); exit 1; }; } ;;
++ esac
++
++
++
++###############################################################################
++# Checks for library functions.
++###############################################################################
++
++# Gnulib replacements as needed
++
++  if test -z "$GETOPT_H"; then
++
++for ac_header in getopt.h
++do
++as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
++if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
++  { $as_echo "$as_me:$LINENO: checking for $ac_header" >&5
++$as_echo_n "checking for $ac_header... " >&6; }
++if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
++  $as_echo_n "(cached) " >&6
++fi
++ac_res=`eval 'as_val=${'$as_ac_Header'}
++		 $as_echo "$as_val"'`
++	       { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
++$as_echo "$ac_res" >&6; }
++else
++  # Is the header compilable?
++{ $as_echo "$as_me:$LINENO: checking $ac_header usability" >&5
++$as_echo_n "checking $ac_header usability... " >&6; }
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++$ac_includes_default
++#include <$ac_header>
++_ACEOF
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++  *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++  (eval "$ac_compile") 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } && {
++	 test -z "$ac_c_werror_flag" ||
++	 test ! -s conftest.err
++       } && test -s conftest.$ac_objext; then
++  ac_header_compiler=yes
++else
++  $as_echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++	ac_header_compiler=no
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
++$as_echo "$ac_header_compiler" >&6; }
++
++# Is the header present?
++{ $as_echo "$as_me:$LINENO: checking $ac_header presence" >&5
++$as_echo_n "checking $ac_header presence... " >&6; }
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++#include <$ac_header>
++_ACEOF
++if { (ac_try="$ac_cpp conftest.$ac_ext"
++case "(($ac_try" in
++  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++  *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } >/dev/null && {
++	 test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
++	 test ! -s conftest.err
++       }; then
++  ac_header_preproc=yes
++else
++  $as_echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++  ac_header_preproc=no
++fi
++
++rm -f conftest.err conftest.$ac_ext
++{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
++$as_echo "$ac_header_preproc" >&6; }
++
++# So?  What about this header?
++case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
++  yes:no: )
++    { $as_echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
++$as_echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
++    { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
++$as_echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
++    ac_header_preproc=yes
++    ;;
++  no:yes:* )
++    { $as_echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
++$as_echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
++    { $as_echo "$as_me:$LINENO: WARNING: $ac_header:     check for missing prerequisite headers?" >&5
++$as_echo "$as_me: WARNING: $ac_header:     check for missing prerequisite headers?" >&2;}
++    { $as_echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
++$as_echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
++    { $as_echo "$as_me:$LINENO: WARNING: $ac_header:     section \"Present But Cannot Be Compiled\"" >&5
++$as_echo "$as_me: WARNING: $ac_header:     section \"Present But Cannot Be Compiled\"" >&2;}
++    { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
++$as_echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
++    { $as_echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
++$as_echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
++    ( cat <<\_ASBOX
++## --------------------------------------- ##
++## Report this to lasse.collin@tukaani.org ##
++## --------------------------------------- ##
++_ASBOX
++     ) | sed "s/^/$as_me: WARNING:     /" >&2
++    ;;
++esac
++{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5
++$as_echo_n "checking for $ac_header... " >&6; }
++if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
++  $as_echo_n "(cached) " >&6
++else
++  eval "$as_ac_Header=\$ac_header_preproc"
++fi
++ac_res=`eval 'as_val=${'$as_ac_Header'}
++		 $as_echo "$as_val"'`
++	       { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
++$as_echo "$ac_res" >&6; }
++
++fi
++as_val=`eval 'as_val=${'$as_ac_Header'}
++		 $as_echo "$as_val"'`
++   if test "x$as_val" = x""yes; then
++  cat >>confdefs.h <<_ACEOF
++#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
++_ACEOF
++
++else
++  GETOPT_H=getopt.h
++fi
++
++done
++
++  fi
++
++  if test -z "$GETOPT_H"; then
++
++for ac_func in getopt_long
++do
++as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
++{ $as_echo "$as_me:$LINENO: checking for $ac_func" >&5
++$as_echo_n "checking for $ac_func... " >&6; }
++if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then
++  $as_echo_n "(cached) " >&6
++else
++  cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
++   For example, HP-UX 11i <limits.h> declares gettimeofday.  */
++#define $ac_func innocuous_$ac_func
++
++/* System header to define __stub macros and hopefully few prototypes,
++    which can conflict with char $ac_func (); below.
++    Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
++    <limits.h> exists even on freestanding compilers.  */
++
++#ifdef __STDC__
++# include <limits.h>
++#else
++# include <assert.h>
++#endif
++
++#undef $ac_func
++
++/* Override any GCC internal prototype to avoid an error.
++   Use char because int might match the return type of a GCC
++   builtin and then its argument prototype would still apply.  */
++#ifdef __cplusplus
++extern "C"
++#endif
++char $ac_func ();
++/* The GNU C library defines this for functions which it implements
++    to always fail with ENOSYS.  Some functions are actually named
++    something starting with __ and the normal name is an alias.  */
++#if defined __stub_$ac_func || defined __stub___$ac_func
++choke me
++#endif
++
++int
++main ()
++{
++return $ac_func ();
++  ;
++  return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++  *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++  (eval "$ac_link") 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } && {
++	 test -z "$ac_c_werror_flag" ||
++	 test ! -s conftest.err
++       } && test -s conftest$ac_exeext && {
++	 test "$cross_compiling" = yes ||
++	 $as_test_x conftest$ac_exeext
++       }; then
++  eval "$as_ac_var=yes"
++else
++  $as_echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++	eval "$as_ac_var=no"
++fi
++
++rm -rf conftest.dSYM
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++      conftest$ac_exeext conftest.$ac_ext
++fi
++ac_res=`eval 'as_val=${'$as_ac_var'}
++		 $as_echo "$as_val"'`
++	       { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
++$as_echo "$ac_res" >&6; }
++as_val=`eval 'as_val=${'$as_ac_var'}
++		 $as_echo "$as_val"'`
++   if test "x$as_val" = x""yes; then
++  cat >>confdefs.h <<_ACEOF
++#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
++_ACEOF
++
++else
++  GETOPT_H=getopt.h
++fi
++done
++
++  fi
++
++                                  if test -z "$GETOPT_H"; then
++    { $as_echo "$as_me:$LINENO: checking whether optreset is declared" >&5
++$as_echo_n "checking whether optreset is declared... " >&6; }
++if test "${ac_cv_have_decl_optreset+set}" = set; then
++  $as_echo_n "(cached) " >&6
++else
++  cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++#include <getopt.h>
++
++int
++main ()
++{
++#ifndef optreset
++  (void) optreset;
++#endif
++
++  ;
++  return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++  *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++  (eval "$ac_compile") 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } && {
++	 test -z "$ac_c_werror_flag" ||
++	 test ! -s conftest.err
++       } && test -s conftest.$ac_objext; then
++  ac_cv_have_decl_optreset=yes
++else
++  $as_echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++	ac_cv_have_decl_optreset=no
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++fi
++{ $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl_optreset" >&5
++$as_echo "$ac_cv_have_decl_optreset" >&6; }
++if test "x$ac_cv_have_decl_optreset" = x""yes; then
++
++cat >>confdefs.h <<\_ACEOF
++#define HAVE_OPTRESET 1
++_ACEOF
++
++fi
++
++  fi
++
++
++
++
++  if test -n "$GETOPT_H"; then
++
++  case " $LIBOBJS " in
++  *" getopt.$ac_objext "* ) ;;
++  *) LIBOBJS="$LIBOBJS getopt.$ac_objext"
++ ;;
++esac
++
++  case " $LIBOBJS " in
++  *" getopt1.$ac_objext "* ) ;;
++  *) LIBOBJS="$LIBOBJS getopt1.$ac_objext"
++ ;;
++esac
++
++
++  GETOPT_H=getopt.h
++
++cat >>confdefs.h <<\_ACEOF
++#define __GETOPT_PREFIX rpl_
++_ACEOF
++
++
++
++
++fi
++
++
++
++# Find the best function to set timestamps.
++
++
++
++
++
++for ac_func in futimens futimes futimesat utimes utime
++do
++as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
++{ $as_echo "$as_me:$LINENO: checking for $ac_func" >&5
++$as_echo_n "checking for $ac_func... " >&6; }
++if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then
++  $as_echo_n "(cached) " >&6
++else
++  cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
++   For example, HP-UX 11i <limits.h> declares gettimeofday.  */
++#define $ac_func innocuous_$ac_func
++
++/* System header to define __stub macros and hopefully few prototypes,
++    which can conflict with char $ac_func (); below.
++    Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
++    <limits.h> exists even on freestanding compilers.  */
++
++#ifdef __STDC__
++# include <limits.h>
++#else
++# include <assert.h>
++#endif
++
++#undef $ac_func
++
++/* Override any GCC internal prototype to avoid an error.
++   Use char because int might match the return type of a GCC
++   builtin and then its argument prototype would still apply.  */
++#ifdef __cplusplus
++extern "C"
++#endif
++char $ac_func ();
++/* The GNU C library defines this for functions which it implements
++    to always fail with ENOSYS.  Some functions are actually named
++    something starting with __ and the normal name is an alias.  */
++#if defined __stub_$ac_func || defined __stub___$ac_func
++choke me
++#endif
++
++int
++main ()
++{
++return $ac_func ();
++  ;
++  return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++  *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++  (eval "$ac_link") 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } && {
++	 test -z "$ac_c_werror_flag" ||
++	 test ! -s conftest.err
++       } && test -s conftest$ac_exeext && {
++	 test "$cross_compiling" = yes ||
++	 $as_test_x conftest$ac_exeext
++       }; then
++  eval "$as_ac_var=yes"
++else
++  $as_echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++	eval "$as_ac_var=no"
++fi
++
++rm -rf conftest.dSYM
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++      conftest$ac_exeext conftest.$ac_ext
++fi
++ac_res=`eval 'as_val=${'$as_ac_var'}
++		 $as_echo "$as_val"'`
++	       { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
++$as_echo "$ac_res" >&6; }
++as_val=`eval 'as_val=${'$as_ac_var'}
++		 $as_echo "$as_val"'`
++   if test "x$as_val" = x""yes; then
++  cat >>confdefs.h <<_ACEOF
++#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
++_ACEOF
++ break
++fi
++done
++
++
++
++{ $as_echo "$as_me:$LINENO: checking how to detect the amount of physical memory" >&5
++$as_echo_n "checking how to detect the amount of physical memory... " >&6; }
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++
++#include <unistd.h>
++int
++main(void)
++{
++	long i;
++	i = sysconf(_SC_PAGESIZE);
++	i = sysconf(_SC_PHYS_PAGES);
++	return 0;
++}
++
++_ACEOF
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++  *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++  (eval "$ac_compile") 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } && {
++	 test -z "$ac_c_werror_flag" ||
++	 test ! -s conftest.err
++       } && test -s conftest.$ac_objext; then
++
++
++cat >>confdefs.h <<\_ACEOF
++#define HAVE_PHYSMEM_SYSCONF 1
++_ACEOF
++
++	{ $as_echo "$as_me:$LINENO: result: sysconf" >&5
++$as_echo "sysconf" >&6; }
++
++else
++  $as_echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++
++#include <sys/types.h>
++#ifdef HAVE_SYS_PARAM_H
++#	include <sys/param.h>
++#endif
++#include <sys/sysctl.h>
++int
++main(void)
++{
++	int name[2] = { CTL_HW, HW_PHYSMEM };
++	unsigned long mem;
++	size_t mem_ptr_size = sizeof(mem);
++	sysctl(name, 2, &mem, &mem_ptr_size, NULL, NULL);
++	return 0;
++}
++
++_ACEOF
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++  *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++  (eval "$ac_compile") 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } && {
++	 test -z "$ac_c_werror_flag" ||
++	 test ! -s conftest.err
++       } && test -s conftest.$ac_objext; then
++
++
++cat >>confdefs.h <<\_ACEOF
++#define HAVE_PHYSMEM_SYSCTL 1
++_ACEOF
++
++	{ $as_echo "$as_me:$LINENO: result: sysctl" >&5
++$as_echo "sysctl" >&6; }
++
++else
++  $as_echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++
++case $host_os in
++	linux*)
++		cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++
++#include <sys/sysinfo.h>
++int
++main(void)
++{
++	struct sysinfo si;
++	sysinfo(&si);
++	return 0;
++}
++
++_ACEOF
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++  *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++  (eval "$ac_compile") 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } && {
++	 test -z "$ac_c_werror_flag" ||
++	 test ! -s conftest.err
++       } && test -s conftest.$ac_objext; then
++
++
++cat >>confdefs.h <<\_ACEOF
++#define HAVE_PHYSMEM_SYSINFO 1
++_ACEOF
++
++			{ $as_echo "$as_me:$LINENO: result: sysinfo" >&5
++$as_echo "sysinfo" >&6; }
++
++else
++  $as_echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++
++			{ $as_echo "$as_me:$LINENO: result: unknown" >&5
++$as_echo "unknown" >&6; }
++
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++		;;
++	*)
++		{ $as_echo "$as_me:$LINENO: result: unknown" >&5
++$as_echo "unknown" >&6; }
++		;;
++esac
++
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++
++
++{ $as_echo "$as_me:$LINENO: checking how to detect the number of available CPU cores" >&5
++$as_echo_n "checking how to detect the number of available CPU cores... " >&6; }
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++
++#include <unistd.h>
++int
++main(void)
++{
++	long i;
++	i = sysconf(_SC_NPROCESSORS_ONLN);
++	return 0;
++}
++
++_ACEOF
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++  *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++  (eval "$ac_compile") 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } && {
++	 test -z "$ac_c_werror_flag" ||
++	 test ! -s conftest.err
++       } && test -s conftest.$ac_objext; then
++
++
++cat >>confdefs.h <<\_ACEOF
++#define HAVE_CPUCORES_SYSCONF 1
++_ACEOF
++
++	{ $as_echo "$as_me:$LINENO: result: sysconf" >&5
++$as_echo "sysconf" >&6; }
++
++else
++  $as_echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++
++#include <sys/types.h>
++#ifdef HAVE_SYS_PARAM_H
++#	include <sys/param.h>
++#endif
++#include <sys/sysctl.h>
++int
++main(void)
++{
++	int name[2] = { CTL_HW, HW_NCPU };
++	int cpus;
++	size_t cpus_size = sizeof(cpus);
++	sysctl(name, 2, &cpus, &cpus_size, NULL, NULL);
++	return 0;
++}
++
++_ACEOF
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++  *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++  (eval "$ac_compile") 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } && {
++	 test -z "$ac_c_werror_flag" ||
++	 test ! -s conftest.err
++       } && test -s conftest.$ac_objext; then
++
++
++cat >>confdefs.h <<\_ACEOF
++#define HAVE_CPUCORES_SYSCTL 1
++_ACEOF
++
++	{ $as_echo "$as_me:$LINENO: result: sysctl" >&5
++$as_echo "sysctl" >&6; }
++
++else
++  $as_echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++
++	{ $as_echo "$as_me:$LINENO: result: unknown" >&5
++$as_echo "unknown" >&6; }
++
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++
++
++
++###############################################################################
++# If using GCC, set some additional AM_CFLAGS:
++###############################################################################
++
++if test "$GCC" = yes ; then
++	echo
++	echo "GCC extensions:"
++fi
++
++# Always do the visibility check but don't set AM_CFLAGS on Windows.
++# This way things get set properly even on Windows.
++
++
++  CFLAG_VISIBILITY=
++  HAVE_VISIBILITY=0
++  if test -n "$GCC"; then
++    { $as_echo "$as_me:$LINENO: checking for simple visibility declarations" >&5
++$as_echo_n "checking for simple visibility declarations... " >&6; }
++    if test "${gl_cv_cc_visibility+set}" = set; then
++  $as_echo_n "(cached) " >&6
++else
++
++      gl_save_CFLAGS="$CFLAGS"
++      CFLAGS="$CFLAGS -fvisibility=hidden"
++      cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++extern __attribute__((__visibility__("hidden"))) int hiddenvar;
++         extern __attribute__((__visibility__("default"))) int exportedvar;
++         extern __attribute__((__visibility__("hidden"))) int hiddenfunc (void);
++         extern __attribute__((__visibility__("default"))) int exportedfunc (void);
++int
++main ()
++{
++
++  ;
++  return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++  *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++  (eval "$ac_compile") 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } && {
++	 test -z "$ac_c_werror_flag" ||
++	 test ! -s conftest.err
++       } && test -s conftest.$ac_objext; then
++  gl_cv_cc_visibility=yes
++else
++  $as_echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++	gl_cv_cc_visibility=no
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++      CFLAGS="$gl_save_CFLAGS"
++fi
++
++    { $as_echo "$as_me:$LINENO: result: $gl_cv_cc_visibility" >&5
++$as_echo "$gl_cv_cc_visibility" >&6; }
++    if test $gl_cv_cc_visibility = yes; then
++      CFLAG_VISIBILITY="-fvisibility=hidden"
++      HAVE_VISIBILITY=1
++    fi
++  fi
++
++
++
++cat >>confdefs.h <<_ACEOF
++#define HAVE_VISIBILITY $HAVE_VISIBILITY
++_ACEOF
++
++
++if test -n "$CFLAG_VISIBILITY" && test "$is_w32" = no; then
++	AM_CFLAGS="$AM_CFLAGS $CFLAG_VISIBILITY"
++fi
++
++if test "$GCC" = yes ; then
++	# Enable as much warnings as possible. These commented warnings won't
++	# work for this package though:
++	#   * -Wunreachable-code breaks several assert(0) cases, which are
++	#     backed up with "return LZMA_PROG_ERROR".
++	#   * -Wcast-qual would break various things where we need a non-const
++	#     pointer although we don't modify anything through it.
++	#   * -Wcast-align breaks optimized CRC32 and CRC64 implementation
++	#     on some architectures (not on x86), where this warning is bogus,
++	#     because we take care of correct alignment.
++	#   * -Winline, -Wdisabled-optimization, -Wunsafe-loop-optimizations
++	#     don't seem so useful here; at least the last one gives some
++	#     warnings which are not bugs.
++	for NEW_FLAG in \
++			-Wall \
++			-Wextra \
++			-Wformat=2 \
++			-Winit-self \
++			-Wmissing-include-dirs \
++			-Wstrict-aliasing \
++			-Wfloat-equal \
++			-Wundef \
++			-Wshadow \
++			-Wpointer-arith \
++			-Wbad-function-cast \
++			-Wwrite-strings \
++			-Wlogical-op \
++			-Waggregate-return \
++			-Wstrict-prototypes \
++			-Wold-style-definition \
++			-Wmissing-prototypes \
++			-Wmissing-declarations \
++			-Wmissing-noreturn \
++			-Wredundant-decls
++	do
++		{ $as_echo "$as_me:$LINENO: checking if $CC accepts $NEW_FLAG" >&5
++$as_echo_n "checking if $CC accepts $NEW_FLAG... " >&6; }
++		OLD_CFLAGS="$CFLAGS"
++		CFLAGS="$CFLAGS $NEW_FLAG"
++		cat >conftest.$ac_ext <<_ACEOF
++void foo(void) { }
++_ACEOF
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++  *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++  (eval "$ac_compile") 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } && {
++	 test -z "$ac_c_werror_flag" ||
++	 test ! -s conftest.err
++       } && test -s conftest.$ac_objext; then
++
++			AM_CFLAGS="$AM_CFLAGS $NEW_FLAG"
++			{ $as_echo "$as_me:$LINENO: result: yes" >&5
++$as_echo "yes" >&6; }
++
++else
++  $as_echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++
++			{ $as_echo "$as_me:$LINENO: result: no" >&5
++$as_echo "no" >&6; }
++
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++		CFLAGS="$OLD_CFLAGS"
++	done
++
++	# Check whether --enable-werror was given.
++if test "${enable_werror+set}" = set; then
++  enableval=$enable_werror;
++else
++  enable_werror=no
++fi
++
++	if test "x$enable_werror" = "xyes"; then
++		AM_CFLAGS="$AM_CFLAGS -Werror"
++	fi
++fi
++
++
++###############################################################################
++# Create the makefiles and config.h
++###############################################################################
++
++echo
++
++# Don't build the lib directory at all if we don't need any replacement
++# functions.
++ if test -n "$LIBOBJS"; then
++  COND_GNULIB_TRUE=
++  COND_GNULIB_FALSE='#'
++else
++  COND_GNULIB_TRUE='#'
++  COND_GNULIB_FALSE=
++fi
++
++
++# Add default AM_CFLAGS.
++
++
++# Set additional flags for static/dynamic linking. The idea is that every
++# program (not library) being built will use either STATIC_{CPPFLAGS,LDFLAGS}
++# or DYNAMIC_{CPPFLAGS,LDFLAGS} depending on which type of linkage is
++# preferred. These preferences get overriden by use of --disable-static,
++# --disable-shared, or --enable-dynamic.
++#
++# This is quite messy, because we want to use LZMA_API_STATIC when linking
++# against static liblzma. It's needed on Windows.
++if test "x$enable_static" = xno; then
++	enable_dynamic=yes
++fi
++if test "x$enable_shared" = xno; then
++	enable_dynamic=no
++fi
++case $enable_dynamic in
++	yes)
++		STATIC_CPPFLAGS=
++		STATIC_LDFLAGS=
++		DYNAMIC_CPPFLAGS=
++		DYNAMIC_LDFLAGS=
++		;;
++	mixed)
++		STATIC_CPPFLAGS="-DLZMA_API_STATIC"
++		STATIC_LDFLAGS="-static"
++		DYNAMIC_CPPFLAGS=
++		DYNAMIC_LDFLAGS=
++		;;
++	no)
++		STATIC_CPPFLAGS="-DLZMA_API_STATIC"
++		STATIC_LDFLAGS="-static"
++		DYNAMIC_CPPFLAGS="-DLZMA_API_STATIC"
++		DYNAMIC_LDFLAGS="-static"
++		;;
++esac
++
++
++
++
++
++# This is needed for src/scripts.
++xz=`echo xz | sed "$program_transform_name"`
++
++
++ac_config_files="$ac_config_files Doxyfile Makefile po/Makefile.in lib/Makefile src/Makefile src/liblzma/liblzma.pc src/liblzma/Makefile src/liblzma/api/Makefile src/xz/Makefile src/xzdec/Makefile src/lzmainfo/Makefile src/scripts/Makefile src/scripts/xzdiff src/scripts/xzgrep src/scripts/xzmore src/scripts/xzless tests/Makefile debug/Makefile"
++
++
++cat >confcache <<\_ACEOF
++# This file is a shell script that caches the results of configure
++# tests run on this system so they can be shared between configure
++# scripts and configure runs, see configure's option --config-cache.
++# It is not useful on other systems.  If it contains results you don't
++# want to keep, you may remove or edit it.
++#
++# config.status only pays attention to the cache file if you give it
++# the --recheck option to rerun configure.
++#
++# `ac_cv_env_foo' variables (set or unset) will be overridden when
++# loading this file, other *unset* `ac_cv_foo' will be assigned the
++# following values.
++
++_ACEOF
++
++# The following way of writing the cache mishandles newlines in values,
++# but we know of no workaround that is simple, portable, and efficient.
++# So, we kill variables containing newlines.
++# Ultrix sh set writes to stderr and can't be redirected directly,
++# and sets the high bit in the cache file unless we assign to the vars.
++(
++  for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do
++    eval ac_val=\$$ac_var
++    case $ac_val in #(
++    *${as_nl}*)
++      case $ac_var in #(
++      *_cv_*) { $as_echo "$as_me:$LINENO: WARNING: cache variable $ac_var contains a newline" >&5
++$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
++      esac
++      case $ac_var in #(
++      _ | IFS | as_nl) ;; #(
++      BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
++      *) $as_unset $ac_var ;;
++      esac ;;
++    esac
++  done
++
++  (set) 2>&1 |
++    case $as_nl`(ac_space=' '; set) 2>&1` in #(
++    *${as_nl}ac_space=\ *)
++      # `set' does not quote correctly, so add quotes (double-quote
++      # substitution turns \\\\ into \\, and sed turns \\ into \).
++      sed -n \
++	"s/'/'\\\\''/g;
++	  s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p"
++      ;; #(
++    *)
++      # `set' quotes correctly as required by POSIX, so do not add quotes.
++      sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
++      ;;
++    esac |
++    sort
++) |
++  sed '
++     /^ac_cv_env_/b end
++     t clear
++     :clear
++     s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/
++     t end
++     s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
++     :end' >>confcache
++if diff "$cache_file" confcache >/dev/null 2>&1; then :; else
++  if test -w "$cache_file"; then
++    test "x$cache_file" != "x/dev/null" &&
++      { $as_echo "$as_me:$LINENO: updating cache $cache_file" >&5
++$as_echo "$as_me: updating cache $cache_file" >&6;}
++    cat confcache >$cache_file
++  else
++    { $as_echo "$as_me:$LINENO: not updating unwritable cache $cache_file" >&5
++$as_echo "$as_me: not updating unwritable cache $cache_file" >&6;}
++  fi
++fi
++rm -f confcache
++
++test "x$prefix" = xNONE && prefix=$ac_default_prefix
++# Let make expand exec_prefix.
++test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
++
++DEFS=-DHAVE_CONFIG_H
++
++ac_libobjs=
++ac_ltlibobjs=
++for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
++  # 1. Remove the extension, and $U if already installed.
++  ac_script='s/\$U\././;s/\.o$//;s/\.obj$//'
++  ac_i=`$as_echo "$ac_i" | sed "$ac_script"`
++  # 2. Prepend LIBOBJDIR.  When used with automake>=1.10 LIBOBJDIR
++  #    will be set to the directory where LIBOBJS objects are built.
++  ac_libobjs="$ac_libobjs \${LIBOBJDIR}$ac_i\$U.$ac_objext"
++  ac_ltlibobjs="$ac_ltlibobjs \${LIBOBJDIR}$ac_i"'$U.lo'
++done
++LIBOBJS=$ac_libobjs
++
++LTLIBOBJS=$ac_ltlibobjs
++
++
++if test -z "${COND_W32_TRUE}" && test -z "${COND_W32_FALSE}"; then
++  { { $as_echo "$as_me:$LINENO: error: conditional \"COND_W32\" was never defined.
++Usually this means the macro was only invoked conditionally." >&5
++$as_echo "$as_me: error: conditional \"COND_W32\" was never defined.
++Usually this means the macro was only invoked conditionally." >&2;}
++   { (exit 1); exit 1; }; }
++fi
++if test -z "${COND_MAIN_ENCODER_TRUE}" && test -z "${COND_MAIN_ENCODER_FALSE}"; then
++  { { $as_echo "$as_me:$LINENO: error: conditional \"COND_MAIN_ENCODER\" was never defined.
++Usually this means the macro was only invoked conditionally." >&5
++$as_echo "$as_me: error: conditional \"COND_MAIN_ENCODER\" was never defined.
++Usually this means the macro was only invoked conditionally." >&2;}
++   { (exit 1); exit 1; }; }
++fi
++if test -z "${COND_MAIN_DECODER_TRUE}" && test -z "${COND_MAIN_DECODER_FALSE}"; then
++  { { $as_echo "$as_me:$LINENO: error: conditional \"COND_MAIN_DECODER\" was never defined.
++Usually this means the macro was only invoked conditionally." >&5
++$as_echo "$as_me: error: conditional \"COND_MAIN_DECODER\" was never defined.
++Usually this means the macro was only invoked conditionally." >&2;}
++   { (exit 1); exit 1; }; }
++fi
++if test -z "${COND_FILTER_LZMA1_TRUE}" && test -z "${COND_FILTER_LZMA1_FALSE}"; then
++  { { $as_echo "$as_me:$LINENO: error: conditional \"COND_FILTER_LZMA1\" was never defined.
++Usually this means the macro was only invoked conditionally." >&5
++$as_echo "$as_me: error: conditional \"COND_FILTER_LZMA1\" was never defined.
++Usually this means the macro was only invoked conditionally." >&2;}
++   { (exit 1); exit 1; }; }
++fi
++if test -z "${COND_ENCODER_LZMA1_TRUE}" && test -z "${COND_ENCODER_LZMA1_FALSE}"; then
++  { { $as_echo "$as_me:$LINENO: error: conditional \"COND_ENCODER_LZMA1\" was never defined.
++Usually this means the macro was only invoked conditionally." >&5
++$as_echo "$as_me: error: conditional \"COND_ENCODER_LZMA1\" was never defined.
++Usually this means the macro was only invoked conditionally." >&2;}
++   { (exit 1); exit 1; }; }
++fi
++if test -z "${COND_DECODER_LZMA1_TRUE}" && test -z "${COND_DECODER_LZMA1_FALSE}"; then
++  { { $as_echo "$as_me:$LINENO: error: conditional \"COND_DECODER_LZMA1\" was never defined.
++Usually this means the macro was only invoked conditionally." >&5
++$as_echo "$as_me: error: conditional \"COND_DECODER_LZMA1\" was never defined.
++Usually this means the macro was only invoked conditionally." >&2;}
++   { (exit 1); exit 1; }; }
++fi
++if test -z "${COND_FILTER_LZMA2_TRUE}" && test -z "${COND_FILTER_LZMA2_FALSE}"; then
++  { { $as_echo "$as_me:$LINENO: error: conditional \"COND_FILTER_LZMA2\" was never defined.
++Usually this means the macro was only invoked conditionally." >&5
++$as_echo "$as_me: error: conditional \"COND_FILTER_LZMA2\" was never defined.
++Usually this means the macro was only invoked conditionally." >&2;}
++   { (exit 1); exit 1; }; }
++fi
++if test -z "${COND_ENCODER_LZMA2_TRUE}" && test -z "${COND_ENCODER_LZMA2_FALSE}"; then
++  { { $as_echo "$as_me:$LINENO: error: conditional \"COND_ENCODER_LZMA2\" was never defined.
++Usually this means the macro was only invoked conditionally." >&5
++$as_echo "$as_me: error: conditional \"COND_ENCODER_LZMA2\" was never defined.
++Usually this means the macro was only invoked conditionally." >&2;}
++   { (exit 1); exit 1; }; }
++fi
++if test -z "${COND_DECODER_LZMA2_TRUE}" && test -z "${COND_DECODER_LZMA2_FALSE}"; then
++  { { $as_echo "$as_me:$LINENO: error: conditional \"COND_DECODER_LZMA2\" was never defined.
++Usually this means the macro was only invoked conditionally." >&5
++$as_echo "$as_me: error: conditional \"COND_DECODER_LZMA2\" was never defined.
++Usually this means the macro was only invoked conditionally." >&2;}
++   { (exit 1); exit 1; }; }
++fi
++if test -z "${COND_FILTER_SUBBLOCK_TRUE}" && test -z "${COND_FILTER_SUBBLOCK_FALSE}"; then
++  { { $as_echo "$as_me:$LINENO: error: conditional \"COND_FILTER_SUBBLOCK\" was never defined.
++Usually this means the macro was only invoked conditionally." >&5
++$as_echo "$as_me: error: conditional \"COND_FILTER_SUBBLOCK\" was never defined.
++Usually this means the macro was only invoked conditionally." >&2;}
++   { (exit 1); exit 1; }; }
++fi
++if test -z "${COND_ENCODER_SUBBLOCK_TRUE}" && test -z "${COND_ENCODER_SUBBLOCK_FALSE}"; then
++  { { $as_echo "$as_me:$LINENO: error: conditional \"COND_ENCODER_SUBBLOCK\" was never defined.
++Usually this means the macro was only invoked conditionally." >&5
++$as_echo "$as_me: error: conditional \"COND_ENCODER_SUBBLOCK\" was never defined.
++Usually this means the macro was only invoked conditionally." >&2;}
++   { (exit 1); exit 1; }; }
++fi
++if test -z "${COND_DECODER_SUBBLOCK_TRUE}" && test -z "${COND_DECODER_SUBBLOCK_FALSE}"; then
++  { { $as_echo "$as_me:$LINENO: error: conditional \"COND_DECODER_SUBBLOCK\" was never defined.
++Usually this means the macro was only invoked conditionally." >&5
++$as_echo "$as_me: error: conditional \"COND_DECODER_SUBBLOCK\" was never defined.
++Usually this means the macro was only invoked conditionally." >&2;}
++   { (exit 1); exit 1; }; }
++fi
++if test -z "${COND_FILTER_DELTA_TRUE}" && test -z "${COND_FILTER_DELTA_FALSE}"; then
++  { { $as_echo "$as_me:$LINENO: error: conditional \"COND_FILTER_DELTA\" was never defined.
++Usually this means the macro was only invoked conditionally." >&5
++$as_echo "$as_me: error: conditional \"COND_FILTER_DELTA\" was never defined.
++Usually this means the macro was only invoked conditionally." >&2;}
++   { (exit 1); exit 1; }; }
++fi
++if test -z "${COND_ENCODER_DELTA_TRUE}" && test -z "${COND_ENCODER_DELTA_FALSE}"; then
++  { { $as_echo "$as_me:$LINENO: error: conditional \"COND_ENCODER_DELTA\" was never defined.
++Usually this means the macro was only invoked conditionally." >&5
++$as_echo "$as_me: error: conditional \"COND_ENCODER_DELTA\" was never defined.
++Usually this means the macro was only invoked conditionally." >&2;}
++   { (exit 1); exit 1; }; }
++fi
++if test -z "${COND_DECODER_DELTA_TRUE}" && test -z "${COND_DECODER_DELTA_FALSE}"; then
++  { { $as_echo "$as_me:$LINENO: error: conditional \"COND_DECODER_DELTA\" was never defined.
++Usually this means the macro was only invoked conditionally." >&5
++$as_echo "$as_me: error: conditional \"COND_DECODER_DELTA\" was never defined.
++Usually this means the macro was only invoked conditionally." >&2;}
++   { (exit 1); exit 1; }; }
++fi
++if test -z "${COND_FILTER_X86_TRUE}" && test -z "${COND_FILTER_X86_FALSE}"; then
++  { { $as_echo "$as_me:$LINENO: error: conditional \"COND_FILTER_X86\" was never defined.
++Usually this means the macro was only invoked conditionally." >&5
++$as_echo "$as_me: error: conditional \"COND_FILTER_X86\" was never defined.
++Usually this means the macro was only invoked conditionally." >&2;}
++   { (exit 1); exit 1; }; }
++fi
++if test -z "${COND_ENCODER_X86_TRUE}" && test -z "${COND_ENCODER_X86_FALSE}"; then
++  { { $as_echo "$as_me:$LINENO: error: conditional \"COND_ENCODER_X86\" was never defined.
++Usually this means the macro was only invoked conditionally." >&5
++$as_echo "$as_me: error: conditional \"COND_ENCODER_X86\" was never defined.
++Usually this means the macro was only invoked conditionally." >&2;}
++   { (exit 1); exit 1; }; }
++fi
++if test -z "${COND_DECODER_X86_TRUE}" && test -z "${COND_DECODER_X86_FALSE}"; then
++  { { $as_echo "$as_me:$LINENO: error: conditional \"COND_DECODER_X86\" was never defined.
++Usually this means the macro was only invoked conditionally." >&5
++$as_echo "$as_me: error: conditional \"COND_DECODER_X86\" was never defined.
++Usually this means the macro was only invoked conditionally." >&2;}
++   { (exit 1); exit 1; }; }
++fi
++if test -z "${COND_FILTER_POWERPC_TRUE}" && test -z "${COND_FILTER_POWERPC_FALSE}"; then
++  { { $as_echo "$as_me:$LINENO: error: conditional \"COND_FILTER_POWERPC\" was never defined.
++Usually this means the macro was only invoked conditionally." >&5
++$as_echo "$as_me: error: conditional \"COND_FILTER_POWERPC\" was never defined.
++Usually this means the macro was only invoked conditionally." >&2;}
++   { (exit 1); exit 1; }; }
++fi
++if test -z "${COND_ENCODER_POWERPC_TRUE}" && test -z "${COND_ENCODER_POWERPC_FALSE}"; then
++  { { $as_echo "$as_me:$LINENO: error: conditional \"COND_ENCODER_POWERPC\" was never defined.
++Usually this means the macro was only invoked conditionally." >&5
++$as_echo "$as_me: error: conditional \"COND_ENCODER_POWERPC\" was never defined.
++Usually this means the macro was only invoked conditionally." >&2;}
++   { (exit 1); exit 1; }; }
++fi
++if test -z "${COND_DECODER_POWERPC_TRUE}" && test -z "${COND_DECODER_POWERPC_FALSE}"; then
++  { { $as_echo "$as_me:$LINENO: error: conditional \"COND_DECODER_POWERPC\" was never defined.
++Usually this means the macro was only invoked conditionally." >&5
++$as_echo "$as_me: error: conditional \"COND_DECODER_POWERPC\" was never defined.
++Usually this means the macro was only invoked conditionally." >&2;}
++   { (exit 1); exit 1; }; }
++fi
++if test -z "${COND_FILTER_IA64_TRUE}" && test -z "${COND_FILTER_IA64_FALSE}"; then
++  { { $as_echo "$as_me:$LINENO: error: conditional \"COND_FILTER_IA64\" was never defined.
++Usually this means the macro was only invoked conditionally." >&5
++$as_echo "$as_me: error: conditional \"COND_FILTER_IA64\" was never defined.
++Usually this means the macro was only invoked conditionally." >&2;}
++   { (exit 1); exit 1; }; }
++fi
++if test -z "${COND_ENCODER_IA64_TRUE}" && test -z "${COND_ENCODER_IA64_FALSE}"; then
++  { { $as_echo "$as_me:$LINENO: error: conditional \"COND_ENCODER_IA64\" was never defined.
++Usually this means the macro was only invoked conditionally." >&5
++$as_echo "$as_me: error: conditional \"COND_ENCODER_IA64\" was never defined.
++Usually this means the macro was only invoked conditionally." >&2;}
++   { (exit 1); exit 1; }; }
++fi
++if test -z "${COND_DECODER_IA64_TRUE}" && test -z "${COND_DECODER_IA64_FALSE}"; then
++  { { $as_echo "$as_me:$LINENO: error: conditional \"COND_DECODER_IA64\" was never defined.
++Usually this means the macro was only invoked conditionally." >&5
++$as_echo "$as_me: error: conditional \"COND_DECODER_IA64\" was never defined.
++Usually this means the macro was only invoked conditionally." >&2;}
++   { (exit 1); exit 1; }; }
++fi
++if test -z "${COND_FILTER_ARM_TRUE}" && test -z "${COND_FILTER_ARM_FALSE}"; then
++  { { $as_echo "$as_me:$LINENO: error: conditional \"COND_FILTER_ARM\" was never defined.
++Usually this means the macro was only invoked conditionally." >&5
++$as_echo "$as_me: error: conditional \"COND_FILTER_ARM\" was never defined.
++Usually this means the macro was only invoked conditionally." >&2;}
++   { (exit 1); exit 1; }; }
++fi
++if test -z "${COND_ENCODER_ARM_TRUE}" && test -z "${COND_ENCODER_ARM_FALSE}"; then
++  { { $as_echo "$as_me:$LINENO: error: conditional \"COND_ENCODER_ARM\" was never defined.
++Usually this means the macro was only invoked conditionally." >&5
++$as_echo "$as_me: error: conditional \"COND_ENCODER_ARM\" was never defined.
++Usually this means the macro was only invoked conditionally." >&2;}
++   { (exit 1); exit 1; }; }
++fi
++if test -z "${COND_DECODER_ARM_TRUE}" && test -z "${COND_DECODER_ARM_FALSE}"; then
++  { { $as_echo "$as_me:$LINENO: error: conditional \"COND_DECODER_ARM\" was never defined.
++Usually this means the macro was only invoked conditionally." >&5
++$as_echo "$as_me: error: conditional \"COND_DECODER_ARM\" was never defined.
++Usually this means the macro was only invoked conditionally." >&2;}
++   { (exit 1); exit 1; }; }
++fi
++if test -z "${COND_FILTER_ARMTHUMB_TRUE}" && test -z "${COND_FILTER_ARMTHUMB_FALSE}"; then
++  { { $as_echo "$as_me:$LINENO: error: conditional \"COND_FILTER_ARMTHUMB\" was never defined.
++Usually this means the macro was only invoked conditionally." >&5
++$as_echo "$as_me: error: conditional \"COND_FILTER_ARMTHUMB\" was never defined.
++Usually this means the macro was only invoked conditionally." >&2;}
++   { (exit 1); exit 1; }; }
++fi
++if test -z "${COND_ENCODER_ARMTHUMB_TRUE}" && test -z "${COND_ENCODER_ARMTHUMB_FALSE}"; then
++  { { $as_echo "$as_me:$LINENO: error: conditional \"COND_ENCODER_ARMTHUMB\" was never defined.
++Usually this means the macro was only invoked conditionally." >&5
++$as_echo "$as_me: error: conditional \"COND_ENCODER_ARMTHUMB\" was never defined.
++Usually this means the macro was only invoked conditionally." >&2;}
++   { (exit 1); exit 1; }; }
++fi
++if test -z "${COND_DECODER_ARMTHUMB_TRUE}" && test -z "${COND_DECODER_ARMTHUMB_FALSE}"; then
++  { { $as_echo "$as_me:$LINENO: error: conditional \"COND_DECODER_ARMTHUMB\" was never defined.
++Usually this means the macro was only invoked conditionally." >&5
++$as_echo "$as_me: error: conditional \"COND_DECODER_ARMTHUMB\" was never defined.
++Usually this means the macro was only invoked conditionally." >&2;}
++   { (exit 1); exit 1; }; }
++fi
++if test -z "${COND_FILTER_SPARC_TRUE}" && test -z "${COND_FILTER_SPARC_FALSE}"; then
++  { { $as_echo "$as_me:$LINENO: error: conditional \"COND_FILTER_SPARC\" was never defined.
++Usually this means the macro was only invoked conditionally." >&5
++$as_echo "$as_me: error: conditional \"COND_FILTER_SPARC\" was never defined.
++Usually this means the macro was only invoked conditionally." >&2;}
++   { (exit 1); exit 1; }; }
++fi
++if test -z "${COND_ENCODER_SPARC_TRUE}" && test -z "${COND_ENCODER_SPARC_FALSE}"; then
++  { { $as_echo "$as_me:$LINENO: error: conditional \"COND_ENCODER_SPARC\" was never defined.
++Usually this means the macro was only invoked conditionally." >&5
++$as_echo "$as_me: error: conditional \"COND_ENCODER_SPARC\" was never defined.
++Usually this means the macro was only invoked conditionally." >&2;}
++   { (exit 1); exit 1; }; }
++fi
++if test -z "${COND_DECODER_SPARC_TRUE}" && test -z "${COND_DECODER_SPARC_FALSE}"; then
++  { { $as_echo "$as_me:$LINENO: error: conditional \"COND_DECODER_SPARC\" was never defined.
++Usually this means the macro was only invoked conditionally." >&5
++$as_echo "$as_me: error: conditional \"COND_DECODER_SPARC\" was never defined.
++Usually this means the macro was only invoked conditionally." >&2;}
++   { (exit 1); exit 1; }; }
++fi
++if test -z "${COND_FILTER_SIMPLE_TRUE}" && test -z "${COND_FILTER_SIMPLE_FALSE}"; then
++  { { $as_echo "$as_me:$LINENO: error: conditional \"COND_FILTER_SIMPLE\" was never defined.
++Usually this means the macro was only invoked conditionally." >&5
++$as_echo "$as_me: error: conditional \"COND_FILTER_SIMPLE\" was never defined.
++Usually this means the macro was only invoked conditionally." >&2;}
++   { (exit 1); exit 1; }; }
++fi
++if test -z "${COND_ENCODER_SIMPLE_TRUE}" && test -z "${COND_ENCODER_SIMPLE_FALSE}"; then
++  { { $as_echo "$as_me:$LINENO: error: conditional \"COND_ENCODER_SIMPLE\" was never defined.
++Usually this means the macro was only invoked conditionally." >&5
++$as_echo "$as_me: error: conditional \"COND_ENCODER_SIMPLE\" was never defined.
++Usually this means the macro was only invoked conditionally." >&2;}
++   { (exit 1); exit 1; }; }
++fi
++if test -z "${COND_DECODER_SIMPLE_TRUE}" && test -z "${COND_DECODER_SIMPLE_FALSE}"; then
++  { { $as_echo "$as_me:$LINENO: error: conditional \"COND_DECODER_SIMPLE\" was never defined.
++Usually this means the macro was only invoked conditionally." >&5
++$as_echo "$as_me: error: conditional \"COND_DECODER_SIMPLE\" was never defined.
++Usually this means the macro was only invoked conditionally." >&2;}
++   { (exit 1); exit 1; }; }
++fi
++if test -z "${COND_FILTER_LZ_TRUE}" && test -z "${COND_FILTER_LZ_FALSE}"; then
++  { { $as_echo "$as_me:$LINENO: error: conditional \"COND_FILTER_LZ\" was never defined.
++Usually this means the macro was only invoked conditionally." >&5
++$as_echo "$as_me: error: conditional \"COND_FILTER_LZ\" was never defined.
++Usually this means the macro was only invoked conditionally." >&2;}
++   { (exit 1); exit 1; }; }
++fi
++if test -z "${COND_ENCODER_LZ_TRUE}" && test -z "${COND_ENCODER_LZ_FALSE}"; then
++  { { $as_echo "$as_me:$LINENO: error: conditional \"COND_ENCODER_LZ\" was never defined.
++Usually this means the macro was only invoked conditionally." >&5
++$as_echo "$as_me: error: conditional \"COND_ENCODER_LZ\" was never defined.
++Usually this means the macro was only invoked conditionally." >&2;}
++   { (exit 1); exit 1; }; }
++fi
++if test -z "${COND_DECODER_LZ_TRUE}" && test -z "${COND_DECODER_LZ_FALSE}"; then
++  { { $as_echo "$as_me:$LINENO: error: conditional \"COND_DECODER_LZ\" was never defined.
++Usually this means the macro was only invoked conditionally." >&5
++$as_echo "$as_me: error: conditional \"COND_DECODER_LZ\" was never defined.
++Usually this means the macro was only invoked conditionally." >&2;}
++   { (exit 1); exit 1; }; }
++fi
++if test -z "${COND_CHECK_CRC32_TRUE}" && test -z "${COND_CHECK_CRC32_FALSE}"; then
++  { { $as_echo "$as_me:$LINENO: error: conditional \"COND_CHECK_CRC32\" was never defined.
++Usually this means the macro was only invoked conditionally." >&5
++$as_echo "$as_me: error: conditional \"COND_CHECK_CRC32\" was never defined.
++Usually this means the macro was only invoked conditionally." >&2;}
++   { (exit 1); exit 1; }; }
++fi
++if test -z "${COND_CHECK_CRC64_TRUE}" && test -z "${COND_CHECK_CRC64_FALSE}"; then
++  { { $as_echo "$as_me:$LINENO: error: conditional \"COND_CHECK_CRC64\" was never defined.
++Usually this means the macro was only invoked conditionally." >&5
++$as_echo "$as_me: error: conditional \"COND_CHECK_CRC64\" was never defined.
++Usually this means the macro was only invoked conditionally." >&2;}
++   { (exit 1); exit 1; }; }
++fi
++if test -z "${COND_CHECK_SHA256_TRUE}" && test -z "${COND_CHECK_SHA256_FALSE}"; then
++  { { $as_echo "$as_me:$LINENO: error: conditional \"COND_CHECK_SHA256\" was never defined.
++Usually this means the macro was only invoked conditionally." >&5
++$as_echo "$as_me: error: conditional \"COND_CHECK_SHA256\" was never defined.
++Usually this means the macro was only invoked conditionally." >&2;}
++   { (exit 1); exit 1; }; }
++fi
++if test -z "${COND_ASM_X86_TRUE}" && test -z "${COND_ASM_X86_FALSE}"; then
++  { { $as_echo "$as_me:$LINENO: error: conditional \"COND_ASM_X86\" was never defined.
++Usually this means the macro was only invoked conditionally." >&5
++$as_echo "$as_me: error: conditional \"COND_ASM_X86\" was never defined.
++Usually this means the macro was only invoked conditionally." >&2;}
++   { (exit 1); exit 1; }; }
++fi
++if test -z "${COND_ASM_X86_64_TRUE}" && test -z "${COND_ASM_X86_64_FALSE}"; then
++  { { $as_echo "$as_me:$LINENO: error: conditional \"COND_ASM_X86_64\" was never defined.
++Usually this means the macro was only invoked conditionally." >&5
++$as_echo "$as_me: error: conditional \"COND_ASM_X86_64\" was never defined.
++Usually this means the macro was only invoked conditionally." >&2;}
++   { (exit 1); exit 1; }; }
++fi
++if test -z "${COND_SMALL_TRUE}" && test -z "${COND_SMALL_FALSE}"; then
++  { { $as_echo "$as_me:$LINENO: error: conditional \"COND_SMALL\" was never defined.
++Usually this means the macro was only invoked conditionally." >&5
++$as_echo "$as_me: error: conditional \"COND_SMALL\" was never defined.
++Usually this means the macro was only invoked conditionally." >&2;}
++   { (exit 1); exit 1; }; }
++fi
++ if test -n "$EXEEXT"; then
++  am__EXEEXT_TRUE=
++  am__EXEEXT_FALSE='#'
++else
++  am__EXEEXT_TRUE='#'
++  am__EXEEXT_FALSE=
++fi
++
++if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then
++  { { $as_echo "$as_me:$LINENO: error: conditional \"AMDEP\" was never defined.
++Usually this means the macro was only invoked conditionally." >&5
++$as_echo "$as_me: error: conditional \"AMDEP\" was never defined.
++Usually this means the macro was only invoked conditionally." >&2;}
++   { (exit 1); exit 1; }; }
++fi
++if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then
++  { { $as_echo "$as_me:$LINENO: error: conditional \"am__fastdepCC\" was never defined.
++Usually this means the macro was only invoked conditionally." >&5
++$as_echo "$as_me: error: conditional \"am__fastdepCC\" was never defined.
++Usually this means the macro was only invoked conditionally." >&2;}
++   { (exit 1); exit 1; }; }
++fi
++if test -z "${am__fastdepCCAS_TRUE}" && test -z "${am__fastdepCCAS_FALSE}"; then
++  { { $as_echo "$as_me:$LINENO: error: conditional \"am__fastdepCCAS\" was never defined.
++Usually this means the macro was only invoked conditionally." >&5
++$as_echo "$as_me: error: conditional \"am__fastdepCCAS\" was never defined.
++Usually this means the macro was only invoked conditionally." >&2;}
++   { (exit 1); exit 1; }; }
++fi
++if test -z "${COND_SHARED_TRUE}" && test -z "${COND_SHARED_FALSE}"; then
++  { { $as_echo "$as_me:$LINENO: error: conditional \"COND_SHARED\" was never defined.
++Usually this means the macro was only invoked conditionally." >&5
++$as_echo "$as_me: error: conditional \"COND_SHARED\" was never defined.
++Usually this means the macro was only invoked conditionally." >&2;}
++   { (exit 1); exit 1; }; }
++fi
++
++if test -z "${COND_GNULIB_TRUE}" && test -z "${COND_GNULIB_FALSE}"; then
++  { { $as_echo "$as_me:$LINENO: error: conditional \"COND_GNULIB\" was never defined.
++Usually this means the macro was only invoked conditionally." >&5
++$as_echo "$as_me: error: conditional \"COND_GNULIB\" was never defined.
++Usually this means the macro was only invoked conditionally." >&2;}
++   { (exit 1); exit 1; }; }
++fi
++
++: ${CONFIG_STATUS=./config.status}
++ac_write_fail=0
++ac_clean_files_save=$ac_clean_files
++ac_clean_files="$ac_clean_files $CONFIG_STATUS"
++{ $as_echo "$as_me:$LINENO: creating $CONFIG_STATUS" >&5
++$as_echo "$as_me: creating $CONFIG_STATUS" >&6;}
++cat >$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
++#! $SHELL
++# Generated by $as_me.
++# Run this file to recreate the current configuration.
++# Compiler output produced by configure, useful for debugging
++# configure, is in config.log if it exists.
++
++debug=false
++ac_cs_recheck=false
++ac_cs_silent=false
++SHELL=\${CONFIG_SHELL-$SHELL}
++_ACEOF
++
++cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
++## --------------------- ##
++## M4sh Initialization.  ##
++## --------------------- ##
++
++# Be more Bourne compatible
++DUALCASE=1; export DUALCASE # for MKS sh
++if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
++  emulate sh
++  NULLCMD=:
++  # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
++  # is contrary to our usage.  Disable this feature.
++  alias -g '${1+"$@"}'='"$@"'
++  setopt NO_GLOB_SUBST
++else
++  case `(set -o) 2>/dev/null` in
++  *posix*) set -o posix ;;
++esac
++
++fi
++
++
++
++
++# PATH needs CR
++# Avoid depending upon Character Ranges.
++as_cr_letters='abcdefghijklmnopqrstuvwxyz'
++as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
++as_cr_Letters=$as_cr_letters$as_cr_LETTERS
++as_cr_digits='0123456789'
++as_cr_alnum=$as_cr_Letters$as_cr_digits
++
++as_nl='
++'
++export as_nl
++# Printing a long string crashes Solaris 7 /usr/bin/printf.
++as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
++as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
++as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
++if (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
++  as_echo='printf %s\n'
++  as_echo_n='printf %s'
++else
++  if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
++    as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
++    as_echo_n='/usr/ucb/echo -n'
++  else
++    as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
++    as_echo_n_body='eval
++      arg=$1;
++      case $arg in
++      *"$as_nl"*)
++	expr "X$arg" : "X\\(.*\\)$as_nl";
++	arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
++      esac;
++      expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
++    '
++    export as_echo_n_body
++    as_echo_n='sh -c $as_echo_n_body as_echo'
++  fi
++  export as_echo_body
++  as_echo='sh -c $as_echo_body as_echo'
++fi
++
++# The user is always right.
++if test "${PATH_SEPARATOR+set}" != set; then
++  PATH_SEPARATOR=:
++  (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
++    (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
++      PATH_SEPARATOR=';'
++  }
++fi
++
++# Support unset when possible.
++if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
++  as_unset=unset
++else
++  as_unset=false
++fi
++
++
++# IFS
++# We need space, tab and new line, in precisely that order.  Quoting is
++# there to prevent editors from complaining about space-tab.
++# (If _AS_PATH_WALK were called with IFS unset, it would disable word
++# splitting by setting IFS to empty value.)
++IFS=" ""	$as_nl"
++
++# Find who we are.  Look in the path if we contain no directory separator.
++case $0 in
++  *[\\/]* ) as_myself=$0 ;;
++  *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++  IFS=$as_save_IFS
++  test -z "$as_dir" && as_dir=.
++  test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
++done
++IFS=$as_save_IFS
++
++     ;;
++esac
++# We did not find ourselves, most probably we were run as `sh COMMAND'
++# in which case we are not to be found in the path.
++if test "x$as_myself" = x; then
++  as_myself=$0
++fi
++if test ! -f "$as_myself"; then
++  $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
++  { (exit 1); exit 1; }
++fi
++
++# Work around bugs in pre-3.0 UWIN ksh.
++for as_var in ENV MAIL MAILPATH
++do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
++done
++PS1='$ '
++PS2='> '
++PS4='+ '
++
++# NLS nuisances.
++LC_ALL=C
++export LC_ALL
++LANGUAGE=C
++export LANGUAGE
++
++# Required to use basename.
++if expr a : '\(a\)' >/dev/null 2>&1 &&
++   test "X`expr 00001 : '.*\(...\)'`" = X001; then
++  as_expr=expr
++else
++  as_expr=false
++fi
++
++if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
++  as_basename=basename
++else
++  as_basename=false
++fi
++
++
++# Name of the executable.
++as_me=`$as_basename -- "$0" ||
++$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
++	 X"$0" : 'X\(//\)$' \| \
++	 X"$0" : 'X\(/\)' \| . 2>/dev/null ||
++$as_echo X/"$0" |
++    sed '/^.*\/\([^/][^/]*\)\/*$/{
++	    s//\1/
++	    q
++	  }
++	  /^X\/\(\/\/\)$/{
++	    s//\1/
++	    q
++	  }
++	  /^X\/\(\/\).*/{
++	    s//\1/
++	    q
++	  }
++	  s/.*/./; q'`
++
++# CDPATH.
++$as_unset CDPATH
++
++
++
++  as_lineno_1=$LINENO
++  as_lineno_2=$LINENO
++  test "x$as_lineno_1" != "x$as_lineno_2" &&
++  test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || {
++
++  # Create $as_me.lineno as a copy of $as_myself, but with $LINENO
++  # uniformly replaced by the line number.  The first 'sed' inserts a
++  # line-number line after each line using $LINENO; the second 'sed'
++  # does the real work.  The second script uses 'N' to pair each
++  # line-number line with the line containing $LINENO, and appends
++  # trailing '-' during substitution so that $LINENO is not a special
++  # case at line end.
++  # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the
++  # scripts with optimization help from Paolo Bonzini.  Blame Lee
++  # E. McMahon (1931-1989) for sed's syntax.  :-)
++  sed -n '
++    p
++    /[$]LINENO/=
++  ' <$as_myself |
++    sed '
++      s/[$]LINENO.*/&-/
++      t lineno
++      b
++      :lineno
++      N
++      :loop
++      s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
++      t loop
++      s/-\n.*//
++    ' >$as_me.lineno &&
++  chmod +x "$as_me.lineno" ||
++    { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2
++   { (exit 1); exit 1; }; }
++
++  # Don't try to exec as it changes $[0], causing all sort of problems
++  # (the dirname of $[0] is not the place where we might find the
++  # original and so on.  Autoconf is especially sensitive to this).
++  . "./$as_me.lineno"
++  # Exit status is that of the last command.
++  exit
++}
++
++
++if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
++  as_dirname=dirname
++else
++  as_dirname=false
++fi
++
++ECHO_C= ECHO_N= ECHO_T=
++case `echo -n x` in
++-n*)
++  case `echo 'x\c'` in
++  *c*) ECHO_T='	';;	# ECHO_T is single tab character.
++  *)   ECHO_C='\c';;
++  esac;;
++*)
++  ECHO_N='-n';;
++esac
++if expr a : '\(a\)' >/dev/null 2>&1 &&
++   test "X`expr 00001 : '.*\(...\)'`" = X001; then
++  as_expr=expr
++else
++  as_expr=false
++fi
++
++rm -f conf$$ conf$$.exe conf$$.file
++if test -d conf$$.dir; then
++  rm -f conf$$.dir/conf$$.file
++else
++  rm -f conf$$.dir
++  mkdir conf$$.dir 2>/dev/null
++fi
++if (echo >conf$$.file) 2>/dev/null; then
++  if ln -s conf$$.file conf$$ 2>/dev/null; then
++    as_ln_s='ln -s'
++    # ... but there are two gotchas:
++    # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
++    # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
++    # In both cases, we have to default to `cp -p'.
++    ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
++      as_ln_s='cp -p'
++  elif ln conf$$.file conf$$ 2>/dev/null; then
++    as_ln_s=ln
++  else
++    as_ln_s='cp -p'
++  fi
++else
++  as_ln_s='cp -p'
++fi
++rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
++rmdir conf$$.dir 2>/dev/null
++
++if mkdir -p . 2>/dev/null; then
++  as_mkdir_p=:
++else
++  test -d ./-p && rmdir ./-p
++  as_mkdir_p=false
++fi
++
++if test -x / >/dev/null 2>&1; then
++  as_test_x='test -x'
++else
++  if ls -dL / >/dev/null 2>&1; then
++    as_ls_L_option=L
++  else
++    as_ls_L_option=
++  fi
++  as_test_x='
++    eval sh -c '\''
++      if test -d "$1"; then
++	test -d "$1/.";
++      else
++	case $1 in
++	-*)set "./$1";;
++	esac;
++	case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in
++	???[sx]*):;;*)false;;esac;fi
++    '\'' sh
++  '
++fi
++as_executable_p=$as_test_x
++
++# Sed expression to map a string onto a valid CPP name.
++as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
++
++# Sed expression to map a string onto a valid variable name.
++as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
++
++
++exec 6>&1
++
++# Save the log message, to keep $[0] and so on meaningful, and to
++# report actual input values of CONFIG_FILES etc. instead of their
++# values after options handling.
++ac_log="
++This file was extended by XZ Utils $as_me 4.999.9beta, which was
++generated by GNU Autoconf 2.63.  Invocation command line was
++
++  CONFIG_FILES    = $CONFIG_FILES
++  CONFIG_HEADERS  = $CONFIG_HEADERS
++  CONFIG_LINKS    = $CONFIG_LINKS
++  CONFIG_COMMANDS = $CONFIG_COMMANDS
++  $ $0 $@
++
++on `(hostname || uname -n) 2>/dev/null | sed 1q`
++"
++
++_ACEOF
++
++case $ac_config_files in *"
++"*) set x $ac_config_files; shift; ac_config_files=$*;;
++esac
++
++case $ac_config_headers in *"
++"*) set x $ac_config_headers; shift; ac_config_headers=$*;;
++esac
++
++
++cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
++# Files that config.status was made for.
++config_files="$ac_config_files"
++config_headers="$ac_config_headers"
++config_commands="$ac_config_commands"
++
++_ACEOF
++
++cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
++ac_cs_usage="\
++\`$as_me' instantiates files from templates according to the
++current configuration.
++
++Usage: $0 [OPTION]... [FILE]...
++
++  -h, --help       print this help, then exit
++  -V, --version    print version number and configuration settings, then exit
++  -q, --quiet, --silent
++                   do not print progress messages
++  -d, --debug      don't remove temporary files
++      --recheck    update $as_me by reconfiguring in the same conditions
++      --file=FILE[:TEMPLATE]
++                   instantiate the configuration file FILE
++      --header=FILE[:TEMPLATE]
++                   instantiate the configuration header FILE
++
++Configuration files:
++$config_files
++
++Configuration headers:
++$config_headers
++
++Configuration commands:
++$config_commands
++
++Report bugs to <bug-autoconf@gnu.org>."
++
++_ACEOF
++cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
++ac_cs_version="\\
++XZ Utils config.status 4.999.9beta
++configured by $0, generated by GNU Autoconf 2.63,
++  with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
++
++Copyright (C) 2008 Free Software Foundation, Inc.
++This config.status script is free software; the Free Software Foundation
++gives unlimited permission to copy, distribute and modify it."
++
++ac_pwd='$ac_pwd'
++srcdir='$srcdir'
++INSTALL='$INSTALL'
++MKDIR_P='$MKDIR_P'
++AWK='$AWK'
++test -n "\$AWK" || AWK=awk
++_ACEOF
++
++cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
++# The default lists apply if the user does not specify any file.
++ac_need_defaults=:
++while test $# != 0
++do
++  case $1 in
++  --*=*)
++    ac_option=`expr "X$1" : 'X\([^=]*\)='`
++    ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'`
++    ac_shift=:
++    ;;
++  *)
++    ac_option=$1
++    ac_optarg=$2
++    ac_shift=shift
++    ;;
++  esac
++
++  case $ac_option in
++  # Handling of the options.
++  -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
++    ac_cs_recheck=: ;;
++  --version | --versio | --versi | --vers | --ver | --ve | --v | -V )
++    $as_echo "$ac_cs_version"; exit ;;
++  --debug | --debu | --deb | --de | --d | -d )
++    debug=: ;;
++  --file | --fil | --fi | --f )
++    $ac_shift
++    case $ac_optarg in
++    *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
++    esac
++    CONFIG_FILES="$CONFIG_FILES '$ac_optarg'"
++    ac_need_defaults=false;;
++  --header | --heade | --head | --hea )
++    $ac_shift
++    case $ac_optarg in
++    *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
++    esac
++    CONFIG_HEADERS="$CONFIG_HEADERS '$ac_optarg'"
++    ac_need_defaults=false;;
++  --he | --h)
++    # Conflict between --help and --header
++    { $as_echo "$as_me: error: ambiguous option: $1
++Try \`$0 --help' for more information." >&2
++   { (exit 1); exit 1; }; };;
++  --help | --hel | -h )
++    $as_echo "$ac_cs_usage"; exit ;;
++  -q | -quiet | --quiet | --quie | --qui | --qu | --q \
++  | -silent | --silent | --silen | --sile | --sil | --si | --s)
++    ac_cs_silent=: ;;
++
++  # This is an error.
++  -*) { $as_echo "$as_me: error: unrecognized option: $1
++Try \`$0 --help' for more information." >&2
++   { (exit 1); exit 1; }; } ;;
++
++  *) ac_config_targets="$ac_config_targets $1"
++     ac_need_defaults=false ;;
++
++  esac
++  shift
++done
++
++ac_configure_extra_args=
++
++if $ac_cs_silent; then
++  exec 6>/dev/null
++  ac_configure_extra_args="$ac_configure_extra_args --silent"
++fi
++
++_ACEOF
++cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
++if \$ac_cs_recheck; then
++  set X '$SHELL' '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
++  shift
++  \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6
++  CONFIG_SHELL='$SHELL'
++  export CONFIG_SHELL
++  exec "\$@"
++fi
++
++_ACEOF
++cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
++exec 5>>config.log
++{
++  echo
++  sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
++## Running $as_me. ##
++_ASBOX
++  $as_echo "$ac_log"
++} >&5
++
++_ACEOF
++cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
++#
++# INIT-COMMANDS
++#
++AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"
++
++
++# The HP-UX ksh and POSIX shell print the target directory to stdout
++# if CDPATH is set.
++(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
++
++sed_quote_subst='$sed_quote_subst'
++double_quote_subst='$double_quote_subst'
++delay_variable_subst='$delay_variable_subst'
++macro_version='`$ECHO "X$macro_version" | $Xsed -e "$delay_single_quote_subst"`'
++macro_revision='`$ECHO "X$macro_revision" | $Xsed -e "$delay_single_quote_subst"`'
++AS='`$ECHO "X$AS" | $Xsed -e "$delay_single_quote_subst"`'
++DLLTOOL='`$ECHO "X$DLLTOOL" | $Xsed -e "$delay_single_quote_subst"`'
++OBJDUMP='`$ECHO "X$OBJDUMP" | $Xsed -e "$delay_single_quote_subst"`'
++enable_shared='`$ECHO "X$enable_shared" | $Xsed -e "$delay_single_quote_subst"`'
++enable_static='`$ECHO "X$enable_static" | $Xsed -e "$delay_single_quote_subst"`'
++pic_mode='`$ECHO "X$pic_mode" | $Xsed -e "$delay_single_quote_subst"`'
++enable_fast_install='`$ECHO "X$enable_fast_install" | $Xsed -e "$delay_single_quote_subst"`'
++host_alias='`$ECHO "X$host_alias" | $Xsed -e "$delay_single_quote_subst"`'
++host='`$ECHO "X$host" | $Xsed -e "$delay_single_quote_subst"`'
++host_os='`$ECHO "X$host_os" | $Xsed -e "$delay_single_quote_subst"`'
++build_alias='`$ECHO "X$build_alias" | $Xsed -e "$delay_single_quote_subst"`'
++build='`$ECHO "X$build" | $Xsed -e "$delay_single_quote_subst"`'
++build_os='`$ECHO "X$build_os" | $Xsed -e "$delay_single_quote_subst"`'
++SED='`$ECHO "X$SED" | $Xsed -e "$delay_single_quote_subst"`'
++Xsed='`$ECHO "X$Xsed" | $Xsed -e "$delay_single_quote_subst"`'
++GREP='`$ECHO "X$GREP" | $Xsed -e "$delay_single_quote_subst"`'
++EGREP='`$ECHO "X$EGREP" | $Xsed -e "$delay_single_quote_subst"`'
++FGREP='`$ECHO "X$FGREP" | $Xsed -e "$delay_single_quote_subst"`'
++LD='`$ECHO "X$LD" | $Xsed -e "$delay_single_quote_subst"`'
++NM='`$ECHO "X$NM" | $Xsed -e "$delay_single_quote_subst"`'
++LN_S='`$ECHO "X$LN_S" | $Xsed -e "$delay_single_quote_subst"`'
++max_cmd_len='`$ECHO "X$max_cmd_len" | $Xsed -e "$delay_single_quote_subst"`'
++ac_objext='`$ECHO "X$ac_objext" | $Xsed -e "$delay_single_quote_subst"`'
++exeext='`$ECHO "X$exeext" | $Xsed -e "$delay_single_quote_subst"`'
++lt_unset='`$ECHO "X$lt_unset" | $Xsed -e "$delay_single_quote_subst"`'
++lt_SP2NL='`$ECHO "X$lt_SP2NL" | $Xsed -e "$delay_single_quote_subst"`'
++lt_NL2SP='`$ECHO "X$lt_NL2SP" | $Xsed -e "$delay_single_quote_subst"`'
++reload_flag='`$ECHO "X$reload_flag" | $Xsed -e "$delay_single_quote_subst"`'
++reload_cmds='`$ECHO "X$reload_cmds" | $Xsed -e "$delay_single_quote_subst"`'
++deplibs_check_method='`$ECHO "X$deplibs_check_method" | $Xsed -e "$delay_single_quote_subst"`'
++file_magic_cmd='`$ECHO "X$file_magic_cmd" | $Xsed -e "$delay_single_quote_subst"`'
++AR='`$ECHO "X$AR" | $Xsed -e "$delay_single_quote_subst"`'
++AR_FLAGS='`$ECHO "X$AR_FLAGS" | $Xsed -e "$delay_single_quote_subst"`'
++STRIP='`$ECHO "X$STRIP" | $Xsed -e "$delay_single_quote_subst"`'
++RANLIB='`$ECHO "X$RANLIB" | $Xsed -e "$delay_single_quote_subst"`'
++old_postinstall_cmds='`$ECHO "X$old_postinstall_cmds" | $Xsed -e "$delay_single_quote_subst"`'
++old_postuninstall_cmds='`$ECHO "X$old_postuninstall_cmds" | $Xsed -e "$delay_single_quote_subst"`'
++old_archive_cmds='`$ECHO "X$old_archive_cmds" | $Xsed -e "$delay_single_quote_subst"`'
++CC='`$ECHO "X$CC" | $Xsed -e "$delay_single_quote_subst"`'
++CFLAGS='`$ECHO "X$CFLAGS" | $Xsed -e "$delay_single_quote_subst"`'
++compiler='`$ECHO "X$compiler" | $Xsed -e "$delay_single_quote_subst"`'
++GCC='`$ECHO "X$GCC" | $Xsed -e "$delay_single_quote_subst"`'
++lt_cv_sys_global_symbol_pipe='`$ECHO "X$lt_cv_sys_global_symbol_pipe" | $Xsed -e "$delay_single_quote_subst"`'
++lt_cv_sys_global_symbol_to_cdecl='`$ECHO "X$lt_cv_sys_global_symbol_to_cdecl" | $Xsed -e "$delay_single_quote_subst"`'
++lt_cv_sys_global_symbol_to_c_name_address='`$ECHO "X$lt_cv_sys_global_symbol_to_c_name_address" | $Xsed -e "$delay_single_quote_subst"`'
++lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='`$ECHO "X$lt_cv_sys_global_symbol_to_c_name_address_lib_prefix" | $Xsed -e "$delay_single_quote_subst"`'
++objdir='`$ECHO "X$objdir" | $Xsed -e "$delay_single_quote_subst"`'
++SHELL='`$ECHO "X$SHELL" | $Xsed -e "$delay_single_quote_subst"`'
++ECHO='`$ECHO "X$ECHO" | $Xsed -e "$delay_single_quote_subst"`'
++MAGIC_CMD='`$ECHO "X$MAGIC_CMD" | $Xsed -e "$delay_single_quote_subst"`'
++lt_prog_compiler_no_builtin_flag='`$ECHO "X$lt_prog_compiler_no_builtin_flag" | $Xsed -e "$delay_single_quote_subst"`'
++lt_prog_compiler_wl='`$ECHO "X$lt_prog_compiler_wl" | $Xsed -e "$delay_single_quote_subst"`'
++lt_prog_compiler_pic='`$ECHO "X$lt_prog_compiler_pic" | $Xsed -e "$delay_single_quote_subst"`'
++lt_prog_compiler_static='`$ECHO "X$lt_prog_compiler_static" | $Xsed -e "$delay_single_quote_subst"`'
++lt_cv_prog_compiler_c_o='`$ECHO "X$lt_cv_prog_compiler_c_o" | $Xsed -e "$delay_single_quote_subst"`'
++need_locks='`$ECHO "X$need_locks" | $Xsed -e "$delay_single_quote_subst"`'
++DSYMUTIL='`$ECHO "X$DSYMUTIL" | $Xsed -e "$delay_single_quote_subst"`'
++NMEDIT='`$ECHO "X$NMEDIT" | $Xsed -e "$delay_single_quote_subst"`'
++LIPO='`$ECHO "X$LIPO" | $Xsed -e "$delay_single_quote_subst"`'
++OTOOL='`$ECHO "X$OTOOL" | $Xsed -e "$delay_single_quote_subst"`'
++OTOOL64='`$ECHO "X$OTOOL64" | $Xsed -e "$delay_single_quote_subst"`'
++libext='`$ECHO "X$libext" | $Xsed -e "$delay_single_quote_subst"`'
++shrext_cmds='`$ECHO "X$shrext_cmds" | $Xsed -e "$delay_single_quote_subst"`'
++extract_expsyms_cmds='`$ECHO "X$extract_expsyms_cmds" | $Xsed -e "$delay_single_quote_subst"`'
++archive_cmds_need_lc='`$ECHO "X$archive_cmds_need_lc" | $Xsed -e "$delay_single_quote_subst"`'
++enable_shared_with_static_runtimes='`$ECHO "X$enable_shared_with_static_runtimes" | $Xsed -e "$delay_single_quote_subst"`'
++export_dynamic_flag_spec='`$ECHO "X$export_dynamic_flag_spec" | $Xsed -e "$delay_single_quote_subst"`'
++whole_archive_flag_spec='`$ECHO "X$whole_archive_flag_spec" | $Xsed -e "$delay_single_quote_subst"`'
++compiler_needs_object='`$ECHO "X$compiler_needs_object" | $Xsed -e "$delay_single_quote_subst"`'
++old_archive_from_new_cmds='`$ECHO "X$old_archive_from_new_cmds" | $Xsed -e "$delay_single_quote_subst"`'
++old_archive_from_expsyms_cmds='`$ECHO "X$old_archive_from_expsyms_cmds" | $Xsed -e "$delay_single_quote_subst"`'
++archive_cmds='`$ECHO "X$archive_cmds" | $Xsed -e "$delay_single_quote_subst"`'
++archive_expsym_cmds='`$ECHO "X$archive_expsym_cmds" | $Xsed -e "$delay_single_quote_subst"`'
++module_cmds='`$ECHO "X$module_cmds" | $Xsed -e "$delay_single_quote_subst"`'
++module_expsym_cmds='`$ECHO "X$module_expsym_cmds" | $Xsed -e "$delay_single_quote_subst"`'
++with_gnu_ld='`$ECHO "X$with_gnu_ld" | $Xsed -e "$delay_single_quote_subst"`'
++allow_undefined_flag='`$ECHO "X$allow_undefined_flag" | $Xsed -e "$delay_single_quote_subst"`'
++no_undefined_flag='`$ECHO "X$no_undefined_flag" | $Xsed -e "$delay_single_quote_subst"`'
++hardcode_libdir_flag_spec='`$ECHO "X$hardcode_libdir_flag_spec" | $Xsed -e "$delay_single_quote_subst"`'
++hardcode_libdir_flag_spec_ld='`$ECHO "X$hardcode_libdir_flag_spec_ld" | $Xsed -e "$delay_single_quote_subst"`'
++hardcode_libdir_separator='`$ECHO "X$hardcode_libdir_separator" | $Xsed -e "$delay_single_quote_subst"`'
++hardcode_direct='`$ECHO "X$hardcode_direct" | $Xsed -e "$delay_single_quote_subst"`'
++hardcode_direct_absolute='`$ECHO "X$hardcode_direct_absolute" | $Xsed -e "$delay_single_quote_subst"`'
++hardcode_minus_L='`$ECHO "X$hardcode_minus_L" | $Xsed -e "$delay_single_quote_subst"`'
++hardcode_shlibpath_var='`$ECHO "X$hardcode_shlibpath_var" | $Xsed -e "$delay_single_quote_subst"`'
++hardcode_automatic='`$ECHO "X$hardcode_automatic" | $Xsed -e "$delay_single_quote_subst"`'
++inherit_rpath='`$ECHO "X$inherit_rpath" | $Xsed -e "$delay_single_quote_subst"`'
++link_all_deplibs='`$ECHO "X$link_all_deplibs" | $Xsed -e "$delay_single_quote_subst"`'
++fix_srcfile_path='`$ECHO "X$fix_srcfile_path" | $Xsed -e "$delay_single_quote_subst"`'
++always_export_symbols='`$ECHO "X$always_export_symbols" | $Xsed -e "$delay_single_quote_subst"`'
++export_symbols_cmds='`$ECHO "X$export_symbols_cmds" | $Xsed -e "$delay_single_quote_subst"`'
++exclude_expsyms='`$ECHO "X$exclude_expsyms" | $Xsed -e "$delay_single_quote_subst"`'
++include_expsyms='`$ECHO "X$include_expsyms" | $Xsed -e "$delay_single_quote_subst"`'
++prelink_cmds='`$ECHO "X$prelink_cmds" | $Xsed -e "$delay_single_quote_subst"`'
++file_list_spec='`$ECHO "X$file_list_spec" | $Xsed -e "$delay_single_quote_subst"`'
++variables_saved_for_relink='`$ECHO "X$variables_saved_for_relink" | $Xsed -e "$delay_single_quote_subst"`'
++need_lib_prefix='`$ECHO "X$need_lib_prefix" | $Xsed -e "$delay_single_quote_subst"`'
++need_version='`$ECHO "X$need_version" | $Xsed -e "$delay_single_quote_subst"`'
++version_type='`$ECHO "X$version_type" | $Xsed -e "$delay_single_quote_subst"`'
++runpath_var='`$ECHO "X$runpath_var" | $Xsed -e "$delay_single_quote_subst"`'
++shlibpath_var='`$ECHO "X$shlibpath_var" | $Xsed -e "$delay_single_quote_subst"`'
++shlibpath_overrides_runpath='`$ECHO "X$shlibpath_overrides_runpath" | $Xsed -e "$delay_single_quote_subst"`'
++libname_spec='`$ECHO "X$libname_spec" | $Xsed -e "$delay_single_quote_subst"`'
++library_names_spec='`$ECHO "X$library_names_spec" | $Xsed -e "$delay_single_quote_subst"`'
++soname_spec='`$ECHO "X$soname_spec" | $Xsed -e "$delay_single_quote_subst"`'
++postinstall_cmds='`$ECHO "X$postinstall_cmds" | $Xsed -e "$delay_single_quote_subst"`'
++postuninstall_cmds='`$ECHO "X$postuninstall_cmds" | $Xsed -e "$delay_single_quote_subst"`'
++finish_cmds='`$ECHO "X$finish_cmds" | $Xsed -e "$delay_single_quote_subst"`'
++finish_eval='`$ECHO "X$finish_eval" | $Xsed -e "$delay_single_quote_subst"`'
++hardcode_into_libs='`$ECHO "X$hardcode_into_libs" | $Xsed -e "$delay_single_quote_subst"`'
++sys_lib_search_path_spec='`$ECHO "X$sys_lib_search_path_spec" | $Xsed -e "$delay_single_quote_subst"`'
++sys_lib_dlsearch_path_spec='`$ECHO "X$sys_lib_dlsearch_path_spec" | $Xsed -e "$delay_single_quote_subst"`'
++hardcode_action='`$ECHO "X$hardcode_action" | $Xsed -e "$delay_single_quote_subst"`'
++enable_dlopen='`$ECHO "X$enable_dlopen" | $Xsed -e "$delay_single_quote_subst"`'
++enable_dlopen_self='`$ECHO "X$enable_dlopen_self" | $Xsed -e "$delay_single_quote_subst"`'
++enable_dlopen_self_static='`$ECHO "X$enable_dlopen_self_static" | $Xsed -e "$delay_single_quote_subst"`'
++old_striplib='`$ECHO "X$old_striplib" | $Xsed -e "$delay_single_quote_subst"`'
++striplib='`$ECHO "X$striplib" | $Xsed -e "$delay_single_quote_subst"`'
++LD_RC='`$ECHO "X$LD_RC" | $Xsed -e "$delay_single_quote_subst"`'
++old_archive_cmds_RC='`$ECHO "X$old_archive_cmds_RC" | $Xsed -e "$delay_single_quote_subst"`'
++compiler_RC='`$ECHO "X$compiler_RC" | $Xsed -e "$delay_single_quote_subst"`'
++GCC_RC='`$ECHO "X$GCC_RC" | $Xsed -e "$delay_single_quote_subst"`'
++lt_prog_compiler_no_builtin_flag_RC='`$ECHO "X$lt_prog_compiler_no_builtin_flag_RC" | $Xsed -e "$delay_single_quote_subst"`'
++lt_prog_compiler_wl_RC='`$ECHO "X$lt_prog_compiler_wl_RC" | $Xsed -e "$delay_single_quote_subst"`'
++lt_prog_compiler_pic_RC='`$ECHO "X$lt_prog_compiler_pic_RC" | $Xsed -e "$delay_single_quote_subst"`'
++lt_prog_compiler_static_RC='`$ECHO "X$lt_prog_compiler_static_RC" | $Xsed -e "$delay_single_quote_subst"`'
++lt_cv_prog_compiler_c_o_RC='`$ECHO "X$lt_cv_prog_compiler_c_o_RC" | $Xsed -e "$delay_single_quote_subst"`'
++archive_cmds_need_lc_RC='`$ECHO "X$archive_cmds_need_lc_RC" | $Xsed -e "$delay_single_quote_subst"`'
++enable_shared_with_static_runtimes_RC='`$ECHO "X$enable_shared_with_static_runtimes_RC" | $Xsed -e "$delay_single_quote_subst"`'
++export_dynamic_flag_spec_RC='`$ECHO "X$export_dynamic_flag_spec_RC" | $Xsed -e "$delay_single_quote_subst"`'
++whole_archive_flag_spec_RC='`$ECHO "X$whole_archive_flag_spec_RC" | $Xsed -e "$delay_single_quote_subst"`'
++compiler_needs_object_RC='`$ECHO "X$compiler_needs_object_RC" | $Xsed -e "$delay_single_quote_subst"`'
++old_archive_from_new_cmds_RC='`$ECHO "X$old_archive_from_new_cmds_RC" | $Xsed -e "$delay_single_quote_subst"`'
++old_archive_from_expsyms_cmds_RC='`$ECHO "X$old_archive_from_expsyms_cmds_RC" | $Xsed -e "$delay_single_quote_subst"`'
++archive_cmds_RC='`$ECHO "X$archive_cmds_RC" | $Xsed -e "$delay_single_quote_subst"`'
++archive_expsym_cmds_RC='`$ECHO "X$archive_expsym_cmds_RC" | $Xsed -e "$delay_single_quote_subst"`'
++module_cmds_RC='`$ECHO "X$module_cmds_RC" | $Xsed -e "$delay_single_quote_subst"`'
++module_expsym_cmds_RC='`$ECHO "X$module_expsym_cmds_RC" | $Xsed -e "$delay_single_quote_subst"`'
++with_gnu_ld_RC='`$ECHO "X$with_gnu_ld_RC" | $Xsed -e "$delay_single_quote_subst"`'
++allow_undefined_flag_RC='`$ECHO "X$allow_undefined_flag_RC" | $Xsed -e "$delay_single_quote_subst"`'
++no_undefined_flag_RC='`$ECHO "X$no_undefined_flag_RC" | $Xsed -e "$delay_single_quote_subst"`'
++hardcode_libdir_flag_spec_RC='`$ECHO "X$hardcode_libdir_flag_spec_RC" | $Xsed -e "$delay_single_quote_subst"`'
++hardcode_libdir_flag_spec_ld_RC='`$ECHO "X$hardcode_libdir_flag_spec_ld_RC" | $Xsed -e "$delay_single_quote_subst"`'
++hardcode_libdir_separator_RC='`$ECHO "X$hardcode_libdir_separator_RC" | $Xsed -e "$delay_single_quote_subst"`'
++hardcode_direct_RC='`$ECHO "X$hardcode_direct_RC" | $Xsed -e "$delay_single_quote_subst"`'
++hardcode_direct_absolute_RC='`$ECHO "X$hardcode_direct_absolute_RC" | $Xsed -e "$delay_single_quote_subst"`'
++hardcode_minus_L_RC='`$ECHO "X$hardcode_minus_L_RC" | $Xsed -e "$delay_single_quote_subst"`'
++hardcode_shlibpath_var_RC='`$ECHO "X$hardcode_shlibpath_var_RC" | $Xsed -e "$delay_single_quote_subst"`'
++hardcode_automatic_RC='`$ECHO "X$hardcode_automatic_RC" | $Xsed -e "$delay_single_quote_subst"`'
++inherit_rpath_RC='`$ECHO "X$inherit_rpath_RC" | $Xsed -e "$delay_single_quote_subst"`'
++link_all_deplibs_RC='`$ECHO "X$link_all_deplibs_RC" | $Xsed -e "$delay_single_quote_subst"`'
++fix_srcfile_path_RC='`$ECHO "X$fix_srcfile_path_RC" | $Xsed -e "$delay_single_quote_subst"`'
++always_export_symbols_RC='`$ECHO "X$always_export_symbols_RC" | $Xsed -e "$delay_single_quote_subst"`'
++export_symbols_cmds_RC='`$ECHO "X$export_symbols_cmds_RC" | $Xsed -e "$delay_single_quote_subst"`'
++exclude_expsyms_RC='`$ECHO "X$exclude_expsyms_RC" | $Xsed -e "$delay_single_quote_subst"`'
++include_expsyms_RC='`$ECHO "X$include_expsyms_RC" | $Xsed -e "$delay_single_quote_subst"`'
++prelink_cmds_RC='`$ECHO "X$prelink_cmds_RC" | $Xsed -e "$delay_single_quote_subst"`'
++file_list_spec_RC='`$ECHO "X$file_list_spec_RC" | $Xsed -e "$delay_single_quote_subst"`'
++hardcode_action_RC='`$ECHO "X$hardcode_action_RC" | $Xsed -e "$delay_single_quote_subst"`'
++
++LTCC='$LTCC'
++LTCFLAGS='$LTCFLAGS'
++compiler='$compiler_DEFAULT'
++
++# Quote evaled strings.
++for var in SED \
++GREP \
++EGREP \
++FGREP \
++LD \
++NM \
++LN_S \
++lt_SP2NL \
++lt_NL2SP \
++reload_flag \
++deplibs_check_method \
++file_magic_cmd \
++AR \
++AR_FLAGS \
++STRIP \
++RANLIB \
++CC \
++CFLAGS \
++compiler \
++lt_cv_sys_global_symbol_pipe \
++lt_cv_sys_global_symbol_to_cdecl \
++lt_cv_sys_global_symbol_to_c_name_address \
++lt_cv_sys_global_symbol_to_c_name_address_lib_prefix \
++SHELL \
++ECHO \
++lt_prog_compiler_no_builtin_flag \
++lt_prog_compiler_wl \
++lt_prog_compiler_pic \
++lt_prog_compiler_static \
++lt_cv_prog_compiler_c_o \
++need_locks \
++DSYMUTIL \
++NMEDIT \
++LIPO \
++OTOOL \
++OTOOL64 \
++shrext_cmds \
++export_dynamic_flag_spec \
++whole_archive_flag_spec \
++compiler_needs_object \
++with_gnu_ld \
++allow_undefined_flag \
++no_undefined_flag \
++hardcode_libdir_flag_spec \
++hardcode_libdir_flag_spec_ld \
++hardcode_libdir_separator \
++fix_srcfile_path \
++exclude_expsyms \
++include_expsyms \
++file_list_spec \
++variables_saved_for_relink \
++libname_spec \
++library_names_spec \
++soname_spec \
++finish_eval \
++old_striplib \
++striplib \
++LD_RC \
++compiler_RC \
++lt_prog_compiler_no_builtin_flag_RC \
++lt_prog_compiler_wl_RC \
++lt_prog_compiler_pic_RC \
++lt_prog_compiler_static_RC \
++lt_cv_prog_compiler_c_o_RC \
++export_dynamic_flag_spec_RC \
++whole_archive_flag_spec_RC \
++compiler_needs_object_RC \
++with_gnu_ld_RC \
++allow_undefined_flag_RC \
++no_undefined_flag_RC \
++hardcode_libdir_flag_spec_RC \
++hardcode_libdir_flag_spec_ld_RC \
++hardcode_libdir_separator_RC \
++fix_srcfile_path_RC \
++exclude_expsyms_RC \
++include_expsyms_RC \
++file_list_spec_RC; do
++    case \`eval \\\\\$ECHO "X\\\\\$\$var"\` in
++    *[\\\\\\\`\\"\\\$]*)
++      eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"X\\\$\$var\\" | \\\$Xsed -e \\"\\\$sed_quote_subst\\"\\\`\\\\\\""
++      ;;
++    *)
++      eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
++      ;;
++    esac
++done
++
++# Double-quote double-evaled strings.
++for var in reload_cmds \
++old_postinstall_cmds \
++old_postuninstall_cmds \
++old_archive_cmds \
++extract_expsyms_cmds \
++old_archive_from_new_cmds \
++old_archive_from_expsyms_cmds \
++archive_cmds \
++archive_expsym_cmds \
++module_cmds \
++module_expsym_cmds \
++export_symbols_cmds \
++prelink_cmds \
++postinstall_cmds \
++postuninstall_cmds \
++finish_cmds \
++sys_lib_search_path_spec \
++sys_lib_dlsearch_path_spec \
++old_archive_cmds_RC \
++old_archive_from_new_cmds_RC \
++old_archive_from_expsyms_cmds_RC \
++archive_cmds_RC \
++archive_expsym_cmds_RC \
++module_cmds_RC \
++module_expsym_cmds_RC \
++export_symbols_cmds_RC \
++prelink_cmds_RC; do
++    case \`eval \\\\\$ECHO "X\\\\\$\$var"\` in
++    *[\\\\\\\`\\"\\\$]*)
++      eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"X\\\$\$var\\" | \\\$Xsed -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\""
++      ;;
++    *)
++      eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
++      ;;
++    esac
++done
++
++# Fix-up fallback echo if it was mangled by the above quoting rules.
++case \$lt_ECHO in
++*'\\\$0 --fallback-echo"')  lt_ECHO=\`\$ECHO "X\$lt_ECHO" | \$Xsed -e 's/\\\\\\\\\\\\\\\$0 --fallback-echo"\$/\$0 --fallback-echo"/'\`
++  ;;
++esac
++
++ac_aux_dir='$ac_aux_dir'
++xsi_shell='$xsi_shell'
++lt_shell_append='$lt_shell_append'
++
++# See if we are running on zsh, and set the options which allow our
++# commands through without removal of \ escapes INIT.
++if test -n "\${ZSH_VERSION+set}" ; then
++   setopt NO_GLOB_SUBST
++fi
++
++
++    PACKAGE='$PACKAGE'
++    VERSION='$VERSION'
++    TIMESTAMP='$TIMESTAMP'
++    RM='$RM'
++    ofile='$ofile'
++
++
++
++
++
++# Capture the value of obsolete ALL_LINGUAS because we need it to compute
++    # POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES, CATALOGS. But hide it
++    # from automake < 1.5.
++    eval 'OBSOLETE_ALL_LINGUAS''="$ALL_LINGUAS"'
++    # Capture the value of LINGUAS because we need it to compute CATALOGS.
++    LINGUAS="${LINGUAS-%UNSET%}"
++
++
++_ACEOF
++
++cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
++
++# Handling of arguments.
++for ac_config_target in $ac_config_targets
++do
++  case $ac_config_target in
++    "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;;
++    "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;;
++    "libtool") CONFIG_COMMANDS="$CONFIG_COMMANDS libtool" ;;
++    "po-directories") CONFIG_COMMANDS="$CONFIG_COMMANDS po-directories" ;;
++    "Doxyfile") CONFIG_FILES="$CONFIG_FILES Doxyfile" ;;
++    "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
++    "po/Makefile.in") CONFIG_FILES="$CONFIG_FILES po/Makefile.in" ;;
++    "lib/Makefile") CONFIG_FILES="$CONFIG_FILES lib/Makefile" ;;
++    "src/Makefile") CONFIG_FILES="$CONFIG_FILES src/Makefile" ;;
++    "src/liblzma/liblzma.pc") CONFIG_FILES="$CONFIG_FILES src/liblzma/liblzma.pc" ;;
++    "src/liblzma/Makefile") CONFIG_FILES="$CONFIG_FILES src/liblzma/Makefile" ;;
++    "src/liblzma/api/Makefile") CONFIG_FILES="$CONFIG_FILES src/liblzma/api/Makefile" ;;
++    "src/xz/Makefile") CONFIG_FILES="$CONFIG_FILES src/xz/Makefile" ;;
++    "src/xzdec/Makefile") CONFIG_FILES="$CONFIG_FILES src/xzdec/Makefile" ;;
++    "src/lzmainfo/Makefile") CONFIG_FILES="$CONFIG_FILES src/lzmainfo/Makefile" ;;
++    "src/scripts/Makefile") CONFIG_FILES="$CONFIG_FILES src/scripts/Makefile" ;;
++    "src/scripts/xzdiff") CONFIG_FILES="$CONFIG_FILES src/scripts/xzdiff" ;;
++    "src/scripts/xzgrep") CONFIG_FILES="$CONFIG_FILES src/scripts/xzgrep" ;;
++    "src/scripts/xzmore") CONFIG_FILES="$CONFIG_FILES src/scripts/xzmore" ;;
++    "src/scripts/xzless") CONFIG_FILES="$CONFIG_FILES src/scripts/xzless" ;;
++    "tests/Makefile") CONFIG_FILES="$CONFIG_FILES tests/Makefile" ;;
++    "debug/Makefile") CONFIG_FILES="$CONFIG_FILES debug/Makefile" ;;
++
++  *) { { $as_echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5
++$as_echo "$as_me: error: invalid argument: $ac_config_target" >&2;}
++   { (exit 1); exit 1; }; };;
++  esac
++done
++
++
++# If the user did not use the arguments to specify the items to instantiate,
++# then the envvar interface is used.  Set only those that are not.
++# We use the long form for the default assignment because of an extremely
++# bizarre bug on SunOS 4.1.3.
++if $ac_need_defaults; then
++  test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files
++  test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers
++  test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands
++fi
++
++# Have a temporary directory for convenience.  Make it in the build tree
++# simply because there is no reason against having it here, and in addition,
++# creating and moving files from /tmp can sometimes cause problems.
++# Hook for its removal unless debugging.
++# Note that there is a small window in which the directory will not be cleaned:
++# after its creation but before its name has been assigned to `$tmp'.
++$debug ||
++{
++  tmp=
++  trap 'exit_status=$?
++  { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status
++' 0
++  trap '{ (exit 1); exit 1; }' 1 2 13 15
++}
++# Create a (secure) tmp directory for tmp files.
++
++{
++  tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` &&
++  test -n "$tmp" && test -d "$tmp"
++}  ||
++{
++  tmp=./conf$$-$RANDOM
++  (umask 077 && mkdir "$tmp")
++} ||
++{
++   $as_echo "$as_me: cannot create a temporary directory in ." >&2
++   { (exit 1); exit 1; }
++}
++
++# Set up the scripts for CONFIG_FILES section.
++# No need to generate them if there are no CONFIG_FILES.
++# This happens for instance with `./config.status config.h'.
++if test -n "$CONFIG_FILES"; then
++
++
++ac_cr='
+'
++ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' </dev/null 2>/dev/null`
++if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then
++  ac_cs_awk_cr='\\r'
++else
++  ac_cs_awk_cr=$ac_cr
++fi
++
++echo 'BEGIN {' >"$tmp/subs1.awk" &&
++_ACEOF
++
++
++{
++  echo "cat >conf$$subs.awk <<_ACEOF" &&
++  echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' &&
++  echo "_ACEOF"
++} >conf$$subs.sh ||
++  { { $as_echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
++$as_echo "$as_me: error: could not make $CONFIG_STATUS" >&2;}
++   { (exit 1); exit 1; }; }
++ac_delim_num=`echo "$ac_subst_vars" | grep -c '$'`
++ac_delim='%!_!# '
++for ac_last_try in false false false false false :; do
++  . ./conf$$subs.sh ||
++    { { $as_echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
++$as_echo "$as_me: error: could not make $CONFIG_STATUS" >&2;}
++   { (exit 1); exit 1; }; }
++
++  ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X`
++  if test $ac_delim_n = $ac_delim_num; then
++    break
++  elif $ac_last_try; then
++    { { $as_echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
++$as_echo "$as_me: error: could not make $CONFIG_STATUS" >&2;}
++   { (exit 1); exit 1; }; }
++  else
++    ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
++  fi
++done
++rm -f conf$$subs.sh
++
++cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
++cat >>"\$tmp/subs1.awk" <<\\_ACAWK &&
++_ACEOF
++sed -n '
++h
++s/^/S["/; s/!.*/"]=/
++p
++g
++s/^[^!]*!//
++:repl
++t repl
++s/'"$ac_delim"'$//
++t delim
++:nl
++h
++s/\(.\{148\}\).*/\1/
++t more1
++s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/
++p
++n
++b repl
++:more1
++s/["\\]/\\&/g; s/^/"/; s/$/"\\/
++p
++g
++s/.\{148\}//
++t nl
++:delim
++h
++s/\(.\{148\}\).*/\1/
++t more2
++s/["\\]/\\&/g; s/^/"/; s/$/"/
++p
++b
++:more2
++s/["\\]/\\&/g; s/^/"/; s/$/"\\/
++p
++g
++s/.\{148\}//
++t delim
++' <conf$$subs.awk | sed '
++/^[^""]/{
++  N
++  s/\n//
++}
++' >>$CONFIG_STATUS || ac_write_fail=1
++rm -f conf$$subs.awk
++cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
++_ACAWK
++cat >>"\$tmp/subs1.awk" <<_ACAWK &&
++  for (key in S) S_is_set[key] = 1
++  FS = ""
++
++}
++{
++  line = $ 0
++  nfields = split(line, field, "@")
++  substed = 0
++  len = length(field[1])
++  for (i = 2; i < nfields; i++) {
++    key = field[i]
++    keylen = length(key)
++    if (S_is_set[key]) {
++      value = S[key]
++      line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3)
++      len += length(value) + length(field[++i])
++      substed = 1
++    } else
++      len += 1 + keylen
++  }
++
++  print line
++}
++
++_ACAWK
++_ACEOF
++cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
++if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then
++  sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g"
++else
++  cat
++fi < "$tmp/subs1.awk" > "$tmp/subs.awk" \
++  || { { $as_echo "$as_me:$LINENO: error: could not setup config files machinery" >&5
++$as_echo "$as_me: error: could not setup config files machinery" >&2;}
++   { (exit 1); exit 1; }; }
++_ACEOF
++
++# VPATH may cause trouble with some makes, so we remove $(srcdir),
++# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and
++# trailing colons and then remove the whole line if VPATH becomes empty
++# (actually we leave an empty line to preserve line numbers).
++if test "x$srcdir" = x.; then
++  ac_vpsub='/^[	 ]*VPATH[	 ]*=/{
++s/:*\$(srcdir):*/:/
++s/:*\${srcdir}:*/:/
++s/:*@srcdir@:*/:/
++s/^\([^=]*=[	 ]*\):*/\1/
++s/:*$//
++s/^[^=]*=[	 ]*$//
++}'
++fi
++
++cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
++fi # test -n "$CONFIG_FILES"
++
++# Set up the scripts for CONFIG_HEADERS section.
++# No need to generate them if there are no CONFIG_HEADERS.
++# This happens for instance with `./config.status Makefile'.
++if test -n "$CONFIG_HEADERS"; then
++cat >"$tmp/defines.awk" <<\_ACAWK ||
++BEGIN {
++_ACEOF
++
++# Transform confdefs.h into an awk script `defines.awk', embedded as
++# here-document in config.status, that substitutes the proper values into
++# config.h.in to produce config.h.
++
++# Create a delimiter string that does not exist in confdefs.h, to ease
++# handling of long lines.
++ac_delim='%!_!# '
++for ac_last_try in false false :; do
++  ac_t=`sed -n "/$ac_delim/p" confdefs.h`
++  if test -z "$ac_t"; then
++    break
++  elif $ac_last_try; then
++    { { $as_echo "$as_me:$LINENO: error: could not make $CONFIG_HEADERS" >&5
++$as_echo "$as_me: error: could not make $CONFIG_HEADERS" >&2;}
++   { (exit 1); exit 1; }; }
++  else
++    ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
++  fi
++done
++
++# For the awk script, D is an array of macro values keyed by name,
++# likewise P contains macro parameters if any.  Preserve backslash
++# newline sequences.
++
++ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]*
++sed -n '
++s/.\{148\}/&'"$ac_delim"'/g
++t rset
++:rset
++s/^[	 ]*#[	 ]*define[	 ][	 ]*/ /
++t def
++d
++:def
++s/\\$//
++t bsnl
++s/["\\]/\\&/g
++s/^ \('"$ac_word_re"'\)\(([^()]*)\)[	 ]*\(.*\)/P["\1"]="\2"\
++D["\1"]=" \3"/p
++s/^ \('"$ac_word_re"'\)[	 ]*\(.*\)/D["\1"]=" \2"/p
++d
++:bsnl
++s/["\\]/\\&/g
++s/^ \('"$ac_word_re"'\)\(([^()]*)\)[	 ]*\(.*\)/P["\1"]="\2"\
++D["\1"]=" \3\\\\\\n"\\/p
++t cont
++s/^ \('"$ac_word_re"'\)[	 ]*\(.*\)/D["\1"]=" \2\\\\\\n"\\/p
++t cont
++d
++:cont
++n
++s/.\{148\}/&'"$ac_delim"'/g
++t clear
++:clear
++s/\\$//
++t bsnlc
++s/["\\]/\\&/g; s/^/"/; s/$/"/p
++d
++:bsnlc
++s/["\\]/\\&/g; s/^/"/; s/$/\\\\\\n"\\/p
++b cont
++' <confdefs.h | sed '
++s/'"$ac_delim"'/"\\\
++"/g' >>$CONFIG_STATUS || ac_write_fail=1
++
++cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
++  for (key in D) D_is_set[key] = 1
++  FS = ""
++}
++/^[\t ]*#[\t ]*(define|undef)[\t ]+$ac_word_re([\t (]|\$)/ {
++  line = \$ 0
++  split(line, arg, " ")
++  if (arg[1] == "#") {
++    defundef = arg[2]
++    mac1 = arg[3]
++  } else {
++    defundef = substr(arg[1], 2)
++    mac1 = arg[2]
++  }
++  split(mac1, mac2, "(") #)
++  macro = mac2[1]
++  prefix = substr(line, 1, index(line, defundef) - 1)
++  if (D_is_set[macro]) {
++    # Preserve the white space surrounding the "#".
++    print prefix "define", macro P[macro] D[macro]
++    next
++  } else {
++    # Replace #undef with comments.  This is necessary, for example,
++    # in the case of _POSIX_SOURCE, which is predefined and required
++    # on some systems where configure will not decide to define it.
++    if (defundef == "undef") {
++      print "/*", prefix defundef, macro, "*/"
++      next
++    }
++  }
++}
++{ print }
++_ACAWK
++_ACEOF
++cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
++  { { $as_echo "$as_me:$LINENO: error: could not setup config headers machinery" >&5
++$as_echo "$as_me: error: could not setup config headers machinery" >&2;}
++   { (exit 1); exit 1; }; }
++fi # test -n "$CONFIG_HEADERS"
++
++
++eval set X "  :F $CONFIG_FILES  :H $CONFIG_HEADERS    :C $CONFIG_COMMANDS"
++shift
++for ac_tag
++do
++  case $ac_tag in
++  :[FHLC]) ac_mode=$ac_tag; continue;;
++  esac
++  case $ac_mode$ac_tag in
++  :[FHL]*:*);;
++  :L* | :C*:*) { { $as_echo "$as_me:$LINENO: error: invalid tag $ac_tag" >&5
++$as_echo "$as_me: error: invalid tag $ac_tag" >&2;}
++   { (exit 1); exit 1; }; };;
++  :[FH]-) ac_tag=-:-;;
++  :[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
++  esac
++  ac_save_IFS=$IFS
++  IFS=:
++  set x $ac_tag
++  IFS=$ac_save_IFS
++  shift
++  ac_file=$1
++  shift
++
++  case $ac_mode in
++  :L) ac_source=$1;;
++  :[FH])
++    ac_file_inputs=
++    for ac_f
++    do
++      case $ac_f in
++      -) ac_f="$tmp/stdin";;
++      *) # Look for the file first in the build tree, then in the source tree
++	 # (if the path is not absolute).  The absolute path cannot be DOS-style,
++	 # because $ac_f cannot contain `:'.
++	 test -f "$ac_f" ||
++	   case $ac_f in
++	   [\\/$]*) false;;
++	   *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
++	   esac ||
++	   { { $as_echo "$as_me:$LINENO: error: cannot find input file: $ac_f" >&5
++$as_echo "$as_me: error: cannot find input file: $ac_f" >&2;}
++   { (exit 1); exit 1; }; };;
++      esac
++      case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac
++      ac_file_inputs="$ac_file_inputs '$ac_f'"
++    done
++
++    # Let's still pretend it is `configure' which instantiates (i.e., don't
++    # use $as_me), people would be surprised to read:
++    #    /* config.h.  Generated by config.status.  */
++    configure_input='Generated from '`
++	  $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g'
++	`' by configure.'
++    if test x"$ac_file" != x-; then
++      configure_input="$ac_file.  $configure_input"
++      { $as_echo "$as_me:$LINENO: creating $ac_file" >&5
++$as_echo "$as_me: creating $ac_file" >&6;}
++    fi
++    # Neutralize special characters interpreted by sed in replacement strings.
++    case $configure_input in #(
++    *\&* | *\|* | *\\* )
++       ac_sed_conf_input=`$as_echo "$configure_input" |
++       sed 's/[\\\\&|]/\\\\&/g'`;; #(
++    *) ac_sed_conf_input=$configure_input;;
++    esac
++
++    case $ac_tag in
++    *:-:* | *:-) cat >"$tmp/stdin" \
++      || { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5
++$as_echo "$as_me: error: could not create $ac_file" >&2;}
++   { (exit 1); exit 1; }; } ;;
++    esac
++    ;;
++  esac
++
++  ac_dir=`$as_dirname -- "$ac_file" ||
++$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
++	 X"$ac_file" : 'X\(//\)[^/]' \| \
++	 X"$ac_file" : 'X\(//\)$' \| \
++	 X"$ac_file" : 'X\(/\)' \| . 2>/dev/null ||
++$as_echo X"$ac_file" |
++    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
++	    s//\1/
++	    q
++	  }
++	  /^X\(\/\/\)[^/].*/{
++	    s//\1/
++	    q
++	  }
++	  /^X\(\/\/\)$/{
++	    s//\1/
++	    q
++	  }
++	  /^X\(\/\).*/{
++	    s//\1/
++	    q
++	  }
++	  s/.*/./; q'`
++  { as_dir="$ac_dir"
++  case $as_dir in #(
++  -*) as_dir=./$as_dir;;
++  esac
++  test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || {
++    as_dirs=
++    while :; do
++      case $as_dir in #(
++      *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
++      *) as_qdir=$as_dir;;
++      esac
++      as_dirs="'$as_qdir' $as_dirs"
++      as_dir=`$as_dirname -- "$as_dir" ||
++$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
++	 X"$as_dir" : 'X\(//\)[^/]' \| \
++	 X"$as_dir" : 'X\(//\)$' \| \
++	 X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
++$as_echo X"$as_dir" |
++    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
++	    s//\1/
++	    q
++	  }
++	  /^X\(\/\/\)[^/].*/{
++	    s//\1/
++	    q
++	  }
++	  /^X\(\/\/\)$/{
++	    s//\1/
++	    q
++	  }
++	  /^X\(\/\).*/{
++	    s//\1/
++	    q
++	  }
++	  s/.*/./; q'`
++      test -d "$as_dir" && break
++    done
++    test -z "$as_dirs" || eval "mkdir $as_dirs"
++  } || test -d "$as_dir" || { { $as_echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5
++$as_echo "$as_me: error: cannot create directory $as_dir" >&2;}
++   { (exit 1); exit 1; }; }; }
++  ac_builddir=.
++
++case "$ac_dir" in
++.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
++*)
++  ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
++  # A ".." for each directory in $ac_dir_suffix.
++  ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
++  case $ac_top_builddir_sub in
++  "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
++  *)  ac_top_build_prefix=$ac_top_builddir_sub/ ;;
++  esac ;;
++esac
++ac_abs_top_builddir=$ac_pwd
++ac_abs_builddir=$ac_pwd$ac_dir_suffix
++# for backward compatibility:
++ac_top_builddir=$ac_top_build_prefix
++
++case $srcdir in
++  .)  # We are building in place.
++    ac_srcdir=.
++    ac_top_srcdir=$ac_top_builddir_sub
++    ac_abs_top_srcdir=$ac_pwd ;;
++  [\\/]* | ?:[\\/]* )  # Absolute name.
++    ac_srcdir=$srcdir$ac_dir_suffix;
++    ac_top_srcdir=$srcdir
++    ac_abs_top_srcdir=$srcdir ;;
++  *) # Relative name.
++    ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
++    ac_top_srcdir=$ac_top_build_prefix$srcdir
++    ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
++esac
++ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
++
++
++  case $ac_mode in
++  :F)
++  #
++  # CONFIG_FILE
++  #
++
++  case $INSTALL in
++  [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;;
++  *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;;
++  esac
++  ac_MKDIR_P=$MKDIR_P
++  case $MKDIR_P in
++  [\\/$]* | ?:[\\/]* ) ;;
++  */*) ac_MKDIR_P=$ac_top_build_prefix$MKDIR_P ;;
++  esac
++_ACEOF
++
++cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
++# If the template does not know about datarootdir, expand it.
++# FIXME: This hack should be removed a few years after 2.60.
++ac_datarootdir_hack=; ac_datarootdir_seen=
++
++ac_sed_dataroot='
++/datarootdir/ {
++  p
++  q
++}
++/@datadir@/p
++/@docdir@/p
++/@infodir@/p
++/@localedir@/p
++/@mandir@/p
++'
++case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in
++*datarootdir*) ac_datarootdir_seen=yes;;
++*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*)
++  { $as_echo "$as_me:$LINENO: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5
++$as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;}
++_ACEOF
++cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
++  ac_datarootdir_hack='
++  s&@datadir@&$datadir&g
++  s&@docdir@&$docdir&g
++  s&@infodir@&$infodir&g
++  s&@localedir@&$localedir&g
++  s&@mandir@&$mandir&g
++    s&\\\${datarootdir}&$datarootdir&g' ;;
++esac
++_ACEOF
++
++# Neutralize VPATH when `$srcdir' = `.'.
++# Shell code in configure.ac might set extrasub.
++# FIXME: do we really want to maintain this feature?
++cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
++ac_sed_extra="$ac_vpsub
++$extrasub
++_ACEOF
++cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
++:t
++/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
++s|@configure_input@|$ac_sed_conf_input|;t t
++s&@top_builddir@&$ac_top_builddir_sub&;t t
++s&@top_build_prefix@&$ac_top_build_prefix&;t t
++s&@srcdir@&$ac_srcdir&;t t
++s&@abs_srcdir@&$ac_abs_srcdir&;t t
++s&@top_srcdir@&$ac_top_srcdir&;t t
++s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t
++s&@builddir@&$ac_builddir&;t t
++s&@abs_builddir@&$ac_abs_builddir&;t t
++s&@abs_top_builddir@&$ac_abs_top_builddir&;t t
++s&@INSTALL@&$ac_INSTALL&;t t
++s&@MKDIR_P@&$ac_MKDIR_P&;t t
++$ac_datarootdir_hack
++"
++eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$tmp/subs.awk" >$tmp/out \
++  || { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5
++$as_echo "$as_me: error: could not create $ac_file" >&2;}
++   { (exit 1); exit 1; }; }
++
++test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
++  { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } &&
++  { ac_out=`sed -n '/^[	 ]*datarootdir[	 ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } &&
++  { $as_echo "$as_me:$LINENO: WARNING: $ac_file contains a reference to the variable \`datarootdir'
++which seems to be undefined.  Please make sure it is defined." >&5
++$as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
++which seems to be undefined.  Please make sure it is defined." >&2;}
++
++  rm -f "$tmp/stdin"
++  case $ac_file in
++  -) cat "$tmp/out" && rm -f "$tmp/out";;
++  *) rm -f "$ac_file" && mv "$tmp/out" "$ac_file";;
++  esac \
++  || { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5
++$as_echo "$as_me: error: could not create $ac_file" >&2;}
++   { (exit 1); exit 1; }; }
++ ;;
++  :H)
++  #
++  # CONFIG_HEADER
++  #
++  if test x"$ac_file" != x-; then
++    {
++      $as_echo "/* $configure_input  */" \
++      && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs"
++    } >"$tmp/config.h" \
++      || { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5
++$as_echo "$as_me: error: could not create $ac_file" >&2;}
++   { (exit 1); exit 1; }; }
++    if diff "$ac_file" "$tmp/config.h" >/dev/null 2>&1; then
++      { $as_echo "$as_me:$LINENO: $ac_file is unchanged" >&5
++$as_echo "$as_me: $ac_file is unchanged" >&6;}
++    else
++      rm -f "$ac_file"
++      mv "$tmp/config.h" "$ac_file" \
++	|| { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5
++$as_echo "$as_me: error: could not create $ac_file" >&2;}
++   { (exit 1); exit 1; }; }
++    fi
++  else
++    $as_echo "/* $configure_input  */" \
++      && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs" \
++      || { { $as_echo "$as_me:$LINENO: error: could not create -" >&5
++$as_echo "$as_me: error: could not create -" >&2;}
++   { (exit 1); exit 1; }; }
++  fi
++# Compute "$ac_file"'s index in $config_headers.
++_am_arg="$ac_file"
++_am_stamp_count=1
++for _am_header in $config_headers :; do
++  case $_am_header in
++    $_am_arg | $_am_arg:* )
++      break ;;
++    * )
++      _am_stamp_count=`expr $_am_stamp_count + 1` ;;
++  esac
++done
++echo "timestamp for $_am_arg" >`$as_dirname -- "$_am_arg" ||
++$as_expr X"$_am_arg" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
++	 X"$_am_arg" : 'X\(//\)[^/]' \| \
++	 X"$_am_arg" : 'X\(//\)$' \| \
++	 X"$_am_arg" : 'X\(/\)' \| . 2>/dev/null ||
++$as_echo X"$_am_arg" |
++    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
++	    s//\1/
++	    q
++	  }
++	  /^X\(\/\/\)[^/].*/{
++	    s//\1/
++	    q
++	  }
++	  /^X\(\/\/\)$/{
++	    s//\1/
++	    q
++	  }
++	  /^X\(\/\).*/{
++	    s//\1/
++	    q
++	  }
++	  s/.*/./; q'`/stamp-h$_am_stamp_count
++ ;;
++
++  :C)  { $as_echo "$as_me:$LINENO: executing $ac_file commands" >&5
++$as_echo "$as_me: executing $ac_file commands" >&6;}
++ ;;
++  esac
++
++
++  case $ac_file$ac_mode in
++    "depfiles":C) test x"$AMDEP_TRUE" != x"" || {
++  # Autoconf 2.62 quotes --file arguments for eval, but not when files
++  # are listed without --file.  Let's play safe and only enable the eval
++  # if we detect the quoting.
++  case $CONFIG_FILES in
++  *\'*) eval set x "$CONFIG_FILES" ;;
++  *)   set x $CONFIG_FILES ;;
++  esac
++  shift
++  for mf
++  do
++    # Strip MF so we end up with the name of the file.
++    mf=`echo "$mf" | sed -e 's/:.*$//'`
++    # Check whether this is an Automake generated Makefile or not.
++    # We used to match only the files named `Makefile.in', but
++    # some people rename them; so instead we look at the file content.
++    # Grep'ing the first line is not enough: some people post-process
++    # each Makefile.in and add a new line on top of each file to say so.
++    # Grep'ing the whole file is not good either: AIX grep has a line
++    # limit of 2048, but all sed's we know have understand at least 4000.
++    if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
++      dirpart=`$as_dirname -- "$mf" ||
++$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
++	 X"$mf" : 'X\(//\)[^/]' \| \
++	 X"$mf" : 'X\(//\)$' \| \
++	 X"$mf" : 'X\(/\)' \| . 2>/dev/null ||
++$as_echo X"$mf" |
++    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
++	    s//\1/
++	    q
++	  }
++	  /^X\(\/\/\)[^/].*/{
++	    s//\1/
++	    q
++	  }
++	  /^X\(\/\/\)$/{
++	    s//\1/
++	    q
++	  }
++	  /^X\(\/\).*/{
++	    s//\1/
++	    q
++	  }
++	  s/.*/./; q'`
++    else
++      continue
++    fi
++    # Extract the definition of DEPDIR, am__include, and am__quote
++    # from the Makefile without running `make'.
++    DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
++    test -z "$DEPDIR" && continue
++    am__include=`sed -n 's/^am__include = //p' < "$mf"`
++    test -z "am__include" && continue
++    am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
++    # When using ansi2knr, U may be empty or an underscore; expand it
++    U=`sed -n 's/^U = //p' < "$mf"`
++    # Find all dependency output files, they are included files with
++    # $(DEPDIR) in their names.  We invoke sed twice because it is the
++    # simplest approach to changing $(DEPDIR) to its actual value in the
++    # expansion.
++    for file in `sed -n "
++      s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
++	 sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
++      # Make sure the directory exists.
++      test -f "$dirpart/$file" && continue
++      fdir=`$as_dirname -- "$file" ||
++$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
++	 X"$file" : 'X\(//\)[^/]' \| \
++	 X"$file" : 'X\(//\)$' \| \
++	 X"$file" : 'X\(/\)' \| . 2>/dev/null ||
++$as_echo X"$file" |
++    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
++	    s//\1/
++	    q
++	  }
++	  /^X\(\/\/\)[^/].*/{
++	    s//\1/
++	    q
++	  }
++	  /^X\(\/\/\)$/{
++	    s//\1/
++	    q
++	  }
++	  /^X\(\/\).*/{
++	    s//\1/
++	    q
++	  }
++	  s/.*/./; q'`
++      { as_dir=$dirpart/$fdir
++  case $as_dir in #(
++  -*) as_dir=./$as_dir;;
++  esac
++  test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || {
++    as_dirs=
++    while :; do
++      case $as_dir in #(
++      *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
++      *) as_qdir=$as_dir;;
++      esac
++      as_dirs="'$as_qdir' $as_dirs"
++      as_dir=`$as_dirname -- "$as_dir" ||
++$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
++	 X"$as_dir" : 'X\(//\)[^/]' \| \
++	 X"$as_dir" : 'X\(//\)$' \| \
++	 X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
++$as_echo X"$as_dir" |
++    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
++	    s//\1/
++	    q
++	  }
++	  /^X\(\/\/\)[^/].*/{
++	    s//\1/
++	    q
++	  }
++	  /^X\(\/\/\)$/{
++	    s//\1/
++	    q
++	  }
++	  /^X\(\/\).*/{
++	    s//\1/
++	    q
++	  }
++	  s/.*/./; q'`
++      test -d "$as_dir" && break
++    done
++    test -z "$as_dirs" || eval "mkdir $as_dirs"
++  } || test -d "$as_dir" || { { $as_echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5
++$as_echo "$as_me: error: cannot create directory $as_dir" >&2;}
++   { (exit 1); exit 1; }; }; }
++      # echo "creating $dirpart/$file"
++      echo '# dummy' > "$dirpart/$file"
++    done
++  done
++}
++ ;;
++    "libtool":C)
++
++    # See if we are running on zsh, and set the options which allow our
++    # commands through without removal of \ escapes.
++    if test -n "${ZSH_VERSION+set}" ; then
++      setopt NO_GLOB_SUBST
++    fi
++
++    cfgfile="${ofile}T"
++    trap "$RM \"$cfgfile\"; exit 1" 1 2 15
++    $RM "$cfgfile"
++
++    cat <<_LT_EOF >> "$cfgfile"
++#! $SHELL
++
++# `$ECHO "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services.
++# Generated automatically by $as_me ($PACKAGE$TIMESTAMP) $VERSION
++# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
++# NOTE: Changes made to this file will be lost: look at ltmain.sh.
++#
++#   Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
++#                 2006, 2007, 2008 Free Software Foundation, Inc.
++#   Written by Gordon Matzigkeit, 1996
++#
++#   This file is part of GNU Libtool.
++#
++# GNU Libtool is free software; you can redistribute it and/or
++# modify it under the terms of the GNU General Public License as
++# published by the Free Software Foundation; either version 2 of
++# the License, or (at your option) any later version.
++#
++# As a special exception to the GNU General Public License,
++# if you distribute this file as part of a program or library that
++# is built using GNU Libtool, you may include this file under the
++# same distribution terms that you use for the rest of that program.
++#
++# GNU Libtool is distributed in the hope that it will be useful,
++# but WITHOUT ANY WARRANTY; without even the implied warranty of
++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
++# GNU General Public License for more details.
++#
++# You should have received a copy of the GNU General Public License
++# along with GNU Libtool; see the file COPYING.  If not, a copy
++# can be downloaded from http://www.gnu.org/licenses/gpl.html, or
++# obtained by writing to the Free Software Foundation, Inc.,
++# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
++
++
++# The names of the tagged configurations supported by this script.
++available_tags="RC "
++
++# ### BEGIN LIBTOOL CONFIG
++
++# Which release of libtool.m4 was used?
++macro_version=$macro_version
++macro_revision=$macro_revision
++
++# Assembler program.
++AS=$AS
++
++# DLL creation program.
++DLLTOOL=$DLLTOOL
++
++# Object dumper program.
++OBJDUMP=$OBJDUMP
++
++# Whether or not to build shared libraries.
++build_libtool_libs=$enable_shared
++
++# Whether or not to build static libraries.
++build_old_libs=$enable_static
++
++# What type of objects to build.
++pic_mode=$pic_mode
++
++# Whether or not to optimize for fast installation.
++fast_install=$enable_fast_install
++
++# The host system.
++host_alias=$host_alias
++host=$host
++host_os=$host_os
++
++# The build system.
++build_alias=$build_alias
++build=$build
++build_os=$build_os
++
++# A sed program that does not truncate output.
++SED=$lt_SED
++
++# Sed that helps us avoid accidentally triggering echo(1) options like -n.
++Xsed="\$SED -e 1s/^X//"
++
++# A grep program that handles long lines.
++GREP=$lt_GREP
++
++# An ERE matcher.
++EGREP=$lt_EGREP
++
++# A literal string matcher.
++FGREP=$lt_FGREP
++
++# A BSD- or MS-compatible name lister.
++NM=$lt_NM
++
++# Whether we need soft or hard links.
++LN_S=$lt_LN_S
++
++# What is the maximum length of a command?
++max_cmd_len=$max_cmd_len
++
++# Object file suffix (normally "o").
++objext=$ac_objext
++
++# Executable file suffix (normally "").
++exeext=$exeext
++
++# whether the shell understands "unset".
++lt_unset=$lt_unset
++
++# turn spaces into newlines.
++SP2NL=$lt_lt_SP2NL
++
++# turn newlines into spaces.
++NL2SP=$lt_lt_NL2SP
++
++# How to create reloadable object files.
++reload_flag=$lt_reload_flag
++reload_cmds=$lt_reload_cmds
++
++# Method to check whether dependent libraries are shared objects.
++deplibs_check_method=$lt_deplibs_check_method
++
++# Command to use when deplibs_check_method == "file_magic".
++file_magic_cmd=$lt_file_magic_cmd
++
++# The archiver.
++AR=$lt_AR
++AR_FLAGS=$lt_AR_FLAGS
++
++# A symbol stripping program.
++STRIP=$lt_STRIP
++
++# Commands used to install an old-style archive.
++RANLIB=$lt_RANLIB
++old_postinstall_cmds=$lt_old_postinstall_cmds
++old_postuninstall_cmds=$lt_old_postuninstall_cmds
++
++# A C compiler.
++LTCC=$lt_CC
++
++# LTCC compiler flags.
++LTCFLAGS=$lt_CFLAGS
++
++# Take the output of nm and produce a listing of raw symbols and C names.
++global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe
++
++# Transform the output of nm in a proper C declaration.
++global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl
++
++# Transform the output of nm in a C name address pair.
++global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
++
++# Transform the output of nm in a C name address pair when lib prefix is needed.
++global_symbol_to_c_name_address_lib_prefix=$lt_lt_cv_sys_global_symbol_to_c_name_address_lib_prefix
++
++# The name of the directory that contains temporary libtool files.
++objdir=$objdir
++
++# Shell to use when invoking shell scripts.
++SHELL=$lt_SHELL
++
++# An echo program that does not interpret backslashes.
++ECHO=$lt_ECHO
++
++# Used to examine libraries when file_magic_cmd begins with "file".
++MAGIC_CMD=$MAGIC_CMD
++
++# Must we lock files when doing compilation?
++need_locks=$lt_need_locks
++
++# Tool to manipulate archived DWARF debug symbol files on Mac OS X.
++DSYMUTIL=$lt_DSYMUTIL
++
++# Tool to change global to local symbols on Mac OS X.
++NMEDIT=$lt_NMEDIT
++
++# Tool to manipulate fat objects and archives on Mac OS X.
++LIPO=$lt_LIPO
++
++# ldd/readelf like tool for Mach-O binaries on Mac OS X.
++OTOOL=$lt_OTOOL
++
++# ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4.
++OTOOL64=$lt_OTOOL64
++
++# Old archive suffix (normally "a").
++libext=$libext
++
++# Shared library suffix (normally ".so").
++shrext_cmds=$lt_shrext_cmds
++
++# The commands to extract the exported symbol list from a shared archive.
++extract_expsyms_cmds=$lt_extract_expsyms_cmds
++
++# Variables whose values should be saved in libtool wrapper scripts and
++# restored at link time.
++variables_saved_for_relink=$lt_variables_saved_for_relink
++
++# Do we need the "lib" prefix for modules?
++need_lib_prefix=$need_lib_prefix
++
++# Do we need a version for libraries?
++need_version=$need_version
++
++# Library versioning type.
++version_type=$version_type
++
++# Shared library runtime path variable.
++runpath_var=$runpath_var
++
++# Shared library path variable.
++shlibpath_var=$shlibpath_var
++
++# Is shlibpath searched before the hard-coded library search path?
++shlibpath_overrides_runpath=$shlibpath_overrides_runpath
++
++# Format of library name prefix.
++libname_spec=$lt_libname_spec
++
++# List of archive names.  First name is the real one, the rest are links.
++# The last name is the one that the linker finds with -lNAME
++library_names_spec=$lt_library_names_spec
++
++# The coded name of the library, if different from the real name.
++soname_spec=$lt_soname_spec
++
++# Command to use after installation of a shared archive.
++postinstall_cmds=$lt_postinstall_cmds
++
++# Command to use after uninstallation of a shared archive.
++postuninstall_cmds=$lt_postuninstall_cmds
++
++# Commands used to finish a libtool library installation in a directory.
++finish_cmds=$lt_finish_cmds
++
++# As "finish_cmds", except a single script fragment to be evaled but
++# not shown.
++finish_eval=$lt_finish_eval
++
++# Whether we should hardcode library paths into libraries.
++hardcode_into_libs=$hardcode_into_libs
++
++# Compile-time system search path for libraries.
++sys_lib_search_path_spec=$lt_sys_lib_search_path_spec
++
++# Run-time system search path for libraries.
++sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec
++
++# Whether dlopen is supported.
++dlopen_support=$enable_dlopen
++
++# Whether dlopen of programs is supported.
++dlopen_self=$enable_dlopen_self
++
++# Whether dlopen of statically linked programs is supported.
++dlopen_self_static=$enable_dlopen_self_static
++
++# Commands to strip libraries.
++old_striplib=$lt_old_striplib
++striplib=$lt_striplib
++
++
++# The linker used to build libraries.
++LD=$lt_LD
++
++# Commands used to build an old-style archive.
++old_archive_cmds=$lt_old_archive_cmds
++
++# A language specific compiler.
++CC=$lt_compiler
++
++# Is the compiler the GNU compiler?
++with_gcc=$GCC
++
++# Compiler flag to turn off builtin functions.
++no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag
++
++# How to pass a linker flag through the compiler.
++wl=$lt_lt_prog_compiler_wl
++
++# Additional compiler flags for building library objects.
++pic_flag=$lt_lt_prog_compiler_pic
++
++# Compiler flag to prevent dynamic linking.
++link_static_flag=$lt_lt_prog_compiler_static
++
++# Does compiler simultaneously support -c and -o options?
++compiler_c_o=$lt_lt_cv_prog_compiler_c_o
++
++# Whether or not to add -lc for building shared libraries.
++build_libtool_need_lc=$archive_cmds_need_lc
++
++# Whether or not to disallow shared libs when runtime libs are static.
++allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes
++
++# Compiler flag to allow reflexive dlopens.
++export_dynamic_flag_spec=$lt_export_dynamic_flag_spec
++
++# Compiler flag to generate shared objects directly from archives.
++whole_archive_flag_spec=$lt_whole_archive_flag_spec
++
++# Whether the compiler copes with passing no objects directly.
++compiler_needs_object=$lt_compiler_needs_object
++
++# Create an old-style archive from a shared archive.
++old_archive_from_new_cmds=$lt_old_archive_from_new_cmds
++
++# Create a temporary old-style archive to link instead of a shared archive.
++old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds
++
++# Commands used to build a shared archive.
++archive_cmds=$lt_archive_cmds
++archive_expsym_cmds=$lt_archive_expsym_cmds
++
++# Commands used to build a loadable module if different from building
++# a shared archive.
++module_cmds=$lt_module_cmds
++module_expsym_cmds=$lt_module_expsym_cmds
++
++# Whether we are building with GNU ld or not.
++with_gnu_ld=$lt_with_gnu_ld
++
++# Flag that allows shared libraries with undefined symbols to be built.
++allow_undefined_flag=$lt_allow_undefined_flag
++
++# Flag that enforces no undefined symbols.
++no_undefined_flag=$lt_no_undefined_flag
++
++# Flag to hardcode \$libdir into a binary during linking.
++# This must work even if \$libdir does not exist
++hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec
++
++# If ld is used when linking, flag to hardcode \$libdir into a binary
++# during linking.  This must work even if \$libdir does not exist.
++hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld
++
++# Whether we need a single "-rpath" flag with a separated argument.
++hardcode_libdir_separator=$lt_hardcode_libdir_separator
++
++# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes
++# DIR into the resulting binary.
++hardcode_direct=$hardcode_direct
++
++# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes
++# DIR into the resulting binary and the resulting library dependency is
++# "absolute",i.e impossible to change by setting \${shlibpath_var} if the
++# library is relocated.
++hardcode_direct_absolute=$hardcode_direct_absolute
++
++# Set to "yes" if using the -LDIR flag during linking hardcodes DIR
++# into the resulting binary.
++hardcode_minus_L=$hardcode_minus_L
++
++# Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR
++# into the resulting binary.
++hardcode_shlibpath_var=$hardcode_shlibpath_var
++
++# Set to "yes" if building a shared library automatically hardcodes DIR
++# into the library and all subsequent libraries and executables linked
++# against it.
++hardcode_automatic=$hardcode_automatic
++
++# Set to yes if linker adds runtime paths of dependent libraries
++# to runtime path list.
++inherit_rpath=$inherit_rpath
++
++# Whether libtool must link a program against all its dependency libraries.
++link_all_deplibs=$link_all_deplibs
++
++# Fix the shell variable \$srcfile for the compiler.
++fix_srcfile_path=$lt_fix_srcfile_path
++
++# Set to "yes" if exported symbols are required.
++always_export_symbols=$always_export_symbols
++
++# The commands to list exported symbols.
++export_symbols_cmds=$lt_export_symbols_cmds
++
++# Symbols that should not be listed in the preloaded symbols.
++exclude_expsyms=$lt_exclude_expsyms
++
++# Symbols that must always be exported.
++include_expsyms=$lt_include_expsyms
++
++# Commands necessary for linking programs (against libraries) with templates.
++prelink_cmds=$lt_prelink_cmds
++
++# Specify filename containing input files.
++file_list_spec=$lt_file_list_spec
++
++# How to hardcode a shared library path into an executable.
++hardcode_action=$hardcode_action
++
++# ### END LIBTOOL CONFIG
++
++_LT_EOF
++
++  case $host_os in
++  aix3*)
++    cat <<\_LT_EOF >> "$cfgfile"
++# AIX sometimes has problems with the GCC collect2 program.  For some
++# reason, if we set the COLLECT_NAMES environment variable, the problems
++# vanish in a puff of smoke.
++if test "X${COLLECT_NAMES+set}" != Xset; then
++  COLLECT_NAMES=
++  export COLLECT_NAMES
++fi
++_LT_EOF
++    ;;
++  esac
++
++
++ltmain="$ac_aux_dir/ltmain.sh"
++
++
++  # We use sed instead of cat because bash on DJGPP gets confused if
++  # if finds mixed CR/LF and LF-only lines.  Since sed operates in
++  # text mode, it properly converts lines to CR/LF.  This bash problem
++  # is reportedly fixed, but why not run on old versions too?
++  sed '/^# Generated shell functions inserted here/q' "$ltmain" >> "$cfgfile" \
++    || (rm -f "$cfgfile"; exit 1)
++
++  case $xsi_shell in
++  yes)
++    cat << \_LT_EOF >> "$cfgfile"
++
++# func_dirname file append nondir_replacement
++# Compute the dirname of FILE.  If nonempty, add APPEND to the result,
++# otherwise set result to NONDIR_REPLACEMENT.
++func_dirname ()
++{
++  case ${1} in
++    */*) func_dirname_result="${1%/*}${2}" ;;
++    *  ) func_dirname_result="${3}" ;;
++  esac
++}
++
++# func_basename file
++func_basename ()
++{
++  func_basename_result="${1##*/}"
++}
++
++# func_dirname_and_basename file append nondir_replacement
++# perform func_basename and func_dirname in a single function
++# call:
++#   dirname:  Compute the dirname of FILE.  If nonempty,
++#             add APPEND to the result, otherwise set result
++#             to NONDIR_REPLACEMENT.
++#             value returned in "$func_dirname_result"
++#   basename: Compute filename of FILE.
++#             value retuned in "$func_basename_result"
++# Implementation must be kept synchronized with func_dirname
++# and func_basename. For efficiency, we do not delegate to
++# those functions but instead duplicate the functionality here.
++func_dirname_and_basename ()
++{
++  case ${1} in
++    */*) func_dirname_result="${1%/*}${2}" ;;
++    *  ) func_dirname_result="${3}" ;;
++  esac
++  func_basename_result="${1##*/}"
++}
++
++# func_stripname prefix suffix name
++# strip PREFIX and SUFFIX off of NAME.
++# PREFIX and SUFFIX must not contain globbing or regex special
++# characters, hashes, percent signs, but SUFFIX may contain a leading
++# dot (in which case that matches only a dot).
++func_stripname ()
++{
++  # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are
++  # positional parameters, so assign one to ordinary parameter first.
++  func_stripname_result=${3}
++  func_stripname_result=${func_stripname_result#"${1}"}
++  func_stripname_result=${func_stripname_result%"${2}"}
++}
++
++# func_opt_split
++func_opt_split ()
++{
++  func_opt_split_opt=${1%%=*}
++  func_opt_split_arg=${1#*=}
++}
++
++# func_lo2o object
++func_lo2o ()
++{
++  case ${1} in
++    *.lo) func_lo2o_result=${1%.lo}.${objext} ;;
++    *)    func_lo2o_result=${1} ;;
++  esac
++}
++
++# func_xform libobj-or-source
++func_xform ()
++{
++  func_xform_result=${1%.*}.lo
++}
++
++# func_arith arithmetic-term...
++func_arith ()
++{
++  func_arith_result=$(( $* ))
++}
++
++# func_len string
++# STRING may not start with a hyphen.
++func_len ()
++{
++  func_len_result=${#1}
++}
++
++_LT_EOF
++    ;;
++  *) # Bourne compatible functions.
++    cat << \_LT_EOF >> "$cfgfile"
++
++# func_dirname file append nondir_replacement
++# Compute the dirname of FILE.  If nonempty, add APPEND to the result,
++# otherwise set result to NONDIR_REPLACEMENT.
++func_dirname ()
++{
++  # Extract subdirectory from the argument.
++  func_dirname_result=`$ECHO "X${1}" | $Xsed -e "$dirname"`
++  if test "X$func_dirname_result" = "X${1}"; then
++    func_dirname_result="${3}"
++  else
++    func_dirname_result="$func_dirname_result${2}"
++  fi
++}
++
++# func_basename file
++func_basename ()
++{
++  func_basename_result=`$ECHO "X${1}" | $Xsed -e "$basename"`
++}
++
++
++# func_stripname prefix suffix name
++# strip PREFIX and SUFFIX off of NAME.
++# PREFIX and SUFFIX must not contain globbing or regex special
++# characters, hashes, percent signs, but SUFFIX may contain a leading
++# dot (in which case that matches only a dot).
++# func_strip_suffix prefix name
++func_stripname ()
++{
++  case ${2} in
++    .*) func_stripname_result=`$ECHO "X${3}" \
++           | $Xsed -e "s%^${1}%%" -e "s%\\\\${2}\$%%"`;;
++    *)  func_stripname_result=`$ECHO "X${3}" \
++           | $Xsed -e "s%^${1}%%" -e "s%${2}\$%%"`;;
++  esac
++}
++
++# sed scripts:
++my_sed_long_opt='1s/^\(-[^=]*\)=.*/\1/;q'
++my_sed_long_arg='1s/^-[^=]*=//'
++
++# func_opt_split
++func_opt_split ()
++{
++  func_opt_split_opt=`$ECHO "X${1}" | $Xsed -e "$my_sed_long_opt"`
++  func_opt_split_arg=`$ECHO "X${1}" | $Xsed -e "$my_sed_long_arg"`
++}
++
++# func_lo2o object
++func_lo2o ()
++{
++  func_lo2o_result=`$ECHO "X${1}" | $Xsed -e "$lo2o"`
++}
++
++# func_xform libobj-or-source
++func_xform ()
++{
++  func_xform_result=`$ECHO "X${1}" | $Xsed -e 's/\.[^.]*$/.lo/'`
++}
++
++# func_arith arithmetic-term...
++func_arith ()
++{
++  func_arith_result=`expr "$@"`
++}
++
++# func_len string
++# STRING may not start with a hyphen.
++func_len ()
++{
++  func_len_result=`expr "$1" : ".*" 2>/dev/null || echo $max_cmd_len`
++}
++
++_LT_EOF
++esac
++
++case $lt_shell_append in
++  yes)
++    cat << \_LT_EOF >> "$cfgfile"
++
++# func_append var value
++# Append VALUE to the end of shell variable VAR.
++func_append ()
++{
++  eval "$1+=\$2"
++}
++_LT_EOF
++    ;;
++  *)
++    cat << \_LT_EOF >> "$cfgfile"
++
++# func_append var value
++# Append VALUE to the end of shell variable VAR.
++func_append ()
++{
++  eval "$1=\$$1\$2"
++}
++
++_LT_EOF
++    ;;
++  esac
++
++
++  sed -n '/^# Generated shell functions inserted here/,$p' "$ltmain" >> "$cfgfile" \
++    || (rm -f "$cfgfile"; exit 1)
++
++  mv -f "$cfgfile" "$ofile" ||
++    (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
++  chmod +x "$ofile"
++
++
++    cat <<_LT_EOF >> "$ofile"
++
++# ### BEGIN LIBTOOL TAG CONFIG: RC
++
++# The linker used to build libraries.
++LD=$lt_LD_RC
++
++# Commands used to build an old-style archive.
++old_archive_cmds=$lt_old_archive_cmds_RC
++
++# A language specific compiler.
++CC=$lt_compiler_RC
++
++# Is the compiler the GNU compiler?
++with_gcc=$GCC_RC
++
++# Compiler flag to turn off builtin functions.
++no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_RC
++
++# How to pass a linker flag through the compiler.
++wl=$lt_lt_prog_compiler_wl_RC
++
++# Additional compiler flags for building library objects.
++pic_flag=$lt_lt_prog_compiler_pic_RC
++
++# Compiler flag to prevent dynamic linking.
++link_static_flag=$lt_lt_prog_compiler_static_RC
++
++# Does compiler simultaneously support -c and -o options?
++compiler_c_o=$lt_lt_cv_prog_compiler_c_o_RC
++
++# Whether or not to add -lc for building shared libraries.
++build_libtool_need_lc=$archive_cmds_need_lc_RC
++
++# Whether or not to disallow shared libs when runtime libs are static.
++allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_RC
++
++# Compiler flag to allow reflexive dlopens.
++export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_RC
++
++# Compiler flag to generate shared objects directly from archives.
++whole_archive_flag_spec=$lt_whole_archive_flag_spec_RC
++
++# Whether the compiler copes with passing no objects directly.
++compiler_needs_object=$lt_compiler_needs_object_RC
++
++# Create an old-style archive from a shared archive.
++old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_RC
++
++# Create a temporary old-style archive to link instead of a shared archive.
++old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_RC
++
++# Commands used to build a shared archive.
++archive_cmds=$lt_archive_cmds_RC
++archive_expsym_cmds=$lt_archive_expsym_cmds_RC
++
++# Commands used to build a loadable module if different from building
++# a shared archive.
++module_cmds=$lt_module_cmds_RC
++module_expsym_cmds=$lt_module_expsym_cmds_RC
++
++# Whether we are building with GNU ld or not.
++with_gnu_ld=$lt_with_gnu_ld_RC
++
++# Flag that allows shared libraries with undefined symbols to be built.
++allow_undefined_flag=$lt_allow_undefined_flag_RC
++
++# Flag that enforces no undefined symbols.
++no_undefined_flag=$lt_no_undefined_flag_RC
++
++# Flag to hardcode \$libdir into a binary during linking.
++# This must work even if \$libdir does not exist
++hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_RC
++
++# If ld is used when linking, flag to hardcode \$libdir into a binary
++# during linking.  This must work even if \$libdir does not exist.
++hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_RC
++
++# Whether we need a single "-rpath" flag with a separated argument.
++hardcode_libdir_separator=$lt_hardcode_libdir_separator_RC
++
++# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes
++# DIR into the resulting binary.
++hardcode_direct=$hardcode_direct_RC
++
++# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes
++# DIR into the resulting binary and the resulting library dependency is
++# "absolute",i.e impossible to change by setting \${shlibpath_var} if the
++# library is relocated.
++hardcode_direct_absolute=$hardcode_direct_absolute_RC
++
++# Set to "yes" if using the -LDIR flag during linking hardcodes DIR
++# into the resulting binary.
++hardcode_minus_L=$hardcode_minus_L_RC
++
++# Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR
++# into the resulting binary.
++hardcode_shlibpath_var=$hardcode_shlibpath_var_RC
++
++# Set to "yes" if building a shared library automatically hardcodes DIR
++# into the library and all subsequent libraries and executables linked
++# against it.
++hardcode_automatic=$hardcode_automatic_RC
++
++# Set to yes if linker adds runtime paths of dependent libraries
++# to runtime path list.
++inherit_rpath=$inherit_rpath_RC
++
++# Whether libtool must link a program against all its dependency libraries.
++link_all_deplibs=$link_all_deplibs_RC
++
++# Fix the shell variable \$srcfile for the compiler.
++fix_srcfile_path=$lt_fix_srcfile_path_RC
++
++# Set to "yes" if exported symbols are required.
++always_export_symbols=$always_export_symbols_RC
++
++# The commands to list exported symbols.
++export_symbols_cmds=$lt_export_symbols_cmds_RC
++
++# Symbols that should not be listed in the preloaded symbols.
++exclude_expsyms=$lt_exclude_expsyms_RC
++
++# Symbols that must always be exported.
++include_expsyms=$lt_include_expsyms_RC
++
++# Commands necessary for linking programs (against libraries) with templates.
++prelink_cmds=$lt_prelink_cmds_RC
++
++# Specify filename containing input files.
++file_list_spec=$lt_file_list_spec_RC
++
++# How to hardcode a shared library path into an executable.
++hardcode_action=$hardcode_action_RC
++
++# ### END LIBTOOL TAG CONFIG: RC
++_LT_EOF
++
++ ;;
++    "po-directories":C)
++    for ac_file in $CONFIG_FILES; do
++      # Support "outfile[:infile[:infile...]]"
++      case "$ac_file" in
++        *:*) ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
++      esac
++      # PO directories have a Makefile.in generated from Makefile.in.in.
++      case "$ac_file" in */Makefile.in)
++        # Adjust a relative srcdir.
++        ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'`
++        ac_dir_suffix="/`echo "$ac_dir"|sed 's%^\./%%'`"
++        ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'`
++        # In autoconf-2.13 it is called $ac_given_srcdir.
++        # In autoconf-2.50 it is called $srcdir.
++        test -n "$ac_given_srcdir" || ac_given_srcdir="$srcdir"
++        case "$ac_given_srcdir" in
++          .)  top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;;
++          /*) top_srcdir="$ac_given_srcdir" ;;
++          *)  top_srcdir="$ac_dots$ac_given_srcdir" ;;
++        esac
++        # Treat a directory as a PO directory if and only if it has a
++        # POTFILES.in file. This allows packages to have multiple PO
++        # directories under different names or in different locations.
++        if test -f "$ac_given_srcdir/$ac_dir/POTFILES.in"; then
++          rm -f "$ac_dir/POTFILES"
++          test -n "$as_me" && echo "$as_me: creating $ac_dir/POTFILES" || echo "creating $ac_dir/POTFILES"
++          cat "$ac_given_srcdir/$ac_dir/POTFILES.in" | sed -e "/^#/d" -e "/^[ 	]*\$/d" -e "s,.*,     $top_srcdir/& \\\\," | sed -e "\$s/\(.*\) \\\\/\1/" > "$ac_dir/POTFILES"
++          POMAKEFILEDEPS="POTFILES.in"
++          # ALL_LINGUAS, POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES depend
++          # on $ac_dir but don't depend on user-specified configuration
++          # parameters.
++          if test -f "$ac_given_srcdir/$ac_dir/LINGUAS"; then
++            # The LINGUAS file contains the set of available languages.
++            if test -n "$OBSOLETE_ALL_LINGUAS"; then
++              test -n "$as_me" && echo "$as_me: setting ALL_LINGUAS in configure.in is obsolete" || echo "setting ALL_LINGUAS in configure.in is obsolete"
++            fi
++            ALL_LINGUAS_=`sed -e "/^#/d" -e "s/#.*//" "$ac_given_srcdir/$ac_dir/LINGUAS"`
++            # Hide the ALL_LINGUAS assigment from automake < 1.5.
++            eval 'ALL_LINGUAS''=$ALL_LINGUAS_'
++            POMAKEFILEDEPS="$POMAKEFILEDEPS LINGUAS"
++          else
++            # The set of available languages was given in configure.in.
++            # Hide the ALL_LINGUAS assigment from automake < 1.5.
++            eval 'ALL_LINGUAS''=$OBSOLETE_ALL_LINGUAS'
++          fi
++          # Compute POFILES
++          # as      $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).po)
++          # Compute UPDATEPOFILES
++          # as      $(foreach lang, $(ALL_LINGUAS), $(lang).po-update)
++          # Compute DUMMYPOFILES
++          # as      $(foreach lang, $(ALL_LINGUAS), $(lang).nop)
++          # Compute GMOFILES
++          # as      $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).gmo)
++          case "$ac_given_srcdir" in
++            .) srcdirpre= ;;
++            *) srcdirpre='$(srcdir)/' ;;
++          esac
++          POFILES=
++          UPDATEPOFILES=
++          DUMMYPOFILES=
++          GMOFILES=
++          for lang in $ALL_LINGUAS; do
++            POFILES="$POFILES $srcdirpre$lang.po"
++            UPDATEPOFILES="$UPDATEPOFILES $lang.po-update"
++            DUMMYPOFILES="$DUMMYPOFILES $lang.nop"
++            GMOFILES="$GMOFILES $srcdirpre$lang.gmo"
++          done
++          # CATALOGS depends on both $ac_dir and the user's LINGUAS
++          # environment variable.
++          INST_LINGUAS=
++          if test -n "$ALL_LINGUAS"; then
++            for presentlang in $ALL_LINGUAS; do
++              useit=no
++              if test "%UNSET%" != "$LINGUAS"; then
++                desiredlanguages="$LINGUAS"
++              else
++                desiredlanguages="$ALL_LINGUAS"
++              fi
++              for desiredlang in $desiredlanguages; do
++                # Use the presentlang catalog if desiredlang is
++                #   a. equal to presentlang, or
++                #   b. a variant of presentlang (because in this case,
++                #      presentlang can be used as a fallback for messages
++                #      which are not translated in the desiredlang catalog).
++                case "$desiredlang" in
++                  "$presentlang"*) useit=yes;;
++                esac
++              done
++              if test $useit = yes; then
++                INST_LINGUAS="$INST_LINGUAS $presentlang"
++              fi
++            done
++          fi
++          CATALOGS=
++          if test -n "$INST_LINGUAS"; then
++            for lang in $INST_LINGUAS; do
++              CATALOGS="$CATALOGS $lang.gmo"
++            done
++          fi
++          test -n "$as_me" && echo "$as_me: creating $ac_dir/Makefile" || echo "creating $ac_dir/Makefile"
++          sed -e "/^POTFILES =/r $ac_dir/POTFILES" -e "/^# Makevars/r $ac_given_srcdir/$ac_dir/Makevars" -e "s|@POFILES@|$POFILES|g" -e "s|@UPDATEPOFILES@|$UPDATEPOFILES|g" -e "s|@DUMMYPOFILES@|$DUMMYPOFILES|g" -e "s|@GMOFILES@|$GMOFILES|g" -e "s|@CATALOGS@|$CATALOGS|g" -e "s|@POMAKEFILEDEPS@|$POMAKEFILEDEPS|g" "$ac_dir/Makefile.in" > "$ac_dir/Makefile"
++          for f in "$ac_given_srcdir/$ac_dir"/Rules-*; do
++            if test -f "$f"; then
++              case "$f" in
++                *.orig | *.bak | *~) ;;
++                *) cat "$f" >> "$ac_dir/Makefile" ;;
++              esac
++            fi
++          done
++        fi
++        ;;
++      esac
++    done ;;
++
++  esac
++done # for ac_tag
++
++
++{ (exit 0); exit 0; }
++_ACEOF
++chmod +x $CONFIG_STATUS
++ac_clean_files=$ac_clean_files_save
++
++test $ac_write_fail = 0 ||
++  { { $as_echo "$as_me:$LINENO: error: write failure creating $CONFIG_STATUS" >&5
++$as_echo "$as_me: error: write failure creating $CONFIG_STATUS" >&2;}
++   { (exit 1); exit 1; }; }
++
++
++# configure is writing to config.log, and then calls config.status.
++# config.status does its own redirection, appending to config.log.
++# Unfortunately, on DOS this fails, as config.log is still kept open
++# by configure, so config.status won't be able to write to it; its
++# output is simply discarded.  So we exec the FD to /dev/null,
++# effectively closing config.log, so it can be properly (re)opened and
++# appended to by config.status.  When coming back to configure, we
++# need to make the FD available again.
++if test "$no_create" != yes; then
++  ac_cs_success=:
++  ac_config_status_args=
++  test "$silent" = yes &&
++    ac_config_status_args="$ac_config_status_args --quiet"
++  exec 5>/dev/null
++  $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false
++  exec 5>>config.log
++  # Use ||, not &&, to avoid exiting from the if with $? = 1, which
++  # would make configure fail if this is the last instruction.
++  $ac_cs_success || { (exit 1); exit 1; }
++fi
++if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then
++  { $as_echo "$as_me:$LINENO: WARNING: unrecognized options: $ac_unrecognized_opts" >&5
++$as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;}
++fi
++
+diff --git a/storage/tokudb/ft-index/third_party/xz-4.999.9beta/dos/Makefile b/storage/tokudb/ft-index/third_party/xz-4.999.9beta/dos/Makefile
+new file mode 100644
+index 0000000..0b8a088
+--- /dev/null
++++ b/storage/tokudb/ft-index/third_party/xz-4.999.9beta/dos/Makefile
+@@ -0,0 +1,255 @@
++###############################################################################
++#
++# Makefile to build XZ Utils using DJGPP
++#
++# Make flags to alter compilation:
++#
++#   DEBUG=1     Enable assertions. Don't use this for production builds!
++#               You may also want to set CFLAGS="-g -O0" to disable
++#               optimizations.
++#
++# The usual CPPFLAGS and CFLAGS are supported too.
++#
++###############################################################################
++#
++# Author: Lasse Collin
++#
++# This file has been put into the public domain.
++# You can do whatever you want with this file.
++#
++###############################################################################
++
++CC = gcc
++AR = ar
++STRIP = strip
++SED = sed
++RM = rm -f
++
++CFLAGS = -g -Wextra -Wfatal-errors -Wall -march=i386 -mtune=i686 -O2
++
++# NOTE: -fgnu89-inline is needed on DJGPP 2.04 beta and GCC 4.3.2
++# because time.h uses GNU-style "extern inline".
++ALL_CFLAGS = -std=gnu99 -fgnu89-inline
++
++ALL_CPPFLAGS = \
++	-I. \
++	-I../lib \
++	-I../src/common \
++	-I../src/liblzma/api \
++	-I../src/liblzma/common \
++	-I../src/liblzma/check \
++	-I../src/liblzma/rangecoder \
++	-I../src/liblzma/lz \
++	-I../src/liblzma/lzma \
++	-I../src/liblzma/delta \
++	-I../src/liblzma/simple \
++	-I../src/liblzma/subblock
++
++ALL_CPPFLAGS += -DHAVE_CONFIG_H
++
++ifdef DEBUG
++STRIP := rem Skipping strip
++else
++ALL_CPPFLAGS += -DNDEBUG
++endif
++
++ALL_CPPFLAGS += $(CPPFLAGS)
++ALL_CFLAGS += $(CFLAGS)
++
++
++################
++# Common rules #
++################
++
++.PHONY: all clean
++all: liblzma.a getopt.a xzdec.exe lzmadec.exe xz.exe
++clean: liblzma-clean getopt-clean xzdec-clean xz-clean
++
++
++#############
++# liblzma.a #
++#############
++
++LIBLZMA_SRCS_C = \
++	../src/liblzma/common/alone_decoder.c \
++	../src/liblzma/common/alone_encoder.c \
++	../src/liblzma/common/auto_decoder.c \
++	../src/liblzma/common/block_buffer_decoder.c \
++	../src/liblzma/common/block_buffer_encoder.c \
++	../src/liblzma/common/block_decoder.c \
++	../src/liblzma/common/block_encoder.c \
++	../src/liblzma/common/block_header_decoder.c \
++	../src/liblzma/common/block_header_encoder.c \
++	../src/liblzma/common/block_util.c \
++	../src/liblzma/common/common.c \
++	../src/liblzma/common/easy_buffer_encoder.c \
++	../src/liblzma/common/easy_decoder_memusage.c \
++	../src/liblzma/common/easy_encoder.c \
++	../src/liblzma/common/easy_encoder_memusage.c \
++	../src/liblzma/common/easy_preset.c \
++	../src/liblzma/common/filter_common.c \
++	../src/liblzma/common/filter_decoder.c \
++	../src/liblzma/common/filter_encoder.c \
++	../src/liblzma/common/filter_flags_decoder.c \
++	../src/liblzma/common/filter_flags_encoder.c \
++	../src/liblzma/common/index.c \
++	../src/liblzma/common/index_decoder.c \
++	../src/liblzma/common/index_encoder.c \
++	../src/liblzma/common/index_hash.c \
++	../src/liblzma/common/stream_buffer_decoder.c \
++	../src/liblzma/common/stream_buffer_encoder.c \
++	../src/liblzma/common/stream_decoder.c \
++	../src/liblzma/common/stream_encoder.c \
++	../src/liblzma/common/stream_flags_common.c \
++	../src/liblzma/common/stream_flags_decoder.c \
++	../src/liblzma/common/stream_flags_encoder.c \
++	../src/liblzma/common/vli_decoder.c \
++	../src/liblzma/common/vli_encoder.c \
++	../src/liblzma/common/vli_size.c \
++	../src/liblzma/check/check.c \
++	../src/liblzma/check/crc32_table.c \
++	../src/liblzma/check/crc64_table.c \
++	../src/liblzma/check/sha256.c \
++	../src/liblzma/rangecoder/price_table.c \
++	../src/liblzma/lz/lz_decoder.c \
++	../src/liblzma/lz/lz_encoder.c \
++	../src/liblzma/lz/lz_encoder_mf.c \
++	../src/liblzma/lzma/fastpos_table.c \
++	../src/liblzma/lzma/lzma2_decoder.c \
++	../src/liblzma/lzma/lzma2_encoder.c \
++	../src/liblzma/lzma/lzma_decoder.c \
++	../src/liblzma/lzma/lzma_encoder.c \
++	../src/liblzma/lzma/lzma_encoder_optimum_fast.c \
++	../src/liblzma/lzma/lzma_encoder_optimum_normal.c \
++	../src/liblzma/lzma/lzma_encoder_presets.c \
++	../src/liblzma/delta/delta_common.c \
++	../src/liblzma/delta/delta_decoder.c \
++	../src/liblzma/delta/delta_encoder.c \
++	../src/liblzma/simple/arm.c \
++	../src/liblzma/simple/armthumb.c \
++	../src/liblzma/simple/ia64.c \
++	../src/liblzma/simple/powerpc.c \
++	../src/liblzma/simple/simple_coder.c \
++	../src/liblzma/simple/simple_decoder.c \
++	../src/liblzma/simple/simple_encoder.c \
++	../src/liblzma/simple/sparc.c \
++	../src/liblzma/simple/x86.c
++
++LIBLZMA_SRCS_ASM = \
++	../src/liblzma/check/crc32_x86.S \
++	../src/liblzma/check/crc64_x86.S
++
++LIBLZMA_OBJS_C = $(LIBLZMA_SRCS_C:.c=.o)
++LIBLZMA_OBJS_ASM = $(LIBLZMA_SRCS_ASM:.S=.o)
++LIBLZMA_OBJS = $(LIBLZMA_OBJS_C) $(LIBLZMA_OBJS_ASM)
++
++$(LIBLZMA_OBJS_C): %.o: %.c
++	$(CC) $(ALL_CPPFLAGS) $(ALL_CFLAGS) -c -o $@ $<
++
++$(LIBLZMA_OBJS_ASM): %.o: %.S
++	$(CC) $(ALL_CPPFLAGS) $(ALL_CFLAGS) -c -o $@ $<
++
++liblzma.a: $(LIBLZMA_OBJS)
++	$(RM) $@
++	$(AR) rcs $@ $(LIBLZMA_OBJS)
++	$(STRIP) --strip-unneeded $@
++
++# Avoid too long command lines.
++.PHONY: liblzma-clean $(LIBLZMA_OBJS:.o=-clean)
++liblzma-clean: $(LIBLZMA_OBJS:.o=-clean)
++	-$(RM) liblzma.a
++
++$(LIBLZMA_OBJS:.o=-clean):
++	-$(RM) $(@:-clean=.o)
++
++
++###############
++# getopt_long #
++###############
++
++GETOPT_SRCS = \
++	../lib/getopt.c \
++	../lib/getopt1.c
++
++GETOPT_OBJS = $(GETOPT_SRCS:.c=.o)
++
++GETOPT_H = ../lib/getopt.h
++
++$(GETOPT_H): %.h: %.in.h
++	$(SED) "" $< > $@
++
++$(GETOPT_OBJS): %.o: %.c $(GETOPT_H)
++	$(CC) $(ALL_CPPFLAGS) $(ALL_CFLAGS) -c -o $@ $<
++
++getopt.a: $(GETOPT_OBJS)
++	$(RM) $@
++	$(AR) rcs $@ $(GETOPT_OBJS)
++	$(STRIP) --strip-unneeded $@
++
++getopt-clean:
++	$(RM) $(GETOPT_H) $(GETOPT_OBJS) getopt.a
++
++
++###########################
++# xzdec.exe & lzmadec.exe #
++###########################
++
++XZDEC_SRCS = ../src/xzdec/xzdec.c
++
++xzdec.exe: getopt.a liblzma.a $(XZDEC_SRCS)
++	$(CC) $(ALL_CPPFLAGS) $(ALL_CFLAGS) $(XZDEC_SRCS) -o $@ getopt.a liblzma.a
++	$(STRIP) --strip-all $@
++	exe2coff $@
++	$(RM) $@
++	copy /b $(DJGPP:DJGPP.ENV=BIN\CWSDSTUB.EXE) + $(@:.exe=) $@
++	$(RM) $(@:.exe=)
++
++lzmadec.exe: getopt.a liblzma.a $(XZDEC_SRCS)
++	$(CC) $(ALL_CPPFLAGS) -DLZMADEC $(ALL_CFLAGS) $(XZDEC_SRCS) -o $@ getopt.a liblzma.a
++	$(STRIP) --strip-all $@
++	exe2coff $@
++	$(RM) $@
++	copy /b $(DJGPP:DJGPP.ENV=BIN\CWSDSTUB.EXE) + $(@:.exe=) $@
++	$(RM) $(@:.exe=)
++
++.PHONY: xzdec-clean
++xzdec-clean:
++	-$(RM) xzdec.exe lzmadec.exe xzdec lzmadec
++
++
++##########
++# xz.exe #
++##########
++
++XZ_SRCS = \
++	../src/xz/args.c \
++	../src/xz/coder.c \
++	../src/xz/file_io.c \
++	../src/xz/hardware.c \
++	../src/xz/main.c \
++	../src/xz/message.c \
++	../src/xz/options.c \
++	../src/xz/signals.c \
++	../src/xz/suffix.c \
++	../src/xz/util.c
++
++XZ_OBJS = $(XZ_SRCS:.c=.o)
++
++$(XZ_OBJS): %.o: %.c
++	$(CC) $(ALL_CPPFLAGS) $(ALL_CFLAGS) -c -o $@ $<
++
++xz.exe: getopt.a liblzma.a $(XZ_OBJS)
++	$(CC) $(ALL_CFLAGS) $(XZ_OBJS) -o $@ getopt.a liblzma.a
++	$(STRIP) --strip-all $@
++	exe2coff $@
++	$(RM) $@
++	copy /b $(DJGPP:DJGPP.ENV=BIN\CWSDSTUB.EXE) + $(@:.exe=) $@
++	$(RM) $(@:.exe=)
++
++# Avoid too long command lines.
++.PHONY: xz-clean $(XZ_OBJS:.o=-clean)
++xz-clean: $(XZ_OBJS:.o=-clean)
++	-$(RM) xz.exe xz
++
++$(XZ_OBJS:.o=-clean):
++	-$(RM) $(@:-clean=.o)
+diff --git a/storage/tokudb/ft-index/third_party/xz-4.999.9beta/windows/Makefile b/storage/tokudb/ft-index/third_party/xz-4.999.9beta/windows/Makefile
+new file mode 100644
+index 0000000..db362ef
+--- /dev/null
++++ b/storage/tokudb/ft-index/third_party/xz-4.999.9beta/windows/Makefile
+@@ -0,0 +1,308 @@
++###############################################################################
++#
++# Makefile to build XZ Utils using MinGW
++#
++# Make flags to alter compilation:
++#
++#   DEBUG=1     Enable assertions. Don't use this for production builds!
++#               You may also want to set CFLAGS="-g -O0" to disable
++#               optimizations.
++#
++#   W64=1       Build for 64-bit Windows. Make sure that you have 64-bit
++#               MinGW in PATH.
++#
++#   WINE=1      Shortcut to set CC, AR, and STRIP to use Wine to run Windows
++#               versions of MinGW binaries.
++#
++# The usual CPPFLAGS and CFLAGS are supported too.
++#
++###############################################################################
++#
++# Author: Lasse Collin
++#
++# This file has been put into the public domain.
++# You can do whatever you want with this file.
++#
++###############################################################################
++
++ifdef W64
++CC = x86_64-pc-mingw32-gcc
++WINDRES = x86_64-pc-mingw32-windres
++AR = x86_64-pc-mingw32-ar
++STRIP = x86_64-pc-mingw32-strip
++else
++CC = mingw32-gcc
++WINDRES = windres
++AR = ar
++STRIP = strip
++endif
++
++SED = sed
++MKDIR = mkdir
++CP = cp
++RM = rm -f
++
++CFLAGS = -g -Wall -Wextra -O2
++# CFLAGS = -Wall -Wextra -O3 -fomit-frame-pointer -funroll-loops
++
++ALL_CFLAGS = -std=gnu99 -mms-bitfields
++
++ALL_CPPFLAGS = \
++	-I. \
++	-I../src/common \
++	-I../src/liblzma/api \
++	-I../src/liblzma/common \
++	-I../src/liblzma/check \
++	-I../src/liblzma/rangecoder \
++	-I../src/liblzma/lz \
++	-I../src/liblzma/lzma \
++	-I../src/liblzma/delta \
++	-I../src/liblzma/simple \
++	-I../src/liblzma/subblock
++
++ALL_CPPFLAGS += -DHAVE_CONFIG_H
++
++# This works with Wine too while using native GNU make, sed, and rm.
++ifdef WINE
++ifdef W64
++CC := wine c:/MinGW64/bin/x86_64-pc-mingw32-gcc
++WINDRES := wine c:/MinGW64/bin/x86_64-pc-mingw32-windres
++AR := wine c:/MinGW64/bin/x86_64-pc-mingw32-ar
++STRIP := wine c:/MinGW64/bin/x86_64-pc-mingw32-strip
++else
++CC := wine c:/MinGW/bin/gcc
++WINDRES := wine c:/MinGW/bin/windres
++AR := wine c:/MinGW/bin/ar
++STRIP := wine c:/MinGW/bin/strip
++endif
++endif
++
++ifdef DEBUG
++# Use echo since it works for this purpose on both Windows and POSIX.
++STRIP := echo Skipping strip
++else
++ALL_CPPFLAGS += -DNDEBUG
++endif
++
++ALL_CPPFLAGS += $(CPPFLAGS)
++ALL_CFLAGS += $(CFLAGS)
++
++
++################
++# Common rules #
++################
++
++.PHONY: all clean pkg
++all: liblzma xzdec xz
++clean: liblzma-clean xzdec-clean xz-clean
++
++pkg: all
++	$(RM) -r pkg
++	$(MKDIR) -p pkg/lib pkg/include/lzma
++	$(CP) liblzma.dll xz-dynamic.exe xz.exe xzdec-dynamic.exe xzdec.exe lzmadec-dynamic.exe lzmadec.exe pkg
++	$(CP) liblzma.a liblzma.def liblzma_static.lib pkg/lib
++	$(CP) ../src/liblzma/api/lzma.h pkg/include
++	$(CP) ../src/liblzma/api/lzma/*.h pkg/include/lzma
++
++%.o: %.rc
++	$(WINDRES) $(ALL_CPPFLAGS) $< $@
++
++
++###############
++# liblzma.dll #
++###############
++
++.PHONY: liblzma
++liblzma: liblzma.dll liblzma_static.lib
++
++LIBLZMA_SRCS_C = \
++	../src/liblzma/common/alone_decoder.c \
++	../src/liblzma/common/alone_encoder.c \
++	../src/liblzma/common/auto_decoder.c \
++	../src/liblzma/common/block_buffer_decoder.c \
++	../src/liblzma/common/block_buffer_encoder.c \
++	../src/liblzma/common/block_decoder.c \
++	../src/liblzma/common/block_encoder.c \
++	../src/liblzma/common/block_header_decoder.c \
++	../src/liblzma/common/block_header_encoder.c \
++	../src/liblzma/common/block_util.c \
++	../src/liblzma/common/common.c \
++	../src/liblzma/common/easy_buffer_encoder.c \
++	../src/liblzma/common/easy_decoder_memusage.c \
++	../src/liblzma/common/easy_encoder.c \
++	../src/liblzma/common/easy_encoder_memusage.c \
++	../src/liblzma/common/easy_preset.c \
++	../src/liblzma/common/filter_buffer_decoder.c \
++	../src/liblzma/common/filter_buffer_encoder.c \
++	../src/liblzma/common/filter_common.c \
++	../src/liblzma/common/filter_decoder.c \
++	../src/liblzma/common/filter_encoder.c \
++	../src/liblzma/common/filter_flags_decoder.c \
++	../src/liblzma/common/filter_flags_encoder.c \
++	../src/liblzma/common/index.c \
++	../src/liblzma/common/index_decoder.c \
++	../src/liblzma/common/index_encoder.c \
++	../src/liblzma/common/index_hash.c \
++	../src/liblzma/common/stream_buffer_decoder.c \
++	../src/liblzma/common/stream_buffer_encoder.c \
++	../src/liblzma/common/stream_decoder.c \
++	../src/liblzma/common/stream_encoder.c \
++	../src/liblzma/common/stream_flags_common.c \
++	../src/liblzma/common/stream_flags_decoder.c \
++	../src/liblzma/common/stream_flags_encoder.c \
++	../src/liblzma/common/vli_decoder.c \
++	../src/liblzma/common/vli_encoder.c \
++	../src/liblzma/common/vli_size.c \
++	../src/liblzma/check/check.c \
++	../src/liblzma/check/crc32_table.c \
++	../src/liblzma/check/crc64_table.c \
++	../src/liblzma/check/sha256.c \
++	../src/liblzma/rangecoder/price_table.c \
++	../src/liblzma/lz/lz_decoder.c \
++	../src/liblzma/lz/lz_encoder.c \
++	../src/liblzma/lz/lz_encoder_mf.c \
++	../src/liblzma/lzma/fastpos_table.c \
++	../src/liblzma/lzma/lzma2_decoder.c \
++	../src/liblzma/lzma/lzma2_encoder.c \
++	../src/liblzma/lzma/lzma_decoder.c \
++	../src/liblzma/lzma/lzma_encoder.c \
++	../src/liblzma/lzma/lzma_encoder_optimum_fast.c \
++	../src/liblzma/lzma/lzma_encoder_optimum_normal.c \
++	../src/liblzma/lzma/lzma_encoder_presets.c \
++	../src/liblzma/delta/delta_common.c \
++	../src/liblzma/delta/delta_decoder.c \
++	../src/liblzma/delta/delta_encoder.c \
++	../src/liblzma/simple/arm.c \
++	../src/liblzma/simple/armthumb.c \
++	../src/liblzma/simple/ia64.c \
++	../src/liblzma/simple/powerpc.c \
++	../src/liblzma/simple/simple_coder.c \
++	../src/liblzma/simple/simple_decoder.c \
++	../src/liblzma/simple/simple_encoder.c \
++	../src/liblzma/simple/sparc.c \
++	../src/liblzma/simple/x86.c
++
++LIBLZMA_SRCS_ASM =
++
++ifdef W64
++LIBLZMA_SRCS_C += \
++	../src/liblzma/check/crc32_fast.c \
++	../src/liblzma/check/crc64_fast.c
++else
++LIBLZMA_SRCS_ASM += \
++	../src/liblzma/check/crc32_x86.S \
++	../src/liblzma/check/crc64_x86.S
++endif
++
++LIBLZMA_OBJS_C = $(LIBLZMA_SRCS_C:.c=.o)
++LIBLZMA_OBJS_ASM = $(LIBLZMA_SRCS_ASM:.S=.o)
++LIBLZMA_OBJS = \
++	$(LIBLZMA_OBJS_C) \
++	$(LIBLZMA_OBJS_ASM) \
++	../src/liblzma/liblzma_w32res.o
++
++LIBLZMA_OBJS_STATIC_C = $(LIBLZMA_SRCS_C:.c=-static.o)
++LIBLZMA_OBJS_STATIC_ASM = $(LIBLZMA_SRCS_ASM:.S=-static.o)
++LIBLZMA_OBJS_STATIC = $(LIBLZMA_OBJS_STATIC_C) $(LIBLZMA_OBJS_STATIC_ASM)
++
++# The sed is needed to remove ordinals from the .def file. I'm not going
++# to track the ordinal numbers, so people should link against liblzma.dll
++# only by using symbol names.
++liblzma.dll: $(LIBLZMA_OBJS)
++	$(CC) $(ALL_CFLAGS) -shared -o liblzma.dll $(LIBLZMA_OBJS) -Wl,--out-implib,liblzma.a,--output-def,liblzma.def.in
++	$(SED) 's/ \+@ *[0-9]\+//' liblzma.def.in > liblzma.def
++	$(RM) liblzma.def.in
++	$(STRIP) --strip-unneeded liblzma.a
++	$(STRIP) --strip-all liblzma.dll
++
++$(LIBLZMA_OBJS_C): %.o: %.c
++	$(CC) -DDLL_EXPORT $(ALL_CPPFLAGS) $(ALL_CFLAGS) -c -o $@ $<
++
++$(LIBLZMA_OBJS_ASM): %.o: %.S
++	$(CC) -DDLL_EXPORT $(ALL_CPPFLAGS) $(ALL_CFLAGS) -c -o $@ $<
++
++liblzma_static.lib: $(LIBLZMA_OBJS_STATIC)
++	$(RM) $@
++	$(AR) rcs $@ $(LIBLZMA_OBJS_STATIC)
++	$(STRIP) --strip-unneeded $@
++
++$(LIBLZMA_OBJS_STATIC_C): %-static.o: %.c
++	$(CC) $(ALL_CPPFLAGS) $(ALL_CFLAGS) -c -o $@ $<
++
++$(LIBLZMA_OBJS_STATIC_ASM): %-static.o: %.S
++	$(CC) $(ALL_CPPFLAGS) $(ALL_CFLAGS) -c -o $@ $<
++
++.PHONY: liblzma-clean
++liblzma-clean:
++	-$(RM) $(LIBLZMA_OBJS) $(LIBLZMA_OBJS_STATIC) liblzma.def.in liblzma.def liblzma.a liblzma.dll liblzma_static.lib
++
++
++###########################
++# xzdec.exe & lzmadec.exe #
++###########################
++
++.PHONY: xzdec
++xzdec: xzdec-dynamic.exe lzmadec-dynamic.exe xzdec.exe lzmadec.exe
++
++XZDEC_SRCS = ../src/xzdec/xzdec.c
++
++xzdec-dynamic.exe: liblzma.dll $(XZDEC_SRCS) ../src/xzdec/xzdec_w32res.o
++	$(CC) $(ALL_CPPFLAGS) $(ALL_CFLAGS) $(XZDEC_SRCS) ../src/xzdec/xzdec_w32res.o -o $@ liblzma.a
++	$(STRIP) --strip-all $@
++
++lzmadec-dynamic.exe: liblzma.dll $(XZDEC_SRCS) ../src/xzdec/lzmadec_w32res.o
++	$(CC) $(ALL_CPPFLAGS) -DLZMADEC $(ALL_CFLAGS) $(XZDEC_SRCS) ../src/xzdec/lzmadec_w32res.o -o $@ liblzma.a
++	$(STRIP) --strip-all $@
++
++xzdec.exe: liblzma_static.lib $(XZDEC_SRCS) ../src/xzdec/xzdec_w32res.o
++	$(CC) -DLZMA_API_STATIC $(ALL_CPPFLAGS) $(ALL_CFLAGS) $(XZDEC_SRCS) ../src/xzdec/xzdec_w32res.o -o $@ liblzma_static.lib
++	$(STRIP) --strip-all $@
++
++lzmadec.exe: liblzma_static.lib $(XZDEC_SRCS) ../src/xzdec/lzmadec_w32res.o
++	$(CC) -DLZMA_API_STATIC $(ALL_CPPFLAGS) -DLZMADEC $(ALL_CFLAGS) $(XZDEC_SRCS) ../src/xzdec/lzmadec_w32res.o -o $@ liblzma_static.lib
++	$(STRIP) --strip-all $@
++
++.PHONY: xzdec-clean
++xzdec-clean:
++	-$(RM) xzdec-dynamic.exe lzmadec-dynamic.exe xzdec.exe lzmadec.exe ../src/xzdec/xzdec_w32res.o ../src/xzdec/lzmadec_w32res.o
++
++
++##########
++# xz.exe #
++##########
++
++.PHONY: xz
++xz: xz-dynamic.exe xz.exe
++
++XZ_SRCS = \
++	../src/xz/args.c \
++	../src/xz/coder.c \
++	../src/xz/file_io.c \
++	../src/xz/hardware.c \
++	../src/xz/main.c \
++	../src/xz/message.c \
++	../src/xz/options.c \
++	../src/xz/signals.c \
++	../src/xz/suffix.c \
++	../src/xz/util.c
++
++XZ_OBJS = $(XZ_SRCS:.c=.o)
++XZ_OBJS_STATIC = $(XZ_SRCS:.c=-static.o)
++
++$(XZ_OBJS): %.o: %.c
++	$(CC) $(ALL_CPPFLAGS) $(ALL_CFLAGS) -c -o $@ $<
++
++xz-dynamic.exe: liblzma.dll $(XZ_OBJS) ../src/xz/xz_w32res.o
++	$(CC) $(ALL_CFLAGS) $(XZ_OBJS) ../src/xz/xz_w32res.o -o $@ liblzma.a
++	$(STRIP) --strip-all $@
++
++$(XZ_OBJS_STATIC): %-static.o: %.c
++	$(CC) -DLZMA_API_STATIC $(ALL_CPPFLAGS) $(ALL_CFLAGS) -c -o $@ $<
++
++xz.exe: liblzma_static.lib $(XZ_OBJS_STATIC) ../src/xz/xz_w32res.o
++	$(CC) $(ALL_CFLAGS) $(XZ_OBJS_STATIC) ../src/xz/xz_w32res.o -o $@ liblzma_static.lib
++	$(STRIP) --strip-all $@
++
++.PHONY: xz-clean
++xz-clean:
++	-$(RM) $(XZ_OBJS) $(XZ_OBJS_STATIC) ../src/xz/xz_w32res.o xz-dynamic.exe xz.exe
+diff --git a/storage/tokudb/tests/Makefile b/storage/tokudb/tests/Makefile
+new file mode 100644
+index 0000000..47e2027
+--- /dev/null
++++ b/storage/tokudb/tests/Makefile
+@@ -0,0 +1,53 @@
++SRCS = $(wildcard *.cc)
++TARGETS = $(patsubst %.cc,%,$(SRCS))
++CHECKS = $(patsubst %,%.check,$(TARGETS))
++CPPFLAGS = -I.. -D__STDC_FORMAT_MACROS
++CXXFLAGS = -g -Wall -Wextra -Wno-missing-field-initializers -Wshadow
++ifdef USE_OPENMP
++CPPFLAGS += -DUSE_OPENMP
++CXXFLAGS += -fopenmp
++endif
++
++FRACTALTREE_BASE_DIR = ../ft-index
++FRACTALTREE_INSTALL_DIR = $(FRACTALTREE_BASE_DIR)/install.debug
++VALGRIND = valgrind -q --leak-check=full --show-reachable=yes --suppressions=$(FRACTALTREE_BASE_DIR)/ft/valgrind.suppressions --soname-synonyms=somalloc=*tokuportability*
++
++ifeq ($(GCOV),1)
++CXXFLAGS += -fprofile-arcs -ftest-coverage
++else
++CXXFLAGS += -O3
++endif
++
++all: $(TARGETS)
++
++clean:
++	rm -rf $(TARGETS) *.gcov *.gcno *.gcda *.testdir *.dSYM
++
++%.check: %
++	LD_LIBRARY_PATH=$(FRACTALTREE_INSTALL_DIR)/lib $(VALGRIND) ./$<
++
++card.check: $(patsubst %.cc,%.check,$(wildcard card*.cc))
++	true
++
++ifndef USE_OPENMP
++# unravel vlq_test_uint64 8 times
++vlq_test_uint64_%.check:
++	LD_LIBRARY_PATH=$(FRACTALTREE_INSTALL_DIR)/lib $(VALGRIND) ./vlq_test_uint64 $(patsubst vlq_test_uint64_%.check,%,$@) 8
++vlq_test_uint64.check: $(foreach i,0 1 2 3 4 5 6 7,vlq_test_uint64_$(i).check)
++	true
++endif
++
++vlq.check: $(patsubst %.cc,%.check,$(wildcard vlq*.cc))
++	true
++
++max_test.check: max_test
++	$(VALGRIND) ./$< 1 2
++
++check: $(CHECKS)
++	true
++
++%: %.cc
++	$(CXX) $(CPPFLAGS) $(CXXFLAGS) -g -o $@ $<
++
++card_%: card_%.cc
++	$(CXX) $(CPPFLAGS) $(CXXFLAGS) -g -o $@ $< -I.. -I$(FRACTALTREE_INSTALL_DIR)/include -L$(FRACTALTREE_INSTALL_DIR)/lib -ltokufractaltree -ltokuportability
diff --git a/meta-oe/recipes-dbs/mysql/mariadb/fix-mysqlclient-r-version.patch b/meta-oe/recipes-dbs/mysql/mariadb/fix-mysqlclient-r-version.patch
index 7516619..ad9f056 100644
--- a/meta-oe/recipes-dbs/mysql/mariadb/fix-mysqlclient-r-version.patch
+++ b/meta-oe/recipes-dbs/mysql/mariadb/fix-mysqlclient-r-version.patch
@@ -1,4 +1,4 @@
-From 6db2a606196fb38a6d106dc409eee1cb9a40a440 Mon Sep 17 00:00:00 2001
+From 4b8219492d04c45acb0f8c53c4d0f00057235d0a Mon Sep 17 00:00:00 2001
 From: Tor Didriksen <tor.didriksen@oracle.com>
 Date: Mon, 24 Jun 2013 17:15:35 +0200
 Subject: [PATCH] Bug#16809055 MYSQL 5.6 AND 5.7 STILL USE LIBMYSQLCLIENT.SO.18
@@ -25,12 +25,11 @@ Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
 
 ---
  cmake/install_macros.cmake | 25 +++++++++++++++----------
- cmake/mysql_version.cmake  |  3 ++-
- libmysql/CMakeLists.txt    | 36 ++++++++++++++++++++++++++++--------
- 3 files changed, 45 insertions(+), 19 deletions(-)
+ libmysql/CMakeLists.txt    | 34 +++++++++++++++++++++++++++-------
+ 2 files changed, 42 insertions(+), 17 deletions(-)
 
 diff --git a/cmake/install_macros.cmake b/cmake/install_macros.cmake
-index b8efdf8..a0d0e68 100644
+index 22a525d..f25ecc7 100644
 --- a/cmake/install_macros.cmake
 +++ b/cmake/install_macros.cmake
 @@ -1,4 +1,4 @@
@@ -39,8 +38,8 @@ index b8efdf8..a0d0e68 100644
  # 
  # This program is free software; you can redistribute it and/or modify
  # it under the terms of the GNU General Public License as published by
-@@ -111,28 +111,33 @@ FUNCTION(INSTALL_SCRIPT)
- ENDFUNCTION()
+@@ -167,28 +167,33 @@ ENDFUNCTION()
+ 
  
  # Install symbolic link to CMake target. 
 -# the link is created in the same directory as target
@@ -83,11 +82,11 @@ index b8efdf8..a0d0e68 100644
      # For Xcode, replace project config with install config
      STRING(REPLACE "${CMAKE_CFG_INTDIR}" 
 diff --git a/libmysql/CMakeLists.txt b/libmysql/CMakeLists.txt
-index be5760f..96286ff 100644
+index 7615630..df5d996 100644
 --- a/libmysql/CMakeLists.txt
 +++ b/libmysql/CMakeLists.txt
-@@ -180,6 +180,12 @@ IF(MSVC)
-  INSTALL_DEBUG_TARGET(mysqlclient DESTINATION ${INSTALL_LIBDIR}/debug)
+@@ -433,6 +433,12 @@ IF(MSVC)
+  INSTALL_DEBUG_TARGET(clientlib DESTINATION ${INSTALL_LIBDIR}/debug)
  ENDIF()
  
 +MACRO(GET_TARGET_NAME target out_name)
@@ -99,7 +98,7 @@ index be5760f..96286ff 100644
  IF(UNIX)
    MACRO(GET_VERSIONED_LIBNAME LIBNAME EXTENSION VERSION OUTNAME)
      SET(DOT_VERSION ".${VERSION}")
-@@ -192,7 +198,13 @@ IF(UNIX)
+@@ -445,7 +451,13 @@ IF(UNIX)
        SET(${OUTNAME} ${LIBNAME}${EXTENSION}${DOT_VERSION})
      ENDIF() 
    ENDMACRO()
@@ -114,7 +113,7 @@ index be5760f..96286ff 100644
  ENDIF()
  
  IF(NOT DISABLE_SHARED)
-@@ -205,10 +217,9 @@ IF(NOT DISABLE_SHARED)
+@@ -456,10 +468,9 @@ IF(NOT DISABLE_SHARED)
      # libtool compatability
      IF(CMAKE_SYSTEM_NAME MATCHES "FreeBSD" OR APPLE)
        SET(OS_SHARED_LIB_VERSION "${SHARED_LIB_MAJOR_VERSION}")
@@ -127,7 +126,7 @@ index be5760f..96286ff 100644
      ENDIF()
      # Name of shared library is mysqlclient on Unix
      SET_TARGET_PROPERTIES(libmysql PROPERTIES 
-@@ -239,8 +250,13 @@ IF(NOT DISABLE_SHARED)
+@@ -482,8 +493,13 @@ IF(NOT DISABLE_SHARED)
        "${CMAKE_SHARED_LIBRARY_SUFFIX}"
        ""
        linkname)
@@ -143,7 +142,7 @@ index be5760f..96286ff 100644
      LIST(REMOVE_DUPLICATES OS_SHARED_LIB_SYMLINKS)
      FOREACH(ver ${OS_SHARED_LIB_SYMLINKS})
        GET_VERSIONED_LIBNAME(
-@@ -248,7 +264,11 @@ IF(NOT DISABLE_SHARED)
+@@ -491,7 +507,11 @@ IF(NOT DISABLE_SHARED)
          "${CMAKE_SHARED_LIBRARY_SUFFIX}"
          "${ver}"
          linkname)
@@ -156,6 +155,3 @@ index be5760f..96286ff 100644
      ENDFOREACH()
    ENDIF()
  ENDIF()
--- 
-2.0.3
-
diff --git a/meta-oe/recipes-dbs/mysql/mariadb/remove-bad-path.patch b/meta-oe/recipes-dbs/mysql/mariadb/remove-bad-path.patch
index ff26b0b..eaafddf 100644
--- a/meta-oe/recipes-dbs/mysql/mariadb/remove-bad-path.patch
+++ b/meta-oe/recipes-dbs/mysql/mariadb/remove-bad-path.patch
@@ -1,4 +1,7 @@
-Remove host path from include directories
+From 2935a6c4419ad61ae56b4d1ab5c2f979fe7f73f0 Mon Sep 17 00:00:00 2001
+From: Paul Eggleton <paul.eggleton@linux.intel.com>
+Date: Fri, 8 Aug 2014 15:16:40 +0100
+Subject: [PATCH] Remove host path from include directories
 
 Naturally this breaks cross-compilation if present.
 
@@ -6,9 +9,15 @@ Upstream-Status: Pending
 
 Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
 
---- mariadb-5.5.38/storage/tokudb/ft-index/CMakeLists.txt	2014-07-17 14:37:04.529327998 +0100
-+++ mariadb-5.5.38/storage/tokudb/ft-index/CMakeLists.txt	2014-07-17 14:43:56.991337895 +0100
-@@ -39,7 +39,6 @@
+---
+ storage/tokudb/ft-index/CMakeLists.txt | 1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/storage/tokudb/ft-index/CMakeLists.txt b/storage/tokudb/ft-index/CMakeLists.txt
+index c6846da..bb4d573 100644
+--- a/storage/tokudb/ft-index/CMakeLists.txt
++++ b/storage/tokudb/ft-index/CMakeLists.txt
+@@ -64,7 +64,6 @@ include_directories(BEFORE ${CMAKE_CURRENT_BINARY_DIR}/buildheader)
  
  ## default includes and libraries
  include_directories(SYSTEM
