summaryrefslogtreecommitdiff
path: root/Build/source/texk/detex
diff options
context:
space:
mode:
authorHironobu Yamashita <h.y.acetaminophen@gmail.com>2020-06-15 11:23:15 +0000
committerHironobu Yamashita <h.y.acetaminophen@gmail.com>2020-06-15 11:23:15 +0000
commit49bbb921d593c99e17222554dc1a665981b04814 (patch)
treec6d94a87333ec68f0989731b7d19afbd29226143 /Build/source/texk/detex
parentffcc8f52e565c9d23f4d2de60b9506bd4b851227 (diff)
opendetex-2.8.7
git-svn-id: svn://tug.org/texlive/trunk@55553 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Build/source/texk/detex')
-rw-r--r--Build/source/texk/detex/ChangeLog4
-rwxr-xr-xBuild/source/texk/detex/configure22
-rw-r--r--Build/source/texk/detex/configure.ac2
-rw-r--r--Build/source/texk/detex/detex-src/ChangeLog12
-rw-r--r--Build/source/texk/detex/detex-src/Makefile4
-rw-r--r--Build/source/texk/detex/detex-src/README2
-rw-r--r--Build/source/texk/detex/detex-src/detex.c2237
-rw-r--r--Build/source/texk/detex/detex-src/detex.h5
-rw-r--r--Build/source/texk/detex/detex-src/detex.l162
-rw-r--r--Build/source/texk/detex/detex-src/detex.man6
10 files changed, 1336 insertions, 1120 deletions
diff --git a/Build/source/texk/detex/ChangeLog b/Build/source/texk/detex/ChangeLog
index 687b88a73ff..833c4e3a0ae 100644
--- a/Build/source/texk/detex/ChangeLog
+++ b/Build/source/texk/detex/ChangeLog
@@ -1,3 +1,7 @@
+2020-06-15 Hironobu Yamashita <h.y.acetaminophen@gmail.com>
+
+ * Import opendetex-2.8.7.
+
2020-03-15 Karl Berry <karl@freefriends.org>
* opendetex-2.8.6 is identical to what we compiled before.
diff --git a/Build/source/texk/detex/configure b/Build/source/texk/detex/configure
index dca44b2412b..1d0c8a6c2b1 100755
--- a/Build/source/texk/detex/configure
+++ b/Build/source/texk/detex/configure
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for detex (TeX Live) 2.8.5.
+# Generated by GNU Autoconf 2.69 for detex (TeX Live) 2.8.7.
#
# Report bugs to <tex-k@tug.org>.
#
@@ -590,8 +590,8 @@ MAKEFLAGS=
# Identity of this package.
PACKAGE_NAME='detex (TeX Live)'
PACKAGE_TARNAME='detex--tex-live-'
-PACKAGE_VERSION='2.8.5'
-PACKAGE_STRING='detex (TeX Live) 2.8.5'
+PACKAGE_VERSION='2.8.7'
+PACKAGE_STRING='detex (TeX Live) 2.8.7'
PACKAGE_BUGREPORT='tex-k@tug.org'
PACKAGE_URL=''
@@ -1331,7 +1331,7 @@ 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 detex (TeX Live) 2.8.5 to adapt to many kinds of systems.
+\`configure' configures detex (TeX Live) 2.8.7 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1402,7 +1402,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of detex (TeX Live) 2.8.5:";;
+ short | recursive ) echo "Configuration of detex (TeX Live) 2.8.7:";;
esac
cat <<\_ACEOF
@@ -1521,7 +1521,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-detex (TeX Live) configure 2.8.5
+detex (TeX Live) configure 2.8.7
generated by GNU Autoconf 2.69
Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2177,7 +2177,7 @@ 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 detex (TeX Live) $as_me 2.8.5, which was
+It was created by detex (TeX Live) $as_me 2.8.7, which was
generated by GNU Autoconf 2.69. Invocation command line was
$ $0 $@
@@ -7864,7 +7864,7 @@ fi
# Define the identity of the package.
PACKAGE='detex--tex-live-'
- VERSION='2.8.5'
+ VERSION='2.8.7'
cat >>confdefs.h <<_ACEOF
@@ -14080,7 +14080,7 @@ Usage: $0 [OPTIONS]
Report bugs to <bug-libtool@gnu.org>."
lt_cl_version="\
-detex (TeX Live) config.lt 2.8.5
+detex (TeX Live) config.lt 2.8.7
configured by $0, generated by GNU Autoconf 2.69.
Copyright (C) 2011 Free Software Foundation, Inc.
@@ -15668,7 +15668,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by detex (TeX Live) $as_me 2.8.5, which was
+This file was extended by detex (TeX Live) $as_me 2.8.7, which was
generated by GNU Autoconf 2.69. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -15734,7 +15734,7 @@ _ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
-detex (TeX Live) config.status 2.8.5
+detex (TeX Live) config.status 2.8.7
configured by $0, generated by GNU Autoconf 2.69,
with options \\"\$ac_cs_config\\"
diff --git a/Build/source/texk/detex/configure.ac b/Build/source/texk/detex/configure.ac
index d6c9bf8dd58..a544d2ccde9 100644
--- a/Build/source/texk/detex/configure.ac
+++ b/Build/source/texk/detex/configure.ac
@@ -6,7 +6,7 @@ dnl This file is free software; the copyright holder
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
dnl
-m4_define([detex_version], [2.8.5])[]dnl using unmodified detex source tree
+m4_define([detex_version], [2.8.7])[]dnl using unmodified detex source tree
AC_INIT([detex (TeX Live)], detex_version, [tex-k@tug.org])
AC_PREREQ([2.65])
AC_CONFIG_SRCDIR([detex-src/detex.l])
diff --git a/Build/source/texk/detex/detex-src/ChangeLog b/Build/source/texk/detex/detex-src/ChangeLog
index 043c59be7ca..a9d5a24fef6 100644
--- a/Build/source/texk/detex/detex-src/ChangeLog
+++ b/Build/source/texk/detex/detex-src/ChangeLog
@@ -190,3 +190,15 @@ Started treating newlines in inline math as spaces (#45). Thanks to sgerwk.
Fixed man page on macOS (#47). Thanks to FX Coudert.
Added -v option for showing version.
+
+(Version 2.8.6) -- January, 2020
+
+Fixed buffer overflow (CVE-2019-19601 #60). Thanks to Akira Kakuto, Norbert Preining and TeX Live team.
+
+(Version 2.8.7) -- June, 2020
+
+Reduced size of .tar.bz2 package by excluding object file added by mistake.
+
+Handle forcing placement with ! (#62). Thanks to schrc3b6.
+
+Added option to print source information with -1 (#64). Thanks to Victor Cacciari Miraldo.
diff --git a/Build/source/texk/detex/detex-src/Makefile b/Build/source/texk/detex/detex-src/Makefile
index 7f618f821b5..c00420acfa5 100644
--- a/Build/source/texk/detex/detex-src/Makefile
+++ b/Build/source/texk/detex/detex-src/Makefile
@@ -105,7 +105,7 @@ SRC = detex.l
#
D_OBJ = detex.o
-VERSION = 2.8.5
+VERSION = 2.8.7
all: ${PROGS}
@@ -151,7 +151,7 @@ run: delatex
./delatex in > out.txt
package: clean detex.c
- tar cjfv opendetex-${VERSION}.tar.bz2 ChangeLog COPYRIGHT detex.* INSTALL Makefile README
+ tar cjfv opendetex-${VERSION}.tar.bz2 --exclude='*.o' ChangeLog COPYRIGHT detex.* INSTALL Makefile README
# Dependencies
#
diff --git a/Build/source/texk/detex/detex-src/README b/Build/source/texk/detex/detex-src/README
index f934d1f2cff..49814c531ce 100644
--- a/Build/source/texk/detex/detex-src/README
+++ b/Build/source/texk/detex/detex-src/README
@@ -1,4 +1,4 @@
-OpenDetex - Version 2.8.5
+OpenDetex - Version 2.8.7
OpenDetex is a program to remove TeX constructs from a text file. It recognizes
the \input command.
diff --git a/Build/source/texk/detex/detex-src/detex.c b/Build/source/texk/detex/detex-src/detex.c
index 86ef44e6ffc..61e35f07411 100644
--- a/Build/source/texk/detex/detex-src/detex.c
+++ b/Build/source/texk/detex/detex-src/detex.c
@@ -36,7 +36,7 @@
*/
/*
- * detex [-e environment-list] [-c] [-l] [-n] [-s] [-t] [-w] [file[.tex] ]
+ * detex [-e environment-list] [-c] [-l] [-n] [-s] [-t] [-w] [-1] [file[.tex] ]
*
* This program is used to remove TeX or LaTeX constructs from a text
* file.
@@ -609,14 +609,14 @@ static const YY_CHAR yy_ec[256] =
1, 4, 5, 1, 1, 6, 7, 1, 8, 9,
10, 11, 12, 13, 14, 15, 1, 16, 16, 16,
16, 16, 17, 17, 17, 17, 17, 1, 1, 18,
- 19, 20, 5, 21, 22, 23, 23, 23, 24, 23,
- 23, 23, 23, 23, 23, 25, 23, 23, 26, 23,
- 23, 23, 23, 23, 23, 23, 23, 23, 23, 23,
- 27, 28, 29, 1, 1, 30, 31, 32, 33, 34,
-
- 35, 36, 37, 38, 39, 25, 40, 41, 42, 43,
- 44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
- 54, 55, 56, 57, 58, 59, 1, 1, 1, 1,
+ 19, 20, 21, 22, 23, 24, 24, 24, 25, 24,
+ 24, 24, 24, 24, 24, 26, 24, 24, 27, 24,
+ 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
+ 28, 29, 30, 1, 1, 31, 32, 33, 34, 35,
+
+ 36, 37, 38, 39, 40, 26, 41, 42, 43, 44,
+ 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
+ 55, 56, 57, 58, 59, 60, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
@@ -633,174 +633,174 @@ static const YY_CHAR yy_ec[256] =
1, 1, 1, 1, 1
} ;
-static const YY_CHAR yy_meta[60] =
+static const YY_CHAR yy_meta[61] =
{ 0,
- 1, 2, 3, 2, 1, 1, 1, 4, 1, 1,
- 1, 1, 5, 6, 1, 6, 6, 1, 6, 1,
- 7, 8, 8, 8, 8, 8, 1, 9, 10, 6,
- 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
- 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
- 8, 8, 8, 8, 8, 11, 1, 12, 1
+ 1, 2, 3, 2, 4, 1, 1, 5, 1, 1,
+ 1, 1, 6, 7, 1, 7, 7, 1, 7, 1,
+ 1, 8, 9, 9, 9, 9, 9, 1, 10, 11,
+ 7, 9, 9, 9, 9, 9, 9, 9, 9, 9,
+ 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
+ 9, 9, 9, 9, 9, 9, 12, 1, 13, 1
} ;
static const flex_int16_t yy_base[1415] =
{ 0,
- 0, 0, 0, 1, 2, 6, 14, 29, 11, 33,
- 40, 45, 93, 0, 152, 0, 211, 0, 268, 271,
- 319, 0, 16, 25, 376, 379, 381, 384, 387, 398,
- 20, 378, 3305, 3304, 390, 403, 26, 37, 46, 49,
- 3316, 3315, 23, 24, 3330, 3335, 3335, 3335, 3335, 3335,
- 3335, 3323, 3335, 236, 3278, 0, 3335, 3324, 3335, 0,
- 3335, 3323, 3335, 3335, 3335, 3335, 266, 3275, 3335, 3322,
- 3335, 3295, 3292, 3315, 0, 3312, 3306, 3304, 22, 3309,
- 461, 3286, 396, 3335, 3335, 3335, 3335, 519, 3335, 0,
- 287, 0, 3259, 3335, 522, 525, 0, 528, 3335, 3335,
-
- 3335, 504, 3264, 3335, 0, 3335, 3335, 3310, 3277, 3335,
- 3335, 3335, 410, 3261, 0, 3335, 3307, 0, 3335, 3306,
- 3335, 3335, 3335, 3305, 0, 3335, 3335, 3335, 3335, 3335,
- 3335, 3335, 0, 0, 3272, 3335, 0, 3335, 278, 3335,
- 3271, 3262, 3269, 3272, 3267, 36, 3269, 0, 3297, 0,
- 3296, 3335, 3263, 3254, 3261, 3264, 3259, 244, 3261, 3290,
- 3258, 3335, 3335, 0, 3335, 3335, 3275, 45, 3268, 3243,
- 3335, 3335, 3335, 0, 68, 532, 535, 3335, 265, 384,
- 6, 274, 258, 3207, 267, 250, 546, 3214, 552, 390,
- 559, 3203, 391, 564, 393, 3175, 36, 3335, 550, 416,
-
- 556, 572, 3150, 0, 0, 592, 0, 582, 605, 0,
- 616, 3166, 3157, 3164, 3153, 3335, 3150, 3134, 3141, 3142,
- 3137, 353, 3139, 0, 3157, 3107, 3335, 3114, 3099, 3105,
- 3108, 2897, 405, 2899, 0, 2927, 0, 2926, 3335, 0,
- 0, 2885, 0, 621, 627, 2881, 3335, 2880, 2880, 2878,
- 2881, 265, 2874, 2875, 3335, 2874, 2874, 2872, 2874, 384,
- 2867, 2875, 3335, 2905, 0, 630, 633, 3335, 2885, 2882,
- 2876, 2872, 2876, 2876, 2857, 2864, 2868, 2869, 2867, 2856,
- 514, 369, 2854, 535, 2851, 2865, 2853, 2853, 2842, 413,
- 2854, 603, 2839, 2835, 2841, 2853, 408, 2852, 2847, 2849,
-
- 2827, 2836, 2839, 2826, 542, 599, 586, 2823, 2834, 2827,
- 2837, 2821, 2821, 3335, 2820, 2820, 2818, 2821, 595, 2814,
- 2827, 2813, 3335, 2812, 2812, 2810, 2813, 610, 2806, 2819,
- 2804, 2803, 2802, 2814, 2800, 2799, 2797, 2809, 2794, 646,
- 3335, 2813, 3335, 624, 2802, 503, 2795, 2804, 2794, 2798,
- 2786, 0, 2790, 2788, 2779, 2778, 2787, 2794, 2789, 2782,
- 2783, 2767, 2773, 2780, 2779, 2778, 628, 2777, 640, 2763,
- 2769, 2774, 2769, 2776, 2771, 2752, 2763, 2753, 629, 2753,
- 2755, 632, 2750, 2750, 621, 2765, 2757, 2764, 665, 2736,
- 2743, 2753, 2750, 2758, 2740, 2739, 2738, 2750, 3335, 2736,
-
- 2735, 2734, 2746, 681, 2731, 2744, 2739, 2723, 2722, 2735,
- 2734, 2719, 2732, 2722, 2717, 2716, 2711, 2715, 2708, 2717,
- 2706, 2705, 0, 2706, 2709, 2709, 2706, 2711, 2700, 2704,
- 2700, 2711, 2696, 2692, 2688, 2691, 736, 2698, 2706, 2690,
- 2692, 2692, 2699, 2702, 646, 2694, 2686, 2718, 2693, 2692,
- 2674, 2670, 2675, 2691, 0, 2687, 2678, 2671, 2679, 2669,
- 2674, 2678, 2671, 2678, 388, 2671, 2658, 2658, 2670, 0,
- 2655, 2666, 3335, 2651, 2652, 2661, 2664, 2645, 2658, 2657,
- 2641, 2640, 2653, 2652, 2637, 693, 696, 2641, 2635, 2634,
- 2647, 2637, 2627, 2625, 2638, 3335, 2629, 2628, 668, 2625,
-
- 703, 2634, 2624, 2609, 2627, 2629, 2625, 2624, 2611, 2622,
- 2611, 2611, 763, 2619, 2605, 2618, 0, 0, 790, 696,
- 670, 817, 0, 0, 2604, 2614, 666, 2597, 2604, 2595,
- 2601, 2609, 2594, 2595, 2588, 3335, 2608, 2602, 2600, 2597,
- 2596, 2586, 2597, 2584, 2577, 2579, 680, 0, 2577, 2579,
- 2572, 2585, 2585, 2572, 2584, 2561, 2580, 864, 2577, 2576,
- 2579, 718, 2559, 2563, 2557, 2556, 2569, 2559, 2553, 2552,
- 2565, 721, 2564, 2559, 2546, 2556, 2544, 2540, 2539, 2543,
- 2551, 2550, 725, 739, 2538, 2542, 2537, 2530, 2532, 2542,
- 2531, 2541, 2541, 2536, 2521, 891, 718, 686, 918, 0,
-
- 752, 2534, 2532, 729, 714, 741, 2521, 684, 2531, 2522,
- 2520, 2520, 610, 2516, 758, 2525, 2523, 2516, 2510, 2512,
- 2513, 2514, 2507, 2511, 2492, 2514, 0, 2496, 2490, 2493,
- 2504, 2502, 2480, 2487, 2487, 2481, 2486, 2487, 2486, 2481,
- 2468, 2482, 2485, 2466, 2466, 2471, 2474, 0, 2467, 965,
- 753, 766, 992, 0, 784, 795, 2469, 811, 808, 2466,
- 2469, 2457, 2467, 2455, 2452, 2452, 2447, 2457, 2455, 2440,
- 2446, 2455, 820, 2442, 0, 2438, 2442, 2465, 2419, 2422,
- 2416, 2419, 2428, 2427, 2424, 810, 768, 773, 2412, 767,
- 2421, 2408, 2406, 2406, 641, 2402, 840, 827, 834, 1039,
-
- 2394, 759, 800, 843, 868, 2411, 0, 2407, 2388, 2383,
- 2380, 2396, 2383, 0, 2384, 2379, 2365, 2385, 2373, 2370,
- 2368, 0, 2358, 2388, 2349, 2343, 2345, 2349, 2353, 2335,
- 0, 2339, 2335, 2338, 2317, 2325, 2325, 858, 841, 844,
- 2309, 806, 2319, 2299, 2304, 2296, 851, 2288, 884, 908,
- 914, 1066, 928, 911, 2289, 921, 0, 2281, 2275, 2274,
- 2278, 2266, 2270, 2261, 2265, 2266, 2266, 2267, 0, 3335,
- 0, 2247, 856, 2234, 0, 0, 565, 847, 894, 942,
- 971, 987, 0, 925, 885, 1093, 0, 2236, 2238, 2234,
- 2226, 2221, 2228, 2215, 2220, 2207, 2147, 2158, 2153, 0,
-
- 2146, 2146, 2134, 2131, 0, 3335, 2148, 2140, 2128, 2139,
- 2126, 2125, 36, 241, 282, 333, 416, 485, 911, 1002,
- 1015, 1019, 1046, 0, 939, 942, 1140, 0, 1071, 0,
- 1082, 511, 1100, 529, 539, 567, 577, 596, 996, 614,
- 647, 671, 678, 687, 0, 0, 3335, 732, 733, 1103,
- 1109, 986, 945, 955, 756, 943, 794, 799, 812, 835,
- 916, 846, 1118, 854, 878, 896, 916, 913, 931, 940,
- 0, 935, 0, 0, 981, 944, 980, 1001, 0, 967,
- 0, 977, 982, 992, 998, 1004, 993, 989, 0, 990,
- 1010, 1007, 1018, 1162, 1166, 1084, 1046, 1049, 1026, 1081,
-
- 1038, 1023, 1034, 1037, 1082, 1044, 1187, 1061, 1190, 3335,
- 3335, 1193, 3335, 1043, 1045, 1067, 1082, 1080, 1196, 1251,
- 1077, 1086, 1082, 1099, 1079, 1105, 1093, 1087, 1199, 1216,
- 1133, 1231, 1235, 1267, 1139, 3335, 0, 1094, 1093, 1136,
- 0, 0, 1111, 0, 3335, 0, 1118, 3335, 0, 0,
- 1113, 0, 1120, 1126, 1166, 1142, 1129, 0, 1141, 1136,
- 1279, 1288, 1193, 1292, 1296, 1300, 1173, 3335, 3335, 1148,
- 1165, 1163, 1168, 0, 0, 1206, 1208, 1357, 0, 1182,
- 1172, 0, 1179, 1187, 1174, 1181, 1188, 1353, 1404, 1201,
- 1201, 1204, 1207, 1212, 0, 1227, 1224, 1226, 0, 0,
-
- 1224, 3335, 1228, 1233, 1225, 1230, 1367, 1448, 1245, 1244,
- 1258, 1266, 1244, 1248, 1241, 0, 1298, 1291, 1294, 1272,
- 1285, 1285, 1267, 1279, 1281, 1295, 1281, 1380, 1288, 0,
- 1284, 1300, 1292, 1492, 1519, 1384, 1331, 1335, 1546, 0,
- 1300, 1299, 1314, 1327, 1323, 3335, 1320, 0, 1354, 1324,
- 1333, 1328, 1593, 1620, 1432, 1362, 1364, 1647, 0, 1342,
- 1343, 1361, 1355, 1439, 1354, 1369, 1397, 1468, 1482, 1499,
- 1389, 3335, 1361, 0, 0, 1694, 0, 1513, 1438, 1407,
- 1721, 0, 1441, 1423, 1428, 1372, 1426, 1393, 1389, 1390,
- 1395, 1433, 1402, 1476, 1398, 1413, 1444, 1768, 1434, 1420,
-
- 3335, 1462, 0, 1806, 0, 1526, 1472, 1482, 1833, 0,
- 1536, 1495, 1526, 1430, 1458, 1447, 1452, 1471, 1477, 1521,
- 1480, 1562, 1482, 1489, 1521, 1880, 1570, 3335, 1504, 0,
- 1506, 1505, 1543, 1517, 1573, 0, 1583, 1567, 1573, 1514,
- 1559, 1553, 1551, 1559, 1561, 1578, 1561, 1610, 1599, 1615,
- 1636, 1651, 1572, 1918, 1945, 1642, 1626, 1609, 1972, 0,
- 1581, 0, 3335, 0, 1643, 1649, 1651, 1585, 1614, 1599,
- 1599, 1618, 1627, 1639, 1625, 1671, 1660, 1699, 1710, 1725,
- 1623, 2019, 2046, 1716, 1700, 1688, 2073, 0, 0, 1640,
- 1635, 1682, 1687, 1740, 1688, 1714, 1743, 1746, 1773, 2120,
-
- 0, 1784, 1774, 1717, 2147, 0, 1777, 1723, 1762, 1649,
- 1726, 1665, 1665, 1708, 1715, 1732, 1717, 1797, 2195, 1786,
- 1802, 1809, 1828, 2253, 0, 1843, 1836, 1808, 2280, 0,
- 1841, 1811, 1824, 1728, 1821, 1761, 1744, 1771, 1775, 1810,
- 1774, 1858, 1783, 1790, 1825, 2327, 1841, 1887, 0, 1887,
- 1860, 1863, 1824, 1865, 1840, 1844, 1844, 1851, 1866, 1860,
- 1907, 1896, 1921, 1924, 1938, 0, 0, 1941, 0, 1935,
- 1901, 1922, 1861, 1922, 1880, 1878, 1893, 1911, 1921, 1911,
- 1982, 1951, 1995, 1999, 2025, 1910, 2365, 2392, 2040, 1977,
- 1955, 2419, 0, 2052, 1992, 2022, 2067, 2099, 2124, 1996,
-
- 2089, 2107, 2127, 2466, 0, 2258, 2080, 1999, 2493, 0,
- 2123, 2002, 2022, 1924, 1948, 1944, 1942, 1957, 1968, 1997,
- 1987, 2269, 2540, 2276, 2581, 2290, 0, 2128, 2035, 2049,
- 2000, 2026, 2038, 2020, 2035, 2037, 2071, 2036, 2287, 2070,
- 2304, 2333, 2347, 2622, 2355, 2663, 2368, 2097, 2361, 2381,
- 2398, 2704, 2761, 2429, 2818, 2442, 2471, 2875, 2272, 3335,
- 2933, 2945, 2957, 2969, 2981, 2993, 3005, 3017, 3029, 3041,
- 3053, 3065, 3077, 3089, 3101, 3113, 3125, 3137, 3147, 3157,
- 3166, 3174, 3183, 3185, 2076, 2091, 3193, 3203, 3213, 3225,
- 3237, 3244, 3246, 3254, 2108, 2109, 2111, 2125, 2138, 2144,
-
- 2145, 3266, 2146, 2147, 2148, 2150, 2151, 2152, 2153, 2159,
- 2160, 3278, 2163, 2165
+ 0, 0, 0, 1, 2, 6, 14, 26, 11, 30,
+ 43, 47, 96, 0, 156, 0, 216, 0, 274, 277,
+ 326, 0, 7, 8, 384, 387, 389, 392, 395, 406,
+ 20, 386, 3340, 3339, 398, 409, 39, 44, 16, 35,
+ 3352, 3351, 21, 25, 3366, 3371, 3371, 3371, 3371, 3371,
+ 3371, 3359, 3371, 241, 3313, 0, 3371, 3360, 3371, 0,
+ 3371, 3359, 3371, 3371, 3371, 3371, 272, 3310, 3371, 3358,
+ 3371, 3330, 3327, 3351, 0, 3348, 3342, 3340, 24, 3345,
+ 468, 3321, 403, 3371, 3371, 3371, 3371, 527, 3371, 0,
+ 294, 0, 3294, 3371, 530, 533, 0, 536, 3371, 3371,
+
+ 3371, 511, 3299, 3371, 0, 3371, 3371, 3346, 3312, 3371,
+ 3371, 3371, 418, 3296, 0, 3371, 3343, 0, 3371, 3342,
+ 3371, 3371, 3371, 3341, 0, 3371, 3371, 3371, 3371, 3371,
+ 3371, 3371, 0, 0, 3307, 3371, 0, 3371, 91, 3371,
+ 3306, 3297, 3304, 3307, 3302, 3, 3304, 0, 3333, 0,
+ 3332, 3371, 3298, 3289, 3296, 3299, 3294, 35, 3296, 3326,
+ 3293, 3371, 3371, 0, 3371, 3371, 3312, 43, 3317, 3316,
+ 3371, 3371, 3371, 0, 65, 540, 543, 3371, 271, 269,
+ 16, 279, 253, 3279, 266, 372, 554, 3286, 560, 255,
+ 567, 3289, 393, 572, 281, 3271, 273, 3371, 407, 414,
+
+ 425, 563, 3262, 0, 0, 558, 0, 572, 591, 0,
+ 607, 3278, 3277, 3284, 3279, 3371, 3278, 3269, 3276, 3279,
+ 3274, 360, 3276, 0, 3305, 3263, 3371, 3270, 3261, 3268,
+ 3271, 3266, 399, 3268, 0, 3297, 0, 3296, 3371, 0,
+ 0, 3254, 0, 578, 613, 3250, 3371, 3249, 3249, 3247,
+ 3250, 401, 3243, 3244, 3371, 3243, 3243, 3241, 3244, 515,
+ 3237, 3245, 3371, 3276, 0, 628, 633, 3371, 3255, 3252,
+ 3246, 3242, 3246, 3246, 3227, 3234, 3238, 3240, 3238, 3227,
+ 602, 418, 3225, 605, 3222, 3236, 3224, 3224, 3213, 43,
+ 3225, 611, 3214, 3211, 3217, 3229, 551, 3228, 3223, 3225,
+
+ 3203, 3216, 3219, 3206, 537, 608, 580, 3203, 3214, 3207,
+ 3217, 3201, 3201, 3371, 3200, 3200, 3198, 3201, 612, 3194,
+ 3207, 3194, 3371, 3193, 3193, 3191, 3194, 616, 3187, 3200,
+ 3185, 3184, 3183, 3195, 3181, 3180, 3179, 3191, 3176, 661,
+ 3371, 3195, 3371, 619, 3184, 510, 3177, 3186, 3176, 3180,
+ 3168, 0, 3176, 3175, 3166, 3165, 3174, 3181, 3176, 3169,
+ 3174, 3158, 3164, 3171, 3170, 3169, 632, 3168, 640, 3154,
+ 3160, 3165, 3160, 3167, 3162, 3143, 3154, 3145, 633, 3145,
+ 3147, 633, 3142, 3142, 643, 3157, 3149, 3156, 661, 3128,
+ 3134, 3131, 3117, 3125, 3108, 3107, 3104, 3116, 3371, 3102,
+
+ 3101, 3083, 3095, 682, 3080, 3078, 3066, 3033, 3032, 3036,
+ 3035, 3014, 3025, 3007, 3006, 3003, 2998, 3002, 2984, 2983,
+ 2972, 2965, 0, 2964, 2967, 2744, 2741, 2746, 2735, 2739,
+ 2736, 2747, 2732, 2728, 2724, 2727, 694, 2734, 2742, 2726,
+ 2728, 2727, 2734, 2737, 646, 2730, 2722, 2755, 2729, 2728,
+ 2710, 2706, 2711, 2727, 0, 2723, 2717, 2711, 2719, 2709,
+ 2714, 2718, 2711, 2718, 576, 2715, 2702, 2702, 2710, 0,
+ 2694, 2705, 3371, 2690, 2691, 2700, 2703, 2684, 2693, 2692,
+ 2677, 2676, 2689, 2688, 2673, 697, 700, 2677, 2671, 2670,
+ 2683, 2673, 2667, 2666, 2679, 3371, 2669, 2668, 671, 2665,
+
+ 712, 2674, 2664, 2653, 2671, 2673, 2669, 2668, 2655, 2666,
+ 2655, 2654, 715, 2662, 2648, 2661, 0, 0, 731, 709,
+ 705, 768, 0, 0, 2647, 2658, 685, 2641, 2648, 2639,
+ 2645, 2653, 2634, 2634, 2627, 3371, 2647, 2645, 2644, 2641,
+ 2640, 2626, 2637, 2624, 2617, 2623, 702, 0, 2621, 2623,
+ 2616, 2629, 2629, 2616, 2628, 2605, 2624, 747, 2621, 2619,
+ 2622, 754, 2603, 2607, 2601, 2600, 2613, 2603, 2597, 2596,
+ 2609, 763, 2608, 2607, 2594, 2604, 2592, 2588, 2587, 2591,
+ 2599, 2602, 771, 775, 2590, 2594, 2589, 2578, 2579, 2589,
+ 2578, 2588, 2588, 2583, 2568, 778, 771, 780, 827, 0,
+
+ 821, 2577, 2576, 783, 789, 802, 2565, 401, 2575, 2566,
+ 2564, 2564, 557, 2560, 818, 2569, 2567, 2560, 2558, 2561,
+ 2562, 2563, 2555, 2559, 2540, 2562, 0, 2548, 2542, 2546,
+ 2557, 2556, 2534, 2542, 2542, 2541, 2545, 2546, 2545, 2540,
+ 2528, 2542, 2545, 2526, 2526, 2532, 2535, 0, 2527, 835,
+ 818, 810, 877, 0, 880, 855, 2528, 883, 893, 2525,
+ 2528, 2516, 2526, 2514, 2512, 2508, 2506, 2516, 2514, 2499,
+ 2505, 2514, 896, 2502, 0, 2498, 2509, 2532, 2487, 2495,
+ 2489, 2492, 2501, 2501, 2498, 838, 824, 829, 2487, 618,
+ 2497, 2488, 2482, 2481, 822, 2477, 886, 899, 902, 931,
+
+ 2472, 771, 849, 905, 936, 2488, 0, 2487, 2468, 2465,
+ 2461, 2477, 2463, 0, 2465, 2460, 2449, 2469, 2458, 2446,
+ 2445, 0, 2435, 2470, 2430, 2428, 2431, 2431, 2435, 2424,
+ 0, 2424, 2421, 2424, 2414, 2413, 2415, 934, 852, 858,
+ 2396, 881, 2391, 2366, 2375, 2375, 891, 2369, 950, 959,
+ 962, 965, 968, 971, 2372, 981, 0, 2364, 2353, 2350,
+ 2363, 2343, 2350, 2340, 2345, 2345, 2346, 2346, 0, 3371,
+ 0, 2335, 584, 2322, 0, 0, 820, 902, 985, 998,
+ 1002, 1008, 0, 975, 911, 1053, 0, 2320, 2315, 2309,
+ 2311, 2303, 2310, 2300, 2305, 2294, 2290, 2300, 2296, 0,
+
+ 2288, 2287, 2275, 2274, 0, 3371, 2290, 2286, 2273, 2278,
+ 2264, 2263, 238, 243, 273, 340, 383, 415, 941, 1018,
+ 1030, 1034, 1063, 0, 998, 981, 1108, 0, 1021, 0,
+ 1056, 500, 1079, 606, 638, 659, 643, 662, 1088, 687,
+ 694, 697, 711, 718, 0, 0, 3371, 749, 749, 1115,
+ 1124, 1105, 991, 1001, 766, 952, 801, 828, 872, 879,
+ 996, 884, 1128, 890, 912, 913, 948, 943, 955, 982,
+ 0, 975, 0, 0, 1024, 985, 1008, 1032, 0, 999,
+ 0, 1013, 1014, 1023, 1027, 1039, 1028, 1025, 0, 1028,
+ 1043, 1044, 1043, 1133, 1160, 1165, 1078, 1081, 1054, 1070,
+
+ 1066, 1049, 1063, 1065, 1099, 1068, 1181, 1086, 1186, 3371,
+ 3371, 1189, 3371, 1079, 1085, 1089, 1104, 1107, 1192, 1205,
+ 1104, 1111, 1104, 1121, 1100, 1126, 1116, 1114, 1195, 1210,
+ 1152, 1226, 1233, 1240, 1160, 3371, 0, 1120, 1117, 1157,
+ 0, 0, 1135, 0, 3371, 0, 1142, 3371, 0, 0,
+ 1151, 0, 1156, 1159, 1199, 1175, 1161, 0, 1174, 1172,
+ 1258, 1248, 1209, 1262, 1271, 1285, 1191, 3371, 3371, 1192,
+ 1197, 1196, 1206, 0, 0, 1295, 1241, 1343, 0, 1219,
+ 1208, 0, 1218, 1226, 1213, 1220, 1228, 1320, 1391, 1238,
+ 1239, 1256, 1242, 1245, 0, 1260, 1259, 1263, 0, 0,
+
+ 1263, 3371, 1258, 1264, 1256, 1264, 1338, 1436, 1275, 1274,
+ 1289, 1286, 1275, 1279, 1272, 0, 1319, 1322, 1332, 1281,
+ 1309, 1297, 1296, 1307, 1310, 1320, 1309, 1369, 1312, 0,
+ 1308, 1325, 1313, 1407, 1429, 1414, 1381, 1348, 1481, 0,
+ 1323, 1317, 1334, 1342, 1335, 3371, 1336, 0, 1377, 1346,
+ 1363, 1351, 1452, 1459, 1488, 1410, 1385, 1533, 0, 1360,
+ 1362, 1419, 1437, 1497, 1370, 1393, 1477, 1500, 1537, 1549,
+ 1407, 3371, 1380, 0, 0, 1595, 0, 1558, 1490, 1492,
+ 1623, 0, 1495, 1502, 1506, 1389, 1444, 1407, 1429, 1436,
+ 1446, 1479, 1449, 1611, 1469, 1476, 1493, 1671, 1492, 1478,
+
+ 3371, 1521, 0, 1616, 0, 1619, 1548, 1528, 1710, 0,
+ 1555, 1538, 1541, 1492, 1541, 1512, 1520, 1533, 1535, 1552,
+ 1535, 1633, 1534, 1538, 1551, 1758, 1639, 3371, 1552, 0,
+ 1550, 1551, 1604, 1554, 1647, 0, 1662, 1600, 1630, 1557,
+ 1618, 1571, 1586, 1590, 1610, 1621, 1614, 1678, 1651, 1687,
+ 1690, 1699, 1615, 1693, 1764, 1745, 1700, 1702, 1803, 0,
+ 1621, 0, 3371, 0, 1719, 1704, 1707, 1638, 1694, 1664,
+ 1650, 1685, 1688, 1704, 1686, 1761, 1724, 1780, 1792, 1807,
+ 1702, 1812, 1851, 1799, 1815, 1741, 1879, 0, 0, 1708,
+ 1704, 1746, 1750, 1857, 1766, 1796, 1867, 1870, 1874, 1927,
+
+ 0, 1889, 1869, 1805, 1955, 0, 1872, 1817, 1840, 1725,
+ 1774, 1742, 1742, 1745, 1749, 1814, 1754, 1895, 2004, 1884,
+ 1900, 1903, 1906, 1949, 0, 2063, 1930, 1904, 2121, 0,
+ 1952, 1907, 1910, 1779, 1939, 1805, 1790, 1807, 1819, 1926,
+ 1829, 2067, 1828, 1841, 1934, 2169, 1908, 2070, 0, 1964,
+ 1917, 1920, 1894, 1941, 1920, 1919, 1933, 1942, 1952, 1941,
+ 2073, 1976, 2076, 2084, 2088, 0, 0, 2091, 0, 2066,
+ 1980, 1983, 1948, 2055, 1968, 2007, 2024, 2041, 2051, 2050,
+ 2100, 2083, 2137, 2146, 2172, 2048, 2204, 2220, 2197, 2099,
+ 2091, 2255, 0, 2224, 2095, 2188, 2191, 2249, 2260, 2101,
+
+ 2272, 2275, 2278, 2303, 0, 2281, 2129, 2113, 2339, 0,
+ 2136, 2146, 2149, 2059, 2126, 2085, 2079, 2114, 2125, 2153,
+ 2131, 2308, 2387, 2355, 2429, 2362, 0, 2229, 2162, 2194,
+ 2136, 2154, 2167, 2150, 2169, 2171, 2191, 2171, 2358, 2213,
+ 2366, 2391, 2408, 2471, 2420, 2513, 2433, 2222, 2425, 2436,
+ 2450, 2555, 2613, 2453, 2671, 2462, 2495, 2729, 2346, 3371,
+ 2788, 2801, 2814, 2827, 2840, 2853, 2866, 2879, 2892, 2905,
+ 2918, 2931, 2944, 2957, 2970, 2983, 2996, 3009, 3020, 3031,
+ 3040, 3049, 3058, 3060, 2233, 2239, 3069, 3080, 3091, 3104,
+ 3117, 3124, 3126, 3135, 2245, 2246, 2251, 3145, 2252, 2256,
+
+ 3151, 3160, 2257, 2259, 2260, 2277, 2278, 2285, 2287, 2288,
+ 2290, 3173, 2291, 2293
} ;
static const flex_int16_t yy_def[1415] =
@@ -963,760 +963,768 @@ static const flex_int16_t yy_def[1415] =
1360, 1360, 1360, 1360
} ;
-static const flex_int16_t yy_nxt[3395] =
+static const flex_int16_t yy_nxt[3432] =
{ 0,
- 1360, 1360, 48, 48, 51, 1360, 1360, 52, 51, 1360,
- 1360, 52, 61, 62, 61, 57, 58, 57, 108, 53,
- 53, 53, 46, 53, 53, 53, 57, 108, 46, 54,
- 57, 58, 57, 54, 61, 62, 61, 168, 168, 46,
- 272, 57, 64, 109, 273, 65, 122, 64, 134, 55,
- 65, 134, 109, 55, 132, 49, 49, 66, 66, 66,
- 168, 168, 66, 66, 66, 132, 61, 67, 61, 57,
- 304, 59, 67, 135, 251, 123, 135, 124, 138, 138,
- 139, 139, 886, 305, 57, 252, 59, 68, 61, 266,
- 61, 266, 68, 69, 70, 71, 72, 73, 74, 75,
-
- 76, 69, 69, 69, 69, 77, 78, 69, 79, 79,
- 69, 69, 69, 69, 80, 80, 80, 80, 80, 69,
- 81, 69, 82, 80, 80, 80, 80, 80, 80, 80,
+ 1360, 1360, 48, 48, 51, 1360, 1360, 52, 51, 108,
+ 108, 52, 61, 62, 61, 57, 58, 57, 134, 53,
+ 53, 53, 46, 53, 53, 53, 57, 57, 58, 57,
+ 54, 61, 62, 61, 54, 109, 109, 134, 57, 168,
+ 168, 46, 251, 1360, 135, 64, 46, 122, 65, 64,
+ 55, 272, 65, 252, 55, 273, 49, 49, 168, 168,
+ 66, 66, 66, 135, 66, 66, 66, 61, 132, 61,
+ 57, 67, 59, 132, 259, 67, 123, 138, 124, 139,
+ 368, 138, 57, 139, 59, 260, 61, 266, 61, 266,
+ 369, 68, 244, 245, 244, 68, 69, 70, 71, 72,
+
+ 73, 74, 75, 76, 69, 69, 69, 69, 77, 78,
+ 69, 79, 79, 69, 69, 69, 73, 69, 80, 80,
+ 80, 80, 80, 69, 81, 69, 82, 80, 80, 80,
80, 80, 80, 80, 80, 80, 80, 80, 80, 80,
- 80, 80, 80, 80, 80, 80, 80, 80, 83, 84,
- 85, 86, 87, 88, 89, 88, 87, 87, 87, 90,
- 87, 87, 87, 87, 87, 90, 87, 91, 91, 87,
- 90, 87, 91, 91, 91, 91, 91, 91, 87, 92,
- 87, 90, 91, 91, 91, 91, 91, 91, 91, 91,
+ 80, 80, 80, 80, 80, 80, 80, 80, 80, 80,
+ 80, 80, 83, 84, 85, 86, 87, 88, 89, 88,
+ 87, 87, 87, 90, 87, 87, 87, 87, 87, 90,
+ 87, 91, 91, 87, 90, 87, 87, 91, 91, 91,
+ 91, 91, 91, 87, 92, 87, 90, 91, 91, 91,
91, 91, 91, 91, 91, 91, 91, 91, 91, 91,
- 91, 91, 91, 91, 91, 91, 91, 93, 87, 87,
- 87, 94, 95, 96, 95, 94, 94, 94, 94, 94,
+ 91, 91, 91, 91, 91, 91, 91, 91, 91, 91,
+ 91, 91, 93, 87, 87, 87, 94, 95, 96, 95,
94, 94, 94, 94, 94, 94, 94, 94, 94, 94,
- 94, 94, 97, 97, 97, 97, 97, 94, 94, 94,
- 94, 97, 97, 97, 97, 97, 97, 97, 97, 97,
+ 94, 94, 94, 94, 94, 94, 94, 94, 97, 97,
+ 97, 97, 97, 94, 94, 94, 94, 97, 97, 97,
+ 97, 97, 97, 97, 97, 97, 97, 97, 97, 97,
97, 97, 97, 97, 97, 97, 97, 97, 97, 97,
- 97, 97, 97, 97, 97, 97, 98, 94, 94, 94,
- 100, 152, 141, 100, 142, 269, 143, 144, 145, 244,
- 245, 244, 259, 146, 887, 101, 101, 101, 101, 101,
- 101, 270, 277, 260, 205, 102, 332, 282, 102, 280,
-
- 205, 278, 153, 283, 154, 205, 155, 156, 157, 333,
- 281, 274, 275, 158, 888, 103, 205, 276, 103, 104,
- 104, 46, 104, 104, 104, 104, 104, 104, 104, 104,
+ 97, 97, 98, 94, 94, 94, 100, 152, 141, 100,
+ 142, 269, 143, 144, 145, 886, 288, 887, 277, 146,
+ 289, 101, 101, 101, 101, 101, 101, 278, 270, 280,
+
+ 266, 205, 102, 271, 266, 102, 888, 205, 304, 153,
+ 281, 154, 205, 155, 156, 157, 301, 274, 275, 302,
+ 158, 305, 103, 276, 205, 103, 104, 104, 46, 104,
104, 104, 104, 104, 104, 104, 104, 104, 104, 104,
- 105, 105, 105, 105, 105, 104, 104, 104, 104, 105,
+ 104, 104, 104, 104, 104, 104, 104, 104, 105, 105,
+ 105, 105, 105, 104, 104, 104, 104, 105, 105, 105,
105, 105, 105, 105, 105, 105, 105, 105, 105, 105,
105, 105, 105, 105, 105, 105, 105, 105, 105, 105,
- 105, 105, 105, 105, 104, 104, 106, 104, 111, 889,
- 46, 111, 116, 117, 116, 116, 117, 116, 119, 120,
- 119, 318, 46, 112, 112, 112, 112, 112, 112, 119,
-
- 120, 119, 319, 113, 122, 46, 113, 199, 357, 199,
- 200, 201, 201, 358, 266, 336, 128, 271, 266, 227,
- 288, 291, 552, 114, 289, 292, 114, 301, 337, 128,
- 302, 306, 306, 123, 293, 124, 116, 553, 116, 116,
- 378, 116, 119, 327, 119, 129, 228, 130, 229, 368,
- 230, 231, 232, 119, 328, 119, 379, 233, 129, 369,
- 130, 171, 171, 890, 172, 171, 171, 171, 171, 173,
- 171, 171, 171, 171, 171, 171, 171, 171, 171, 171,
- 171, 174, 175, 174, 174, 176, 177, 178, 179, 171,
- 171, 180, 181, 182, 183, 184, 185, 174, 186, 187,
-
- 188, 189, 174, 190, 191, 192, 174, 193, 194, 195,
- 196, 197, 174, 174, 174, 174, 171, 171, 171, 171,
- 202, 891, 202, 208, 208, 208, 208, 208, 208, 211,
- 211, 211, 216, 267, 268, 267, 267, 268, 267, 911,
- 217, 419, 218, 420, 219, 220, 221, 267, 268, 267,
- 421, 222, 354, 267, 268, 267, 355, 356, 266, 914,
- 267, 268, 267, 212, 200, 201, 201, 360, 361, 213,
- 307, 201, 201, 202, 203, 202, 214, 209, 215, 362,
- 209, 387, 286, 208, 208, 208, 388, 915, 284, 268,
- 287, 846, 268, 266, 294, 295, 296, 916, 297, 205,
-
- 308, 389, 389, 268, 298, 205, 211, 211, 211, 268,
- 205, 266, 299, 300, 306, 306, 268, 211, 211, 211,
- 847, 205, 244, 245, 244, 917, 396, 203, 244, 245,
- 244, 340, 341, 340, 267, 268, 267, 209, 371, 397,
- 212, 401, 704, 308, 918, 372, 213, 340, 341, 340,
- 373, 212, 468, 214, 402, 215, 414, 213, 704, 415,
- 441, 458, 442, 921, 214, 469, 215, 463, 443, 459,
- 446, 447, 416, 779, 417, 444, 464, 460, 531, 465,
- 389, 389, 486, 486, 486, 604, 604, 341, 448, 779,
- 268, 922, 532, 533, 486, 486, 486, 572, 572, 572,
-
- 580, 686, 686, 341, 583, 583, 583, 618, 581, 308,
- 521, 522, 522, 638, 923, 619, 704, 639, 924, 658,
- 658, 658, 572, 572, 572, 704, 583, 583, 583, 1360,
- 1360, 640, 598, 599, 599, 925, 487, 519, 519, 519,
- 673, 673, 673, 1360, 604, 604, 573, 520, 487, 520,
- 521, 522, 522, 698, 698, 698, 703, 703, 584, 705,
- 705, 705, 699, 523, 596, 596, 596, 652, 653, 653,
- 927, 573, 674, 928, 597, 659, 597, 598, 599, 599,
- 584, 738, 738, 1360, 1360, 750, 750, 750, 778, 778,
- 600, 519, 519, 519, 751, 789, 753, 753, 753, 779,
-
- 932, 520, 790, 520, 521, 522, 522, 700, 779, 756,
- 756, 756, 658, 658, 658, 703, 703, 523, 605, 605,
- 605, 673, 673, 673, 1360, 686, 686, 932, 698, 698,
- 698, 606, 522, 522, 757, 698, 698, 698, 820, 752,
- 932, 780, 780, 780, 705, 705, 705, 820, 607, 608,
- 609, 610, 754, 674, 932, 611, 1360, 1360, 612, 819,
- 819, 613, 778, 778, 614, 650, 650, 650, 659, 705,
- 705, 705, 1360, 738, 738, 651, 932, 651, 652, 653,
- 653, 781, 700, 820, 782, 821, 821, 821, 843, 700,
- 932, 654, 596, 596, 596, 780, 780, 780, 937, 820,
-
- 852, 852, 597, 844, 597, 598, 599, 599, 938, 750,
- 750, 750, 829, 829, 829, 750, 750, 750, 600, 687,
- 687, 687, 756, 756, 756, 822, 819, 819, 823, 753,
- 753, 753, 688, 599, 599, 848, 939, 830, 849, 785,
- 786, 786, 940, 780, 780, 780, 941, 757, 932, 689,
- 690, 691, 692, 826, 827, 827, 693, 896, 896, 694,
- 1360, 1360, 695, 752, 932, 696, 650, 650, 650, 752,
- 931, 931, 780, 780, 780, 932, 651, 942, 651, 652,
- 653, 653, 943, 848, 932, 754, 849, 944, 780, 780,
- 780, 945, 654, 739, 739, 739, 946, 919, 919, 919,
-
- 1360, 852, 852, 821, 821, 821, 740, 653, 653, 850,
- 947, 948, 781, 949, 950, 782, 821, 821, 821, 951,
- 821, 821, 821, 741, 742, 743, 744, 851, 781, 952,
- 745, 782, 953, 746, 954, 955, 747, 956, 957, 748,
- 783, 783, 783, 892, 958, 959, 893, 821, 821, 821,
- 784, 920, 784, 785, 786, 786, 892, 894, 960, 893,
- 822, 1360, 1360, 823, 963, 963, 787, 824, 824, 824,
- 964, 964, 829, 829, 829, 964, 964, 825, 964, 825,
- 826, 827, 827, 909, 909, 909, 895, 822, 964, 969,
- 823, 970, 971, 828, 853, 853, 853, 830, 1360, 896,
-
- 896, 912, 912, 912, 780, 780, 780, 854, 786, 786,
- 780, 780, 780, 964, 964, 972, 973, 974, 980, 933,
- 933, 933, 964, 981, 855, 856, 857, 858, 982, 983,
- 964, 859, 984, 985, 860, 986, 987, 861, 994, 910,
- 862, 897, 897, 897, 781, 929, 995, 782, 931, 931,
- 781, 996, 997, 782, 898, 827, 827, 913, 930, 934,
- 998, 999, 935, 821, 821, 821, 1000, 821, 821, 821,
- 1001, 899, 900, 901, 902, 936, 1002, 863, 903, 993,
- 1003, 904, 1004, 1005, 905, 1006, 1013, 906, 965, 965,
- 965, 909, 909, 909, 912, 912, 912, 919, 919, 919,
-
- 780, 780, 780, 822, 961, 1014, 823, 822, 963, 963,
- 823, 907, 1015, 1012, 1016, 962, 1029, 780, 780, 780,
- 977, 978, 978, 1017, 1017, 1030, 1031, 1032, 966, 847,
- 1033, 967, 933, 933, 933, 1034, 933, 933, 933, 1041,
- 781, 1042, 863, 782, 968, 863, 1043, 910, 988, 1045,
- 913, 920, 975, 975, 975, 1046, 1044, 781, 1047, 1048,
- 782, 1049, 976, 989, 976, 977, 978, 978, 933, 933,
- 933, 1050, 990, 1051, 1052, 991, 990, 1053, 979, 991,
- 821, 821, 821, 1060, 1061, 1064, 1065, 1066, 936, 821,
- 821, 821, 936, 965, 965, 965, 907, 965, 965, 965,
-
- 1062, 965, 965, 965, 907, 992, 1360, 1360, 934, 1067,
- 1067, 935, 1360, 1017, 1017, 1063, 1068, 1068, 1068, 1068,
- 822, 1068, 1068, 823, 936, 1068, 1068, 1068, 1007, 822,
- 1073, 1074, 823, 1009, 1075, 1008, 1010, 1009, 1011, 1076,
- 1010, 966, 1095, 1068, 967, 1038, 1039, 1039, 1096, 968,
- 1083, 1083, 863, 968, 780, 780, 780, 968, 1018, 1018,
- 1018, 1099, 1100, 1097, 1101, 863, 1102, 1103, 821, 821,
- 821, 1019, 978, 978, 1098, 1104, 1057, 1058, 1058, 1111,
- 1111, 1069, 1069, 1069, 1123, 1036, 1036, 1036, 1020, 1021,
- 1022, 1023, 1124, 907, 781, 1024, 1129, 782, 1025, 907,
-
- 1035, 1026, 1126, 1130, 1027, 1036, 1036, 1036, 822, 1135,
- 1125, 823, 1067, 1067, 1054, 1037, 1150, 1037, 1038, 1039,
- 1039, 1070, 1137, 1137, 1071, 848, 1150, 1028, 849, 1134,
- 1150, 1040, 1150, 1055, 1055, 1055, 1150, 1072, 1360, 1360,
- 1127, 1127, 1127, 1149, 1149, 781, 1150, 1153, 782, 1055,
- 1055, 1055, 1080, 1081, 1081, 1360, 1083, 1083, 1150, 1056,
- 1154, 1056, 1057, 1058, 1058, 1150, 1161, 1150, 1162, 1069,
- 1069, 1069, 1163, 892, 1178, 1059, 893, 1151, 1151, 1151,
- 1178, 1150, 863, 1069, 1069, 1069, 1108, 1109, 1109, 822,
- 1178, 1155, 823, 1077, 1077, 1077, 1128, 1165, 1165, 1178,
-
- 1069, 1069, 1069, 1037, 1178, 1037, 1038, 1039, 1039, 1131,
- 1360, 1360, 1132, 1178, 1078, 1078, 1078, 1152, 1178, 1040,
- 1078, 1078, 1078, 1131, 1178, 1072, 1132, 1106, 1106, 1106,
- 1079, 1181, 1079, 1080, 1081, 1081, 1182, 1133, 1189, 1072,
- 1070, 1177, 1177, 1071, 1190, 1191, 1082, 1084, 1084, 1084,
- 1360, 1111, 1111, 1178, 848, 1028, 1072, 849, 1197, 907,
- 1085, 1039, 1039, 1179, 1179, 1179, 1193, 892, 1183, 1178,
- 893, 1127, 1127, 1127, 1194, 1194, 1194, 1086, 1087, 1088,
- 1089, 1028, 1360, 1360, 1090, 1192, 1197, 1091, 1196, 1196,
- 1092, 1197, 1197, 1093, 1105, 1105, 1105, 1360, 1137, 1137,
-
- 1197, 1197, 1197, 1180, 1056, 1197, 1056, 1057, 1058, 1058,
- 1197, 1198, 1198, 1198, 1149, 1149, 1151, 1151, 1151, 1200,
- 1059, 1106, 1106, 1106, 1207, 1207, 1197, 1128, 1219, 1221,
- 1195, 1107, 1221, 1107, 1108, 1109, 1109, 1151, 1151, 1151,
- 1158, 1159, 1159, 1156, 1156, 1156, 1221, 1110, 1112, 1112,
- 1112, 1221, 1151, 1151, 1151, 1221, 848, 1360, 1165, 1165,
- 1221, 1113, 1058, 1058, 1360, 1360, 1220, 1220, 1221, 1221,
- 1224, 1221, 1222, 1222, 1222, 1177, 1177, 848, 1114, 1115,
- 1116, 1117, 1243, 990, 1244, 1118, 991, 1221, 1119, 1199,
- 1247, 1120, 1152, 1263, 1121, 1136, 1136, 1136, 1263, 936,
-
- 1179, 1179, 1179, 1231, 1231, 1079, 1263, 1079, 1080, 1081,
- 1081, 1179, 1179, 1179, 1186, 1187, 1187, 1184, 1184, 1184,
- 1028, 1082, 1138, 1138, 1138, 1028, 1179, 1179, 1179, 1196,
- 1196, 1245, 1250, 1250, 1246, 1139, 1081, 1081, 1360, 1360,
- 892, 1194, 1194, 1194, 1198, 1198, 1198, 1198, 1198, 1198,
- 1263, 892, 1140, 1141, 1142, 1143, 1263, 1009, 1263, 1144,
- 1010, 1263, 1145, 1223, 1263, 1146, 1180, 1263, 1147, 1156,
- 1156, 1156, 1283, 968, 1151, 1151, 1151, 1262, 1262, 1157,
- 1263, 1157, 1158, 1159, 1159, 1202, 1202, 1202, 1204, 1205,
- 1205, 1360, 1207, 1207, 1283, 1160, 1283, 1195, 1264, 1264,
-
- 1264, 1220, 1220, 1222, 1222, 1222, 863, 1164, 1164, 1164,
- 1222, 1222, 1222, 1283, 1152, 1248, 1283, 1107, 1283, 1107,
- 1108, 1109, 1109, 1270, 1270, 990, 1360, 1360, 991, 1179,
- 1179, 1179, 1286, 1110, 1166, 1166, 1166, 1287, 1265, 1282,
- 1282, 936, 1283, 1247, 1226, 1226, 1226, 1167, 1109, 1109,
- 1228, 1229, 1229, 1283, 936, 1360, 1231, 1231, 1283, 1284,
- 1284, 1284, 1283, 1028, 1168, 1169, 1170, 1171, 1296, 1180,
- 1268, 1172, 1288, 1296, 1173, 1360, 1360, 1174, 1295, 1295,
- 1175, 1184, 1184, 1184, 1009, 1296, 1296, 1010, 1151, 1151,
- 1151, 1185, 1296, 1185, 1186, 1187, 1187, 1296, 1296, 1285,
-
- 968, 1360, 1250, 1250, 1296, 1301, 1296, 1188, 1297, 1297,
- 1297, 1262, 1262, 1301, 1296, 968, 1360, 1360, 907, 1201,
- 1201, 1201, 1264, 1264, 1264, 1264, 1264, 1264, 1152, 1157,
- 1301, 1157, 1158, 1159, 1159, 1301, 1294, 1300, 1300, 1264,
- 1264, 1264, 1179, 1179, 1179, 1160, 1202, 1202, 1202, 1360,
- 1270, 1270, 1301, 1301, 1301, 1301, 1203, 1304, 1203, 1204,
- 1205, 1205, 990, 1301, 936, 990, 1282, 1282, 1341, 1301,
- 1311, 1311, 1206, 1208, 1208, 1208, 1298, 1341, 936, 1265,
- 1341, 936, 1180, 1302, 1302, 1302, 1209, 1159, 1159, 1341,
- 1299, 1291, 1292, 1292, 1341, 936, 1284, 1284, 1284, 1341,
-
- 1284, 1284, 1284, 1210, 1211, 1212, 1213, 1295, 1295, 1341,
- 1214, 1300, 1300, 1215, 1328, 1328, 1216, 1360, 1360, 1217,
- 1225, 1225, 1225, 1297, 1297, 1297, 1284, 1284, 1284, 1341,
- 1185, 1341, 1185, 1186, 1187, 1187, 1009, 1340, 1340, 968,
- 1009, 1289, 1289, 1289, 1349, 1341, 1188, 1226, 1226, 1226,
- 1360, 1360, 968, 1151, 1151, 1151, 968, 1227, 1349, 1227,
- 1228, 1229, 1229, 1303, 1348, 1348, 1285, 1349, 1297, 1297,
- 1297, 1349, 1349, 1230, 1232, 1232, 1232, 1349, 1349, 936,
- 1349, 1131, 968, 210, 1132, 1340, 1340, 1233, 1187, 1187,
- 1302, 1302, 1302, 1152, 1308, 1309, 1309, 1072, 224, 1323,
-
- 1264, 1264, 1264, 1349, 1234, 1235, 1236, 1237, 1302, 1302,
- 1302, 1238, 1348, 1348, 1239, 615, 697, 1240, 749, 1349,
- 1241, 1249, 1249, 1249, 936, 1179, 1179, 1179, 1284, 1284,
- 1284, 1203, 832, 1203, 1204, 1205, 1205, 1360, 1311, 1311,
- 1265, 1324, 1360, 1328, 1328, 863, 968, 1206, 1251, 1251,
- 1251, 907, 908, 1028, 1094, 1122, 936, 1148, 1176, 1218,
- 1242, 1252, 1205, 1205, 968, 1180, 1261, 1281, 1285, 1326,
- 1322, 1325, 1339, 885, 884, 883, 882, 881, 1253, 1254,
- 1255, 1256, 880, 879, 968, 1257, 878, 877, 1258, 876,
- 875, 1259, 874, 873, 1260, 1266, 1266, 1266, 1266, 1266,
-
+ 105, 105, 104, 104, 106, 104, 111, 889, 46, 111,
+ 116, 117, 116, 116, 117, 116, 119, 120, 119, 318,
+
+ 46, 112, 112, 112, 112, 112, 112, 119, 120, 119,
+ 319, 46, 113, 122, 199, 113, 199, 200, 201, 201,
+ 282, 200, 201, 201, 291, 128, 283, 227, 292, 306,
+ 306, 890, 114, 332, 704, 114, 128, 293, 327, 307,
+ 201, 201, 123, 704, 124, 116, 333, 116, 116, 328,
+ 116, 119, 891, 119, 129, 228, 130, 229, 357, 230,
+ 231, 232, 119, 358, 119, 129, 233, 130, 171, 171,
+ 308, 172, 171, 171, 171, 171, 173, 171, 171, 171,
+ 171, 171, 171, 171, 171, 171, 171, 171, 171, 174,
+ 175, 174, 174, 176, 177, 178, 179, 171, 171, 180,
+
+ 181, 182, 183, 184, 185, 174, 186, 187, 188, 189,
+ 174, 190, 191, 192, 174, 193, 194, 195, 196, 197,
+ 174, 174, 174, 174, 171, 171, 171, 171, 202, 911,
+ 202, 208, 208, 208, 208, 208, 208, 211, 211, 211,
+ 216, 267, 268, 267, 267, 268, 267, 336, 217, 419,
+ 218, 420, 219, 220, 221, 267, 268, 267, 421, 222,
+ 337, 267, 268, 267, 202, 205, 202, 266, 267, 268,
+ 267, 205, 212, 208, 208, 208, 205, 387, 213, 244,
+ 245, 244, 388, 203, 378, 214, 209, 215, 205, 209,
+ 704, 286, 211, 211, 211, 389, 389, 284, 268, 287,
+
+ 379, 268, 266, 294, 295, 296, 704, 297, 211, 211,
+ 211, 552, 268, 298, 244, 245, 244, 843, 268, 203,
+ 266, 299, 300, 306, 306, 268, 553, 212, 209, 340,
+ 341, 340, 844, 213, 267, 268, 267, 914, 360, 361,
+ 214, 354, 215, 212, 396, 355, 356, 371, 401, 213,
+ 362, 779, 414, 308, 372, 415, 214, 397, 215, 373,
+ 779, 402, 340, 341, 340, 441, 458, 442, 416, 463,
+ 417, 446, 447, 443, 459, 468, 389, 389, 464, 531,
+ 444, 465, 460, 486, 486, 486, 341, 915, 469, 448,
+ 916, 268, 917, 532, 533, 519, 519, 519, 486, 486,
+
+ 486, 572, 572, 572, 580, 520, 308, 520, 521, 522,
+ 522, 918, 581, 583, 583, 583, 596, 596, 596, 341,
+ 604, 604, 523, 521, 522, 522, 597, 618, 597, 598,
+ 599, 599, 519, 519, 519, 619, 638, 921, 487, 922,
+ 639, 923, 520, 600, 520, 521, 522, 522, 650, 650,
+ 650, 573, 924, 487, 640, 658, 658, 658, 651, 523,
+ 651, 652, 653, 653, 572, 572, 572, 925, 584, 605,
+ 605, 605, 583, 583, 583, 654, 673, 673, 673, 596,
+ 596, 596, 606, 522, 522, 598, 599, 599, 927, 597,
+ 928, 597, 598, 599, 599, 686, 686, 1360, 604, 604,
+
+ 607, 608, 609, 610, 1360, 1360, 600, 611, 789, 674,
+ 612, 932, 659, 613, 573, 790, 614, 703, 703, 705,
+ 705, 705, 698, 698, 698, 738, 738, 584, 687, 687,
+ 687, 699, 652, 653, 653, 932, 650, 650, 650, 1360,
+ 1360, 688, 599, 599, 778, 778, 651, 846, 651, 652,
+ 653, 653, 1360, 686, 686, 779, 753, 753, 753, 689,
+ 690, 691, 692, 654, 703, 703, 693, 1360, 1360, 694,
+ 932, 779, 695, 819, 819, 696, 847, 700, 739, 739,
+ 739, 750, 750, 750, 658, 658, 658, 780, 780, 780,
+ 751, 740, 653, 653, 756, 756, 756, 673, 673, 673,
+
+ 698, 698, 698, 698, 698, 698, 705, 705, 705, 741,
+ 742, 743, 744, 754, 820, 932, 745, 778, 778, 746,
+ 757, 932, 747, 820, 820, 748, 852, 852, 781, 932,
+ 674, 782, 783, 783, 783, 937, 752, 705, 705, 705,
+ 820, 659, 784, 938, 784, 785, 786, 786, 1360, 738,
+ 738, 821, 821, 821, 939, 700, 819, 819, 700, 787,
+ 750, 750, 750, 750, 750, 750, 824, 824, 824, 753,
+ 753, 753, 829, 829, 829, 940, 825, 941, 825, 826,
+ 827, 827, 756, 756, 756, 932, 780, 780, 780, 785,
+ 786, 786, 822, 828, 932, 823, 896, 896, 830, 780,
+
+ 780, 780, 942, 780, 780, 780, 1360, 1360, 757, 780,
+ 780, 780, 826, 827, 827, 752, 931, 931, 752, 821,
+ 821, 821, 829, 829, 829, 943, 754, 848, 944, 932,
+ 849, 821, 821, 821, 945, 821, 821, 821, 946, 947,
+ 848, 850, 948, 849, 781, 932, 949, 782, 830, 851,
+ 781, 950, 951, 782, 853, 853, 853, 909, 909, 909,
+ 892, 952, 953, 893, 821, 821, 821, 854, 786, 786,
+ 954, 955, 892, 894, 956, 893, 822, 957, 958, 823,
+ 912, 912, 912, 959, 960, 855, 856, 857, 858, 919,
+ 919, 919, 859, 1360, 1360, 860, 963, 963, 861, 964,
+
+ 964, 862, 964, 964, 895, 822, 964, 964, 823, 897,
+ 897, 897, 964, 964, 910, 969, 780, 780, 780, 1360,
+ 852, 852, 898, 827, 827, 780, 780, 780, 970, 933,
+ 933, 933, 964, 971, 821, 821, 821, 913, 972, 973,
+ 899, 900, 901, 902, 920, 974, 980, 903, 964, 981,
+ 904, 982, 983, 905, 984, 985, 906, 781, 929, 986,
+ 782, 821, 821, 821, 987, 994, 781, 931, 931, 782,
+ 934, 995, 996, 935, 930, 822, 961, 997, 823, 1360,
+ 896, 896, 965, 965, 965, 998, 936, 909, 909, 909,
+ 912, 912, 912, 919, 919, 919, 780, 780, 780, 863,
+
+ 999, 993, 822, 1000, 1001, 823, 975, 975, 975, 1002,
+ 962, 780, 780, 780, 1003, 1004, 976, 1005, 976, 977,
+ 978, 978, 1006, 966, 963, 963, 967, 933, 933, 933,
+ 907, 1013, 1012, 979, 933, 933, 933, 781, 1014, 968,
+ 782, 933, 933, 933, 910, 988, 1015, 913, 920, 821,
+ 821, 821, 781, 1016, 1029, 782, 1017, 1017, 989, 821,
+ 821, 821, 1030, 965, 965, 965, 1031, 1032, 990, 847,
+ 1033, 991, 965, 965, 965, 990, 1034, 1041, 991, 992,
+ 1042, 863, 934, 1045, 936, 935, 965, 965, 965, 1046,
+ 822, 936, 1044, 823, 1047, 863, 1008, 1048, 936, 1043,
+
+ 822, 1049, 1050, 823, 1009, 1051, 1052, 1010, 1007, 977,
+ 978, 978, 1053, 1009, 1060, 1061, 1010, 1064, 1065, 1066,
+ 968, 780, 780, 780, 1011, 907, 1068, 966, 907, 968,
+ 967, 1068, 1062, 1360, 1017, 1017, 1063, 1360, 1360, 821,
+ 821, 821, 1068, 968, 1018, 1018, 1018, 1067, 1067, 1068,
+ 1068, 1068, 1068, 1068, 1068, 1073, 1074, 1019, 978, 978,
+ 1075, 1076, 781, 1083, 1083, 782, 1095, 1096, 1035, 1068,
+ 1069, 1069, 1069, 863, 1099, 1020, 1021, 1022, 1023, 1100,
+ 822, 863, 1024, 823, 1097, 1025, 1054, 1101, 1026, 1102,
+ 1098, 1027, 1036, 1036, 1036, 1038, 1039, 1039, 1103, 1104,
+
+ 1111, 1111, 1037, 1123, 1037, 1038, 1039, 1039, 1077, 1077,
+ 1077, 1070, 1124, 1129, 1071, 1036, 1036, 1036, 1037, 1040,
+ 1037, 1038, 1039, 1039, 1057, 1058, 1058, 1072, 1130, 1135,
+ 1078, 1078, 1078, 781, 1150, 1040, 782, 1055, 1055, 1055,
+ 1079, 1150, 1079, 1080, 1081, 1081, 1028, 1056, 1134, 1056,
+ 1057, 1058, 1058, 1105, 1105, 1105, 848, 1082, 907, 849,
+ 1106, 1106, 1106, 1056, 1059, 1056, 1057, 1058, 1058, 1125,
+ 1107, 1150, 1107, 1108, 1109, 1109, 907, 1150, 822, 1150,
+ 1059, 823, 1084, 1084, 1084, 1126, 1150, 1110, 1150, 1055,
+ 1055, 1055, 1067, 1067, 1150, 1085, 1039, 1039, 1127, 1127,
+
+ 1127, 1069, 1069, 1069, 1080, 1081, 1081, 1137, 1137, 1360,
+ 1083, 1083, 1150, 1086, 1087, 1088, 1089, 1360, 1360, 1153,
+ 1090, 1149, 1149, 1091, 1154, 1161, 1092, 1162, 1150, 1093,
+ 892, 1163, 863, 893, 1112, 1112, 1112, 1178, 1069, 1069,
+ 1069, 1155, 1131, 1165, 1165, 1132, 1178, 1113, 1058, 1058,
+ 1069, 1069, 1069, 1360, 1360, 1128, 1177, 1177, 1072, 1078,
+ 1078, 1078, 1108, 1109, 1109, 1114, 1115, 1116, 1117, 1360,
+ 1111, 1111, 1118, 1178, 1178, 1119, 1178, 1178, 1120, 1131,
+ 1178, 1121, 1132, 1178, 1181, 1178, 1182, 1189, 1133, 1190,
+ 907, 1070, 1191, 1028, 1071, 1072, 1136, 1136, 1136, 1183,
+
+ 848, 1178, 1197, 849, 1193, 1197, 1079, 1072, 1079, 1080,
+ 1081, 1081, 1151, 1151, 1151, 1360, 1360, 1164, 1164, 1164,
+ 1106, 1106, 1106, 1082, 1138, 1138, 1138, 1107, 1197, 1107,
+ 1108, 1109, 1109, 1197, 1179, 1179, 1179, 1139, 1081, 1081,
+ 1127, 1127, 1127, 1028, 1110, 1196, 1196, 1192, 1194, 1194,
+ 1194, 1197, 1197, 1152, 1197, 1140, 1141, 1142, 1143, 1197,
+ 1197, 892, 1144, 1200, 893, 1145, 1149, 1149, 1146, 1219,
+ 1197, 1147, 1156, 1156, 1156, 1180, 1360, 1137, 1137, 1198,
+ 1198, 1198, 1157, 1221, 1157, 1158, 1159, 1159, 1151, 1151,
+ 1151, 1151, 1151, 1151, 1201, 1201, 1201, 1128, 1221, 1160,
+
+ 1151, 1151, 1151, 1221, 1157, 1195, 1157, 1158, 1159, 1159,
+ 863, 1166, 1166, 1166, 1158, 1159, 1159, 1207, 1207, 1360,
+ 1360, 1160, 1220, 1220, 1167, 1109, 1109, 1221, 1221, 848,
+ 1221, 1221, 848, 1360, 1165, 1165, 1221, 1221, 1199, 1177,
+ 1177, 1152, 1168, 1169, 1170, 1171, 1156, 1156, 1156, 1172,
+ 1224, 1243, 1173, 1221, 1244, 1174, 1231, 1231, 1175, 1184,
+ 1184, 1184, 1222, 1222, 1222, 1202, 1202, 1202, 1247, 1185,
+ 1263, 1185, 1186, 1187, 1187, 1203, 1263, 1203, 1204, 1205,
+ 1205, 1179, 1179, 1179, 1263, 1028, 1188, 990, 1263, 1028,
+ 991, 1263, 1206, 1179, 1179, 1179, 1245, 907, 1246, 1263,
+
+ 1184, 1184, 1184, 936, 1208, 1208, 1208, 1263, 1179, 1179,
+ 1179, 1196, 1196, 1225, 1225, 1225, 1263, 1209, 1159, 1159,
+ 1250, 1250, 892, 1185, 1283, 1185, 1186, 1187, 1187, 1186,
+ 1187, 1187, 1360, 1360, 892, 1210, 1211, 1212, 1213, 1283,
+ 1188, 1009, 1214, 1283, 1010, 1215, 1223, 1263, 1216, 1180,
+ 1283, 1217, 1226, 1226, 1226, 1262, 1262, 968, 1194, 1194,
+ 1194, 1283, 1227, 1263, 1227, 1228, 1229, 1229, 1198, 1198,
+ 1198, 1198, 1198, 1198, 1283, 1151, 1151, 1151, 1286, 1230,
+ 1232, 1232, 1232, 1204, 1205, 1205, 1360, 1207, 1207, 1287,
+ 1202, 1202, 1202, 1233, 1187, 1187, 1264, 1264, 1264, 1220,
+
+ 1220, 1222, 1222, 1222, 1222, 1222, 1222, 1179, 1179, 1179,
+ 1247, 1234, 1235, 1236, 1237, 1195, 1152, 1248, 1238, 1270,
+ 1270, 1239, 1360, 1360, 1240, 1282, 1282, 1241, 1249, 1249,
+ 1249, 990, 1360, 1360, 991, 1295, 1295, 1265, 1203, 1296,
+ 1203, 1204, 1205, 1205, 1228, 1229, 1229, 936, 1180, 1268,
+ 1269, 1269, 1269, 936, 1296, 1206, 1251, 1251, 1251, 1283,
+ 1227, 1296, 1227, 1228, 1229, 1229, 1360, 1231, 1231, 1252,
+ 1205, 1205, 1283, 1028, 1296, 1283, 1296, 1230, 1360, 1250,
+ 1250, 1283, 1288, 1296, 1296, 1296, 1296, 1253, 1254, 1255,
+ 1256, 1262, 1262, 1301, 1257, 1360, 1360, 1258, 1300, 1300,
+
+ 1259, 1296, 1301, 1260, 1266, 1266, 1266, 1266, 1266, 1266,
1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266,
1266, 1266, 1266, 1266, 1266, 1267, 1267, 1267, 1267, 1267,
1267, 1266, 1266, 1266, 1266, 1267, 1267, 1267, 1267, 1267,
1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267,
1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267,
- 872, 1266, 1266, 1266, 1269, 1269, 1269, 871, 870, 1306,
- 1306, 1306, 869, 868, 1227, 867, 1227, 1228, 1229, 1229,
- 1342, 1342, 1342, 1359, 1359, 1359, 866, 1264, 1264, 1264,
- 1230, 1271, 1271, 1271, 865, 864, 845, 842, 1350, 1350,
- 1350, 1284, 1284, 1284, 1272, 1229, 1229, 841, 840, 1131,
-
- 839, 838, 1132, 837, 836, 1342, 1342, 1342, 835, 834,
- 1343, 1273, 1274, 1275, 1276, 1072, 1360, 1265, 1277, 323,
- 314, 1278, 833, 831, 1279, 1345, 1072, 1280, 1289, 1289,
- 1289, 1285, 820, 936, 1342, 1342, 1342, 820, 1290, 1347,
- 1290, 1291, 1292, 1292, 1072, 1131, 820, 968, 1342, 1342,
- 1342, 820, 820, 820, 1293, 818, 1264, 1264, 1264, 817,
- 816, 1072, 1350, 1350, 1350, 1028, 1305, 1305, 1305, 1284,
- 1284, 1284, 815, 814, 1131, 813, 1290, 812, 1290, 1291,
- 1292, 1292, 1350, 1350, 1350, 1351, 811, 810, 1343, 809,
- 1072, 808, 1293, 1306, 1306, 1306, 1265, 807, 806, 1342,
-
- 1342, 1342, 1352, 1307, 1072, 1307, 1308, 1309, 1309, 1285,
- 805, 804, 936, 803, 802, 1353, 801, 800, 1072, 1310,
- 1312, 1312, 1312, 799, 798, 968, 797, 796, 795, 794,
- 1342, 1342, 1342, 1313, 1292, 1292, 793, 792, 1072, 1343,
- 1354, 791, 788, 1356, 1356, 1356, 779, 779, 779, 779,
- 1314, 1315, 1316, 1317, 779, 1072, 779, 1318, 777, 776,
- 1319, 775, 774, 1320, 773, 772, 1321, 1327, 1327, 1327,
- 1343, 771, 1342, 1342, 1342, 770, 769, 1307, 1357, 1307,
- 1308, 1309, 1309, 1009, 768, 767, 1072, 766, 765, 764,
- 763, 762, 255, 1310, 1329, 1329, 1329, 247, 761, 968,
-
- 323, 760, 314, 759, 758, 755, 737, 1330, 1309, 1309,
- 736, 735, 1343, 734, 733, 732, 731, 730, 1358, 729,
- 728, 727, 726, 725, 1331, 1332, 1333, 1334, 1072, 724,
- 723, 1335, 722, 721, 1336, 720, 719, 1337, 718, 717,
- 1338, 1344, 1344, 1344, 716, 715, 714, 713, 712, 711,
- 710, 1079, 709, 1079, 1080, 1081, 1081, 708, 707, 706,
- 704, 704, 704, 704, 704, 704, 702, 1082, 701, 685,
- 684, 683, 682, 681, 680, 679, 678, 677, 676, 675,
- 672, 1152, 1346, 1346, 1346, 671, 670, 669, 668, 255,
- 667, 247, 1107, 666, 1107, 1108, 1109, 1109, 665, 664,
-
- 323, 663, 323, 662, 314, 661, 314, 660, 1110, 657,
- 656, 655, 649, 648, 647, 646, 645, 644, 643, 642,
- 641, 637, 1180, 1344, 1344, 1344, 636, 635, 634, 633,
- 632, 631, 630, 1079, 629, 1079, 1080, 1081, 1081, 628,
- 627, 626, 625, 624, 623, 622, 621, 620, 617, 1082,
- 616, 603, 602, 601, 595, 594, 593, 592, 591, 590,
- 589, 588, 587, 848, 1346, 1346, 1346, 586, 585, 582,
- 579, 578, 577, 255, 1107, 576, 1107, 1108, 1109, 1109,
- 255, 575, 247, 574, 247, 571, 570, 569, 568, 567,
- 1110, 566, 565, 564, 563, 562, 561, 560, 559, 558,
-
- 557, 556, 555, 554, 892, 1355, 1355, 1355, 551, 550,
- 549, 548, 547, 546, 545, 1203, 544, 1203, 1204, 1205,
- 1205, 543, 542, 541, 540, 539, 538, 537, 536, 535,
- 534, 1206, 530, 529, 528, 527, 526, 525, 524, 518,
- 517, 516, 515, 514, 513, 1265, 512, 511, 510, 509,
- 508, 507, 506, 505, 504, 503, 502, 501, 500, 499,
- 498, 936, 1356, 1356, 1356, 497, 496, 495, 494, 493,
- 492, 491, 1227, 490, 1227, 1228, 1229, 1229, 489, 488,
- 485, 484, 483, 482, 481, 480, 479, 478, 1230, 477,
- 476, 475, 474, 473, 472, 471, 470, 467, 466, 462,
-
- 461, 457, 1285, 456, 455, 454, 453, 452, 451, 450,
- 449, 445, 440, 439, 438, 437, 436, 435, 968, 1355,
- 1355, 1355, 434, 433, 432, 431, 430, 429, 428, 1203,
- 427, 1203, 1204, 1205, 1205, 426, 425, 424, 423, 422,
- 418, 343, 413, 412, 411, 1206, 410, 409, 408, 407,
- 406, 405, 404, 403, 323, 323, 400, 323, 323, 990,
- 399, 398, 314, 314, 395, 314, 314, 394, 393, 392,
- 391, 390, 386, 385, 384, 936, 1359, 1359, 1359, 383,
- 382, 381, 380, 377, 376, 375, 1307, 374, 1307, 1308,
- 1309, 1309, 370, 367, 366, 365, 364, 363, 359, 353,
-
- 352, 351, 1310, 350, 349, 348, 347, 346, 345, 344,
- 343, 270, 1360, 339, 338, 255, 1343, 255, 335, 255,
- 255, 334, 247, 247, 331, 247, 247, 330, 238, 236,
- 329, 326, 1072, 46, 46, 46, 46, 46, 46, 46,
- 46, 46, 46, 46, 46, 47, 47, 47, 47, 47,
- 47, 47, 47, 47, 47, 47, 47, 50, 50, 50,
- 50, 50, 50, 50, 50, 50, 50, 50, 50, 56,
+ 1301, 1266, 1266, 1266, 1226, 1226, 1226, 1301, 1284, 1284,
+ 1284, 1151, 1151, 1151, 1297, 1297, 1297, 1264, 1264, 1264,
+ 1360, 1270, 1270, 1301, 1301, 1264, 1264, 1264, 1301, 1264,
+ 1264, 1264, 1179, 1179, 1179, 1301, 1304, 1301, 1282, 1282,
+
+ 1301, 1302, 1302, 1302, 1341, 1009, 1311, 1311, 1010, 1285,
+ 1295, 1295, 1152, 1291, 1292, 1292, 1300, 1300, 990, 1341,
+ 1294, 968, 1271, 1271, 1271, 968, 990, 1298, 1328, 1328,
+ 1265, 936, 1341, 1180, 936, 1272, 1229, 1229, 1284, 1284,
+ 1284, 1299, 936, 1308, 1309, 1309, 936, 1284, 1284, 1284,
+ 1360, 1311, 1311, 1273, 1274, 1275, 1276, 1341, 968, 1341,
+ 1277, 1360, 1360, 1278, 1340, 1340, 1279, 1341, 1341, 1280,
+ 1289, 1289, 1289, 1284, 1284, 1284, 1341, 1360, 1360, 1009,
+ 1290, 1349, 1290, 1291, 1292, 1292, 1341, 1349, 1009, 1297,
+ 1297, 1297, 1297, 1297, 1297, 968, 1349, 1293, 1289, 1289,
+
+ 1289, 1349, 1341, 1349, 968, 1305, 1305, 1305, 1028, 1348,
+ 1348, 1303, 1349, 1349, 1285, 1290, 1349, 1290, 1291, 1292,
+ 1292, 1306, 1306, 1306, 1349, 1151, 1151, 1151, 1340, 1340,
+ 968, 1307, 1293, 1307, 1308, 1309, 1309, 1348, 1348, 1131,
+ 1349, 210, 1132, 1360, 1328, 1328, 936, 224, 1310, 936,
+ 1264, 1264, 1264, 615, 697, 1072, 1312, 1312, 1312, 749,
+ 863, 1179, 1179, 1179, 907, 1028, 1152, 1094, 1122, 1313,
+ 1292, 1292, 1323, 1302, 1302, 1302, 1302, 1302, 1302, 1284,
+ 1284, 1284, 1306, 1306, 1306, 1148, 1176, 1314, 1315, 1316,
+ 1317, 1265, 1324, 1218, 1318, 1242, 1261, 1319, 1281, 1322,
+
+ 1320, 1339, 1180, 1321, 1327, 1327, 1327, 936, 1325, 1342,
+ 1342, 1342, 885, 884, 1307, 883, 1307, 1308, 1309, 1309,
+ 1285, 1326, 882, 1131, 881, 880, 1132, 879, 878, 877,
+ 968, 1310, 876, 968, 875, 874, 968, 873, 872, 1072,
+ 1329, 1329, 1329, 871, 870, 869, 868, 1359, 1359, 1359,
+ 1343, 867, 866, 1330, 1309, 1309, 1264, 1264, 1264, 1350,
+ 1350, 1350, 865, 1284, 1284, 1284, 1072, 1342, 1342, 1342,
+ 864, 1331, 1332, 1333, 1334, 845, 842, 841, 1335, 840,
+ 839, 1336, 838, 837, 1337, 836, 835, 1338, 1344, 1344,
+ 1344, 1360, 1342, 1342, 1342, 834, 323, 1265, 1079, 314,
+
+ 1079, 1080, 1081, 1081, 1285, 1345, 833, 831, 1131, 1342,
+ 1342, 1342, 1347, 936, 820, 1082, 1072, 820, 820, 820,
+ 968, 1264, 1264, 1264, 1072, 820, 1350, 1350, 1350, 1152,
+ 1346, 1346, 1346, 1131, 1284, 1284, 1284, 1350, 1350, 1350,
+ 1107, 820, 1107, 1108, 1109, 1109, 818, 1351, 817, 1072,
+ 1343, 1342, 1342, 1342, 1342, 1342, 1342, 1110, 816, 815,
+ 814, 813, 1265, 1356, 1356, 1356, 1072, 812, 1352, 811,
+ 810, 1180, 1344, 1344, 1344, 1285, 809, 808, 936, 807,
+ 806, 1353, 1079, 1072, 1079, 1080, 1081, 1081, 805, 804,
+ 803, 968, 1343, 1354, 1072, 1343, 1342, 1342, 1342, 1082,
+
+ 802, 801, 800, 1357, 1009, 799, 798, 797, 1072, 796,
+ 795, 1072, 794, 848, 1346, 1346, 1346, 793, 792, 791,
+ 968, 788, 779, 779, 1107, 779, 1107, 1108, 1109, 1109,
+ 779, 779, 779, 777, 776, 775, 774, 1343, 773, 772,
+ 771, 1110, 770, 1358, 769, 768, 767, 766, 765, 764,
+ 763, 762, 255, 1072, 247, 892, 1355, 1355, 1355, 761,
+ 323, 760, 314, 759, 758, 755, 1203, 737, 1203, 1204,
+ 1205, 1205, 736, 735, 734, 733, 732, 731, 730, 729,
+ 728, 727, 726, 1206, 725, 724, 723, 722, 721, 720,
+ 719, 718, 717, 716, 715, 714, 713, 1265, 712, 711,
+
+ 710, 709, 708, 707, 706, 704, 704, 704, 704, 704,
+ 704, 702, 701, 936, 1356, 1356, 1356, 685, 684, 683,
+ 682, 681, 680, 679, 1227, 678, 1227, 1228, 1229, 1229,
+ 677, 676, 675, 672, 671, 670, 669, 668, 255, 667,
+ 247, 1230, 666, 665, 664, 323, 663, 323, 662, 314,
+ 661, 314, 660, 657, 656, 1285, 655, 649, 648, 647,
+ 646, 645, 644, 643, 642, 641, 637, 636, 635, 634,
+ 633, 968, 1355, 1355, 1355, 632, 631, 630, 629, 628,
+ 627, 626, 1203, 625, 1203, 1204, 1205, 1205, 624, 623,
+ 622, 621, 620, 617, 616, 603, 602, 601, 595, 1206,
+
+ 594, 593, 592, 591, 590, 589, 588, 587, 586, 585,
+ 582, 579, 578, 990, 577, 255, 576, 255, 575, 247,
+ 574, 247, 571, 570, 569, 568, 567, 566, 565, 936,
+ 1359, 1359, 1359, 564, 563, 562, 561, 560, 559, 558,
+ 1307, 557, 1307, 1308, 1309, 1309, 556, 555, 554, 551,
+ 550, 549, 548, 547, 546, 545, 544, 1310, 543, 542,
+ 541, 540, 539, 538, 537, 536, 535, 534, 530, 529,
+ 528, 1343, 527, 526, 525, 524, 518, 517, 516, 515,
+ 514, 513, 512, 511, 510, 509, 508, 1072, 46, 46,
+ 46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
+
+ 46, 47, 47, 47, 47, 47, 47, 47, 47, 47,
+ 47, 47, 47, 47, 50, 50, 50, 50, 50, 50,
+ 50, 50, 50, 50, 50, 50, 50, 56, 56, 56,
56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
- 56, 60, 60, 60, 60, 60, 60, 60, 60, 60,
+ 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
60, 60, 60, 63, 63, 63, 63, 63, 63, 63,
-
- 63, 63, 63, 63, 63, 99, 99, 99, 99, 99,
- 99, 99, 99, 99, 99, 99, 99, 107, 107, 107,
- 107, 107, 107, 107, 107, 107, 107, 107, 107, 110,
- 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
- 110, 115, 115, 115, 115, 115, 115, 115, 115, 115,
- 115, 115, 115, 118, 118, 118, 118, 118, 118, 118,
- 118, 118, 118, 118, 118, 121, 121, 121, 121, 121,
- 121, 121, 121, 121, 121, 121, 121, 125, 125, 125,
- 125, 125, 125, 125, 125, 125, 125, 125, 125, 127,
+ 63, 63, 63, 63, 63, 63, 99, 99, 99, 99,
+ 99, 99, 99, 99, 99, 99, 99, 99, 99, 107,
+ 107, 107, 107, 107, 107, 107, 107, 107, 107, 107,
+ 107, 107, 110, 110, 110, 110, 110, 110, 110, 110,
+
+ 110, 110, 110, 110, 110, 115, 115, 115, 115, 115,
+ 115, 115, 115, 115, 115, 115, 115, 115, 118, 118,
+ 118, 118, 118, 118, 118, 118, 118, 118, 118, 118,
+ 118, 121, 121, 121, 121, 121, 121, 121, 121, 121,
+ 121, 121, 121, 121, 125, 125, 125, 125, 125, 125,
+ 125, 125, 125, 125, 125, 125, 125, 127, 127, 127,
127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
-
- 127, 131, 131, 131, 131, 131, 131, 131, 131, 131,
+ 131, 131, 131, 131, 131, 131, 131, 131, 131, 131,
131, 131, 131, 133, 133, 133, 133, 133, 133, 133,
- 133, 133, 133, 133, 133, 137, 137, 137, 137, 137,
- 137, 137, 137, 137, 137, 137, 137, 148, 325, 324,
- 148, 323, 148, 148, 148, 148, 148, 150, 322, 321,
- 150, 150, 150, 150, 150, 150, 150, 164, 164, 225,
- 164, 164, 164, 164, 164, 164, 164, 164, 164, 170,
- 320, 317, 316, 170, 204, 315, 314, 204, 204, 204,
- 204, 204, 204, 204, 313, 204, 206, 312, 206, 206,
- 206, 207, 207, 235, 311, 310, 235, 235, 235, 235,
-
- 235, 235, 235, 237, 309, 203, 237, 237, 237, 237,
- 237, 237, 237, 240, 240, 240, 240, 240, 240, 240,
- 240, 240, 303, 240, 240, 241, 241, 241, 241, 241,
- 241, 241, 241, 290, 241, 241, 241, 243, 243, 243,
- 243, 243, 243, 243, 243, 243, 243, 264, 285, 279,
- 169, 264, 265, 265, 342, 342, 342, 342, 342, 342,
- 342, 342, 342, 342, 342, 342, 926, 926, 926, 926,
- 926, 926, 926, 926, 926, 169, 926, 926, 1266, 1266,
- 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 263, 1266,
- 262, 160, 261, 258, 257, 256, 255, 254, 151, 149,
-
- 253, 250, 249, 248, 247, 246, 242, 239, 238, 236,
- 234, 226, 225, 223, 203, 198, 169, 167, 166, 165,
- 163, 162, 161, 160, 159, 151, 149, 147, 140, 1360,
- 136, 136, 126, 126, 45, 1360, 1360, 1360, 1360, 1360,
+ 133, 133, 133, 133, 133, 133, 137, 137, 137, 137,
+
+ 137, 137, 137, 137, 137, 137, 137, 137, 137, 148,
+ 507, 506, 148, 148, 505, 148, 148, 148, 148, 148,
+ 150, 504, 503, 150, 150, 150, 150, 150, 150, 150,
+ 150, 164, 164, 502, 164, 164, 164, 164, 164, 164,
+ 164, 164, 164, 164, 170, 501, 500, 499, 170, 204,
+ 498, 497, 204, 204, 204, 204, 204, 204, 204, 204,
+ 496, 204, 206, 495, 206, 206, 206, 207, 207, 235,
+ 494, 493, 235, 235, 235, 235, 235, 235, 235, 235,
+ 237, 492, 491, 237, 237, 237, 237, 237, 237, 237,
+ 237, 240, 240, 240, 240, 240, 240, 240, 240, 240,
+
+ 240, 490, 240, 240, 241, 241, 241, 241, 241, 241,
+ 241, 241, 241, 489, 241, 241, 241, 243, 243, 243,
+ 243, 243, 243, 243, 243, 243, 243, 243, 264, 488,
+ 485, 484, 264, 265, 265, 342, 342, 342, 342, 342,
+ 342, 342, 342, 342, 342, 342, 342, 342, 832, 483,
+ 482, 481, 480, 832, 908, 479, 478, 477, 476, 908,
+ 926, 926, 926, 926, 926, 926, 926, 926, 926, 926,
+ 475, 926, 926, 1266, 1266, 1266, 1266, 1266, 1266, 1266,
+ 1266, 1266, 1266, 1266, 474, 1266, 473, 472, 471, 470,
+ 467, 466, 462, 461, 457, 456, 455, 454, 453, 452,
+
+ 451, 450, 449, 445, 440, 439, 438, 437, 436, 435,
+ 434, 433, 432, 431, 430, 429, 428, 427, 426, 425,
+ 424, 423, 422, 418, 343, 413, 412, 411, 410, 409,
+ 408, 407, 406, 405, 404, 403, 323, 323, 400, 323,
+ 323, 399, 398, 314, 314, 395, 314, 314, 394, 393,
+ 392, 391, 390, 386, 385, 384, 383, 382, 381, 380,
+ 377, 376, 375, 374, 370, 367, 366, 365, 364, 363,
+ 359, 353, 352, 351, 350, 349, 348, 347, 346, 345,
+ 344, 343, 270, 1360, 339, 338, 255, 255, 335, 255,
+ 255, 334, 247, 247, 331, 247, 247, 330, 238, 236,
+
+ 329, 326, 325, 324, 323, 322, 321, 225, 320, 317,
+ 316, 315, 314, 313, 312, 311, 310, 309, 203, 303,
+ 290, 285, 279, 169, 169, 263, 262, 160, 261, 258,
+ 257, 256, 255, 254, 151, 149, 253, 250, 249, 248,
+ 247, 246, 242, 239, 238, 236, 234, 226, 225, 223,
+ 203, 198, 169, 167, 166, 165, 163, 162, 161, 160,
+ 159, 151, 149, 147, 140, 1360, 136, 136, 126, 126,
+ 45, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360,
1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360,
1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360,
+
1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360,
1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360,
1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360,
- 1360, 1360, 1360, 1360
-
+ 1360
} ;
-static const flex_int16_t yy_chk[3395] =
+static const flex_int16_t yy_chk[3432] =
{ 0,
- 0, 0, 3, 4, 5, 0, 0, 5, 6, 0,
- 0, 6, 9, 9, 9, 7, 7, 7, 23, 5,
- 5, 5, 31, 6, 6, 6, 7, 24, 37, 5,
- 8, 8, 8, 6, 10, 10, 10, 79, 79, 38,
- 181, 8, 11, 23, 181, 11, 31, 12, 39, 5,
- 12, 40, 24, 6, 37, 3, 4, 11, 11, 11,
- 168, 168, 12, 12, 12, 38, 9, 11, 9, 7,
- 197, 7, 12, 39, 146, 31, 40, 31, 43, 44,
- 43, 44, 813, 197, 8, 146, 8, 11, 10, 175,
- 10, 175, 12, 13, 13, 13, 13, 13, 13, 13,
+ 0, 0, 3, 4, 5, 0, 0, 5, 6, 23,
+ 24, 6, 9, 9, 9, 7, 7, 7, 39, 5,
+ 5, 5, 31, 6, 6, 6, 7, 8, 8, 8,
+ 5, 10, 10, 10, 6, 23, 24, 40, 8, 79,
+ 79, 37, 146, 0, 39, 11, 38, 31, 11, 12,
+ 5, 181, 12, 146, 6, 181, 3, 4, 168, 168,
+ 11, 11, 11, 40, 12, 12, 12, 9, 37, 9,
+ 7, 11, 7, 38, 158, 12, 31, 43, 31, 43,
+ 290, 44, 8, 44, 8, 158, 10, 175, 10, 175,
+ 290, 11, 139, 139, 139, 12, 13, 13, 13, 13,
13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
- 13, 13, 15, 15, 15, 15, 15, 15, 15, 15,
+ 13, 13, 13, 13, 13, 13, 15, 15, 15, 15,
15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
- 15, 17, 17, 17, 17, 17, 17, 17, 17, 17,
+ 15, 15, 15, 15, 15, 15, 17, 17, 17, 17,
17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
- 19, 67, 54, 20, 54, 179, 54, 54, 54, 139,
- 139, 139, 158, 54, 814, 19, 19, 19, 20, 20,
- 20, 179, 183, 158, 91, 19, 252, 186, 20, 185,
+ 17, 17, 17, 17, 17, 17, 19, 67, 54, 20,
+ 54, 179, 54, 54, 54, 813, 190, 814, 183, 54,
+ 190, 19, 19, 19, 20, 20, 20, 183, 179, 185,
- 91, 183, 67, 186, 67, 91, 67, 67, 67, 252,
- 185, 182, 182, 67, 815, 19, 91, 182, 20, 21,
+ 180, 91, 19, 180, 180, 20, 815, 91, 197, 67,
+ 185, 67, 91, 67, 67, 67, 195, 182, 182, 195,
+ 67, 197, 19, 182, 91, 20, 21, 21, 21, 21,
21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
- 21, 21, 21, 21, 21, 21, 21, 21, 25, 816,
- 32, 26, 27, 27, 27, 28, 28, 28, 29, 29,
- 29, 222, 35, 25, 25, 25, 26, 26, 26, 30,
-
- 30, 30, 222, 25, 32, 36, 26, 83, 282, 83,
- 83, 83, 83, 282, 180, 260, 35, 180, 180, 113,
- 190, 193, 465, 25, 190, 193, 26, 195, 260, 36,
- 195, 200, 200, 32, 193, 32, 27, 465, 27, 28,
- 297, 28, 29, 233, 29, 35, 113, 35, 113, 290,
- 113, 113, 113, 30, 233, 30, 297, 113, 36, 290,
- 36, 81, 81, 817, 81, 81, 81, 81, 81, 81,
- 81, 81, 81, 81, 81, 81, 81, 81, 81, 81,
+ 21, 21, 21, 21, 21, 21, 25, 816, 32, 26,
+ 27, 27, 27, 28, 28, 28, 29, 29, 29, 222,
+
+ 35, 25, 25, 25, 26, 26, 26, 30, 30, 30,
+ 222, 36, 25, 32, 83, 26, 83, 83, 83, 83,
+ 186, 199, 199, 199, 193, 35, 186, 113, 193, 200,
+ 200, 817, 25, 252, 608, 26, 36, 193, 233, 201,
+ 201, 201, 32, 608, 32, 27, 252, 27, 28, 233,
+ 28, 29, 818, 29, 35, 113, 35, 113, 282, 113,
+ 113, 113, 30, 282, 30, 36, 113, 36, 81, 81,
+ 201, 81, 81, 81, 81, 81, 81, 81, 81, 81,
81, 81, 81, 81, 81, 81, 81, 81, 81, 81,
81, 81, 81, 81, 81, 81, 81, 81, 81, 81,
81, 81, 81, 81, 81, 81, 81, 81, 81, 81,
81, 81, 81, 81, 81, 81, 81, 81, 81, 81,
- 88, 818, 88, 95, 95, 95, 96, 96, 96, 98,
- 98, 98, 102, 176, 176, 176, 177, 177, 177, 832,
- 102, 346, 102, 346, 102, 102, 102, 187, 187, 187,
- 346, 102, 281, 189, 189, 189, 281, 281, 177, 834,
- 191, 191, 191, 98, 199, 199, 199, 284, 284, 98,
- 201, 201, 201, 202, 88, 202, 98, 95, 98, 284,
- 96, 305, 189, 208, 208, 208, 305, 835, 187, 176,
- 189, 777, 177, 191, 194, 194, 194, 836, 194, 206,
-
- 201, 307, 307, 187, 194, 206, 209, 209, 209, 189,
- 206, 194, 194, 194, 306, 306, 191, 211, 211, 211,
- 777, 206, 244, 244, 244, 837, 319, 202, 245, 245,
- 245, 266, 266, 266, 267, 267, 267, 208, 292, 319,
- 209, 328, 613, 306, 838, 292, 209, 340, 340, 340,
- 292, 211, 385, 209, 328, 209, 344, 211, 613, 344,
- 367, 379, 367, 840, 211, 385, 211, 382, 367, 379,
- 369, 369, 344, 695, 344, 367, 382, 379, 445, 382,
- 389, 389, 404, 404, 404, 521, 521, 266, 369, 695,
- 267, 841, 445, 445, 486, 486, 486, 487, 487, 487,
-
- 499, 598, 598, 340, 501, 501, 501, 527, 499, 389,
- 520, 520, 520, 547, 842, 527, 608, 547, 843, 562,
- 562, 562, 572, 572, 572, 608, 583, 583, 583, 605,
- 605, 547, 597, 597, 597, 844, 404, 437, 437, 437,
- 584, 584, 584, 604, 604, 604, 487, 437, 486, 437,
- 437, 437, 437, 601, 601, 601, 606, 606, 501, 615,
- 615, 615, 601, 437, 513, 513, 513, 651, 651, 651,
- 848, 572, 584, 849, 513, 562, 513, 513, 513, 513,
- 583, 652, 652, 687, 687, 655, 655, 655, 688, 688,
- 513, 519, 519, 519, 655, 702, 656, 656, 656, 690,
-
- 855, 519, 702, 519, 519, 519, 519, 601, 690, 659,
- 659, 659, 658, 658, 658, 703, 703, 519, 522, 522,
- 522, 673, 673, 673, 686, 686, 686, 857, 698, 698,
- 698, 522, 522, 522, 659, 699, 699, 699, 742, 655,
- 858, 697, 697, 697, 704, 704, 704, 742, 522, 522,
- 522, 522, 656, 673, 859, 522, 739, 739, 522, 740,
- 740, 522, 778, 778, 522, 558, 558, 558, 658, 705,
- 705, 705, 738, 738, 738, 558, 860, 558, 558, 558,
- 558, 697, 698, 747, 697, 749, 749, 749, 773, 699,
- 862, 558, 596, 596, 596, 779, 779, 779, 864, 747,
-
- 785, 785, 596, 773, 596, 596, 596, 596, 865, 750,
- 750, 750, 754, 754, 754, 751, 751, 751, 596, 599,
- 599, 599, 756, 756, 756, 749, 819, 819, 749, 753,
- 753, 753, 599, 599, 599, 779, 866, 754, 779, 784,
- 784, 784, 867, 780, 780, 780, 868, 756, 861, 599,
- 599, 599, 599, 825, 825, 825, 599, 826, 826, 599,
- 853, 853, 599, 750, 861, 599, 650, 650, 650, 751,
- 854, 854, 781, 781, 781, 856, 650, 869, 650, 650,
- 650, 650, 870, 780, 856, 753, 780, 872, 782, 782,
- 782, 875, 650, 653, 653, 653, 876, 839, 839, 839,
-
- 852, 852, 852, 820, 820, 820, 653, 653, 653, 781,
- 877, 878, 781, 880, 882, 781, 821, 821, 821, 883,
- 822, 822, 822, 653, 653, 653, 653, 782, 782, 884,
- 653, 782, 885, 653, 886, 887, 653, 888, 890, 653,
- 700, 700, 700, 820, 891, 892, 820, 823, 823, 823,
- 700, 839, 700, 700, 700, 700, 821, 822, 893, 821,
- 822, 897, 897, 822, 898, 898, 700, 752, 752, 752,
- 899, 901, 829, 829, 829, 902, 903, 752, 904, 752,
- 752, 752, 752, 831, 831, 831, 823, 823, 906, 908,
- 823, 914, 915, 752, 786, 786, 786, 829, 896, 896,
-
- 896, 833, 833, 833, 850, 850, 850, 786, 786, 786,
- 851, 851, 851, 900, 905, 916, 917, 918, 921, 863,
- 863, 863, 900, 922, 786, 786, 786, 786, 923, 924,
- 905, 786, 925, 926, 786, 927, 928, 786, 938, 831,
- 786, 827, 827, 827, 850, 850, 939, 850, 931, 931,
- 851, 940, 943, 851, 827, 827, 827, 833, 851, 863,
- 947, 951, 863, 894, 894, 894, 953, 895, 895, 895,
- 954, 827, 827, 827, 827, 863, 955, 935, 827, 935,
- 956, 827, 957, 959, 827, 960, 970, 827, 907, 907,
- 907, 909, 909, 909, 912, 912, 912, 919, 919, 919,
-
- 929, 929, 929, 894, 894, 971, 894, 895, 963, 963,
- 895, 967, 972, 967, 973, 895, 980, 930, 930, 930,
- 976, 976, 976, 977, 977, 981, 983, 984, 907, 985,
- 986, 907, 932, 932, 932, 987, 933, 933, 933, 990,
- 929, 991, 992, 929, 907, 993, 992, 909, 929, 994,
- 912, 919, 920, 920, 920, 996, 993, 930, 997, 998,
- 930, 1001, 920, 930, 920, 920, 920, 920, 934, 934,
- 934, 1003, 932, 1004, 1005, 932, 933, 1006, 920, 933,
- 961, 961, 961, 1009, 1010, 1013, 1014, 1015, 932, 962,
- 962, 962, 933, 964, 964, 964, 1011, 965, 965, 965,
-
- 1011, 966, 966, 966, 1012, 934, 1018, 1018, 934, 1019,
- 1019, 934, 1017, 1017, 1017, 1012, 1020, 1021, 1022, 1023,
- 961, 1024, 1025, 961, 934, 1027, 1021, 1026, 961, 962,
- 1029, 1031, 962, 964, 1032, 962, 964, 965, 966, 1033,
- 965, 966, 1041, 1026, 966, 1037, 1037, 1037, 1042, 964,
- 1038, 1038, 1043, 965, 988, 988, 988, 966, 978, 978,
- 978, 1045, 1047, 1043, 1049, 1044, 1050, 1051, 1007, 1007,
- 1007, 978, 978, 978, 1044, 1052, 1056, 1056, 1056, 1057,
- 1057, 1028, 1028, 1028, 1060, 1036, 1036, 1036, 978, 978,
- 978, 978, 1061, 1063, 988, 978, 1065, 988, 978, 1062,
-
- 988, 978, 1063, 1066, 978, 989, 989, 989, 1007, 1073,
- 1062, 1007, 1067, 1067, 1007, 989, 1086, 989, 989, 989,
- 989, 1028, 1080, 1080, 1028, 1036, 1088, 1071, 1036, 1071,
- 1089, 989, 1090, 1055, 1055, 1055, 1091, 1028, 1084, 1084,
- 1064, 1064, 1064, 1085, 1085, 989, 1093, 1095, 989, 1008,
- 1008, 1008, 1079, 1079, 1079, 1083, 1083, 1083, 1087, 1008,
- 1096, 1008, 1008, 1008, 1008, 1092, 1099, 1087, 1100, 1068,
- 1068, 1068, 1102, 1055, 1114, 1008, 1055, 1094, 1094, 1094,
- 1116, 1092, 1097, 1069, 1069, 1069, 1107, 1107, 1107, 1008,
- 1115, 1097, 1008, 1034, 1034, 1034, 1064, 1108, 1108, 1115,
-
- 1070, 1070, 1070, 1034, 1117, 1034, 1034, 1034, 1034, 1068,
- 1112, 1112, 1068, 1118, 1078, 1078, 1078, 1094, 1119, 1034,
- 1035, 1035, 1035, 1069, 1121, 1068, 1069, 1106, 1106, 1106,
- 1035, 1123, 1035, 1035, 1035, 1035, 1124, 1070, 1129, 1069,
- 1070, 1113, 1113, 1070, 1131, 1132, 1035, 1039, 1039, 1039,
- 1111, 1111, 1111, 1120, 1078, 1134, 1070, 1078, 1140, 1125,
- 1039, 1039, 1039, 1122, 1122, 1122, 1134, 1106, 1125, 1120,
- 1106, 1127, 1127, 1127, 1135, 1135, 1135, 1039, 1039, 1039,
- 1039, 1133, 1138, 1138, 1039, 1133, 1142, 1039, 1139, 1139,
- 1039, 1141, 1143, 1039, 1053, 1053, 1053, 1137, 1137, 1137,
-
- 1141, 1144, 1145, 1122, 1053, 1147, 1053, 1053, 1053, 1053,
- 1146, 1148, 1148, 1148, 1149, 1149, 1150, 1150, 1150, 1153,
- 1053, 1054, 1054, 1054, 1158, 1158, 1146, 1127, 1161, 1168,
- 1135, 1054, 1170, 1054, 1054, 1054, 1054, 1151, 1151, 1151,
- 1157, 1157, 1157, 1156, 1156, 1156, 1169, 1054, 1058, 1058,
- 1058, 1171, 1152, 1152, 1152, 1169, 1150, 1165, 1165, 1165,
- 1172, 1058, 1058, 1058, 1166, 1166, 1167, 1167, 1173, 1175,
- 1181, 1174, 1176, 1176, 1176, 1177, 1177, 1151, 1058, 1058,
- 1058, 1058, 1190, 1156, 1191, 1058, 1156, 1174, 1058, 1152,
- 1195, 1058, 1152, 1210, 1058, 1076, 1076, 1076, 1212, 1156,
-
- 1178, 1178, 1178, 1186, 1186, 1076, 1213, 1076, 1076, 1076,
- 1076, 1179, 1179, 1179, 1185, 1185, 1185, 1184, 1184, 1184,
- 1192, 1076, 1081, 1081, 1081, 1193, 1180, 1180, 1180, 1196,
- 1196, 1192, 1204, 1204, 1193, 1081, 1081, 1081, 1208, 1208,
- 1178, 1194, 1194, 1194, 1197, 1197, 1197, 1198, 1198, 1198,
- 1214, 1179, 1081, 1081, 1081, 1081, 1215, 1184, 1211, 1081,
- 1184, 1217, 1081, 1180, 1216, 1081, 1180, 1211, 1081, 1098,
- 1098, 1098, 1234, 1184, 1199, 1199, 1199, 1209, 1209, 1098,
- 1216, 1098, 1098, 1098, 1098, 1202, 1202, 1202, 1203, 1203,
- 1203, 1207, 1207, 1207, 1236, 1098, 1237, 1194, 1218, 1218,
-
- 1218, 1220, 1220, 1221, 1221, 1221, 1098, 1104, 1104, 1104,
- 1222, 1222, 1222, 1238, 1199, 1199, 1239, 1104, 1241, 1104,
- 1104, 1104, 1104, 1228, 1228, 1202, 1232, 1232, 1202, 1223,
- 1223, 1223, 1243, 1104, 1109, 1109, 1109, 1244, 1218, 1233,
- 1233, 1202, 1240, 1247, 1226, 1226, 1226, 1109, 1109, 1109,
- 1227, 1227, 1227, 1235, 1218, 1231, 1231, 1231, 1240, 1242,
- 1242, 1242, 1235, 1245, 1109, 1109, 1109, 1109, 1253, 1223,
- 1223, 1109, 1245, 1255, 1109, 1251, 1251, 1109, 1252, 1252,
- 1109, 1126, 1126, 1126, 1226, 1256, 1257, 1226, 1248, 1248,
- 1248, 1126, 1258, 1126, 1126, 1126, 1126, 1254, 1259, 1242,
-
- 1226, 1250, 1250, 1250, 1260, 1273, 1254, 1126, 1261, 1261,
- 1261, 1262, 1262, 1275, 1259, 1242, 1271, 1271, 1126, 1154,
- 1154, 1154, 1263, 1263, 1263, 1264, 1264, 1264, 1248, 1154,
- 1276, 1154, 1154, 1154, 1154, 1277, 1248, 1272, 1272, 1265,
- 1265, 1265, 1268, 1268, 1268, 1154, 1155, 1155, 1155, 1270,
- 1270, 1270, 1278, 1279, 1274, 1280, 1155, 1286, 1155, 1155,
- 1155, 1155, 1263, 1274, 1261, 1264, 1282, 1282, 1314, 1279,
- 1291, 1291, 1155, 1159, 1159, 1159, 1265, 1316, 1263, 1265,
- 1315, 1264, 1268, 1281, 1281, 1281, 1159, 1159, 1159, 1315,
- 1268, 1290, 1290, 1290, 1317, 1265, 1283, 1283, 1283, 1318,
-
- 1284, 1284, 1284, 1159, 1159, 1159, 1159, 1295, 1295, 1319,
- 1159, 1300, 1300, 1159, 1308, 1308, 1159, 1312, 1312, 1159,
- 1182, 1182, 1182, 1296, 1296, 1296, 1285, 1285, 1285, 1320,
- 1182, 1321, 1182, 1182, 1182, 1182, 1283, 1313, 1313, 1281,
- 1284, 1289, 1289, 1289, 1331, 1320, 1182, 1183, 1183, 1183,
- 1329, 1329, 1283, 1294, 1294, 1294, 1284, 1183, 1332, 1183,
- 1183, 1183, 1183, 1285, 1330, 1330, 1285, 1332, 1297, 1297,
- 1297, 1333, 1334, 1183, 1187, 1187, 1187, 1335, 1336, 1296,
- 1338, 1289, 1285, 1385, 1289, 1340, 1340, 1187, 1187, 1187,
- 1301, 1301, 1301, 1294, 1307, 1307, 1307, 1289, 1386, 1294,
-
- 1298, 1298, 1298, 1337, 1187, 1187, 1187, 1187, 1302, 1302,
- 1302, 1187, 1348, 1348, 1187, 1395, 1396, 1187, 1397, 1337,
- 1187, 1200, 1200, 1200, 1297, 1299, 1299, 1299, 1303, 1303,
- 1303, 1200, 1398, 1200, 1200, 1200, 1200, 1311, 1311, 1311,
- 1298, 1298, 1328, 1328, 1328, 1399, 1301, 1200, 1205, 1205,
- 1205, 1400, 1401, 1403, 1404, 1405, 1298, 1406, 1407, 1408,
- 1409, 1205, 1205, 1205, 1302, 1299, 1410, 1411, 1303, 1303,
- 1413, 1299, 1414, 812, 811, 810, 809, 808, 1205, 1205,
- 1205, 1205, 807, 804, 1303, 1205, 803, 802, 1205, 801,
- 799, 1205, 798, 797, 1205, 1219, 1219, 1219, 1219, 1219,
-
+ 81, 81, 81, 81, 81, 81, 81, 81, 88, 832,
+ 88, 95, 95, 95, 96, 96, 96, 98, 98, 98,
+ 102, 176, 176, 176, 177, 177, 177, 260, 102, 346,
+ 102, 346, 102, 102, 102, 187, 187, 187, 346, 102,
+ 260, 189, 189, 189, 202, 206, 202, 177, 191, 191,
+ 191, 206, 98, 208, 208, 208, 206, 305, 98, 244,
+ 244, 244, 305, 88, 297, 98, 95, 98, 206, 96,
+ 613, 189, 209, 209, 209, 307, 307, 187, 176, 189,
+
+ 297, 177, 191, 194, 194, 194, 613, 194, 211, 211,
+ 211, 465, 187, 194, 245, 245, 245, 773, 189, 202,
+ 194, 194, 194, 306, 306, 191, 465, 209, 208, 266,
+ 266, 266, 773, 209, 267, 267, 267, 834, 284, 284,
+ 209, 281, 209, 211, 319, 281, 281, 292, 328, 211,
+ 284, 690, 344, 306, 292, 344, 211, 319, 211, 292,
+ 690, 328, 340, 340, 340, 367, 379, 367, 344, 382,
+ 344, 369, 369, 367, 379, 385, 389, 389, 382, 445,
+ 367, 382, 379, 404, 404, 404, 266, 835, 385, 369,
+ 836, 267, 837, 445, 445, 437, 437, 437, 486, 486,
+
+ 486, 487, 487, 487, 499, 437, 389, 437, 437, 437,
+ 437, 838, 499, 501, 501, 501, 513, 513, 513, 340,
+ 521, 521, 437, 520, 520, 520, 513, 527, 513, 513,
+ 513, 513, 519, 519, 519, 527, 547, 840, 404, 841,
+ 547, 842, 519, 513, 519, 519, 519, 519, 558, 558,
+ 558, 487, 843, 486, 547, 562, 562, 562, 558, 519,
+ 558, 558, 558, 558, 572, 572, 572, 844, 501, 522,
+ 522, 522, 583, 583, 583, 558, 584, 584, 584, 596,
+ 596, 596, 522, 522, 522, 597, 597, 597, 848, 596,
+ 849, 596, 596, 596, 596, 598, 598, 604, 604, 604,
+
+ 522, 522, 522, 522, 605, 605, 596, 522, 702, 584,
+ 522, 855, 562, 522, 572, 702, 522, 606, 606, 615,
+ 615, 615, 601, 601, 601, 652, 652, 583, 599, 599,
+ 599, 601, 651, 651, 651, 857, 650, 650, 650, 687,
+ 687, 599, 599, 599, 688, 688, 650, 777, 650, 650,
+ 650, 650, 686, 686, 686, 695, 656, 656, 656, 599,
+ 599, 599, 599, 650, 703, 703, 599, 739, 739, 599,
+ 858, 695, 599, 740, 740, 599, 777, 601, 653, 653,
+ 653, 655, 655, 655, 658, 658, 658, 697, 697, 697,
+ 655, 653, 653, 653, 659, 659, 659, 673, 673, 673,
+
+ 698, 698, 698, 699, 699, 699, 704, 704, 704, 653,
+ 653, 653, 653, 656, 742, 859, 653, 778, 778, 653,
+ 659, 860, 653, 742, 747, 653, 785, 785, 697, 862,
+ 673, 697, 700, 700, 700, 864, 655, 705, 705, 705,
+ 747, 658, 700, 865, 700, 700, 700, 700, 738, 738,
+ 738, 749, 749, 749, 866, 698, 819, 819, 699, 700,
+ 750, 750, 750, 751, 751, 751, 752, 752, 752, 753,
+ 753, 753, 754, 754, 754, 867, 752, 868, 752, 752,
+ 752, 752, 756, 756, 756, 856, 779, 779, 779, 784,
+ 784, 784, 749, 752, 856, 749, 826, 826, 754, 780,
+
+ 780, 780, 869, 781, 781, 781, 853, 853, 756, 782,
+ 782, 782, 825, 825, 825, 750, 854, 854, 751, 820,
+ 820, 820, 829, 829, 829, 870, 753, 779, 872, 861,
+ 779, 821, 821, 821, 875, 822, 822, 822, 876, 877,
+ 780, 781, 878, 780, 781, 861, 880, 781, 829, 782,
+ 782, 882, 883, 782, 786, 786, 786, 831, 831, 831,
+ 820, 884, 885, 820, 823, 823, 823, 786, 786, 786,
+ 886, 887, 821, 822, 888, 821, 822, 890, 891, 822,
+ 833, 833, 833, 892, 893, 786, 786, 786, 786, 839,
+ 839, 839, 786, 897, 897, 786, 898, 898, 786, 899,
+
+ 901, 786, 902, 900, 823, 823, 903, 904, 823, 827,
+ 827, 827, 900, 906, 831, 908, 850, 850, 850, 852,
+ 852, 852, 827, 827, 827, 851, 851, 851, 914, 863,
+ 863, 863, 905, 915, 894, 894, 894, 833, 916, 917,
+ 827, 827, 827, 827, 839, 918, 921, 827, 905, 922,
+ 827, 923, 924, 827, 925, 926, 827, 850, 850, 927,
+ 850, 895, 895, 895, 928, 938, 851, 931, 931, 851,
+ 863, 939, 940, 863, 851, 894, 894, 943, 894, 896,
+ 896, 896, 907, 907, 907, 947, 863, 909, 909, 909,
+ 912, 912, 912, 919, 919, 919, 929, 929, 929, 935,
+
+ 951, 935, 895, 953, 954, 895, 920, 920, 920, 955,
+ 895, 930, 930, 930, 956, 957, 920, 959, 920, 920,
+ 920, 920, 960, 907, 963, 963, 907, 932, 932, 932,
+ 967, 970, 967, 920, 933, 933, 933, 929, 971, 907,
+ 929, 934, 934, 934, 909, 929, 972, 912, 919, 962,
+ 962, 962, 930, 973, 980, 930, 977, 977, 930, 961,
+ 961, 961, 981, 964, 964, 964, 983, 984, 932, 985,
+ 986, 932, 965, 965, 965, 933, 987, 990, 933, 934,
+ 991, 993, 934, 994, 932, 934, 966, 966, 966, 996,
+ 962, 933, 993, 962, 997, 992, 962, 998, 934, 992,
+
+ 961, 1001, 1003, 961, 964, 1004, 1005, 964, 961, 976,
+ 976, 976, 1006, 965, 1009, 1010, 965, 1013, 1014, 1015,
+ 964, 988, 988, 988, 966, 1012, 1020, 966, 1011, 965,
+ 966, 1022, 1011, 1017, 1017, 1017, 1012, 1018, 1018, 1007,
+ 1007, 1007, 1021, 966, 978, 978, 978, 1019, 1019, 1023,
+ 1024, 1021, 1025, 1026, 1027, 1029, 1031, 978, 978, 978,
+ 1032, 1033, 988, 1038, 1038, 988, 1041, 1042, 988, 1026,
+ 1028, 1028, 1028, 1043, 1045, 978, 978, 978, 978, 1047,
+ 1007, 1044, 978, 1007, 1043, 978, 1007, 1049, 978, 1050,
+ 1044, 978, 989, 989, 989, 1037, 1037, 1037, 1051, 1052,
+
+ 1057, 1057, 989, 1060, 989, 989, 989, 989, 1034, 1034,
+ 1034, 1028, 1061, 1065, 1028, 1036, 1036, 1036, 1034, 989,
+ 1034, 1034, 1034, 1034, 1056, 1056, 1056, 1028, 1066, 1073,
+ 1035, 1035, 1035, 989, 1086, 1034, 989, 1008, 1008, 1008,
+ 1035, 1088, 1035, 1035, 1035, 1035, 1071, 1008, 1071, 1008,
+ 1008, 1008, 1008, 1053, 1053, 1053, 1036, 1035, 1062, 1036,
+ 1054, 1054, 1054, 1053, 1008, 1053, 1053, 1053, 1053, 1062,
+ 1054, 1089, 1054, 1054, 1054, 1054, 1063, 1087, 1008, 1090,
+ 1053, 1008, 1039, 1039, 1039, 1063, 1087, 1054, 1091, 1055,
+ 1055, 1055, 1067, 1067, 1093, 1039, 1039, 1039, 1064, 1064,
+
+ 1064, 1068, 1068, 1068, 1079, 1079, 1079, 1080, 1080, 1083,
+ 1083, 1083, 1092, 1039, 1039, 1039, 1039, 1084, 1084, 1095,
+ 1039, 1085, 1085, 1039, 1096, 1099, 1039, 1100, 1092, 1039,
+ 1055, 1102, 1097, 1055, 1058, 1058, 1058, 1114, 1069, 1069,
+ 1069, 1097, 1068, 1108, 1108, 1068, 1116, 1058, 1058, 1058,
+ 1070, 1070, 1070, 1112, 1112, 1064, 1113, 1113, 1068, 1078,
+ 1078, 1078, 1107, 1107, 1107, 1058, 1058, 1058, 1058, 1111,
+ 1111, 1111, 1058, 1117, 1115, 1058, 1118, 1119, 1058, 1069,
+ 1121, 1058, 1069, 1115, 1123, 1120, 1124, 1129, 1070, 1131,
+ 1125, 1070, 1132, 1134, 1070, 1069, 1076, 1076, 1076, 1125,
+
+ 1078, 1120, 1140, 1078, 1134, 1142, 1076, 1070, 1076, 1076,
+ 1076, 1076, 1094, 1094, 1094, 1138, 1138, 1104, 1104, 1104,
+ 1106, 1106, 1106, 1076, 1081, 1081, 1081, 1104, 1143, 1104,
+ 1104, 1104, 1104, 1144, 1122, 1122, 1122, 1081, 1081, 1081,
+ 1127, 1127, 1127, 1133, 1104, 1139, 1139, 1133, 1135, 1135,
+ 1135, 1141, 1145, 1094, 1146, 1081, 1081, 1081, 1081, 1147,
+ 1141, 1106, 1081, 1153, 1106, 1081, 1149, 1149, 1081, 1161,
+ 1146, 1081, 1098, 1098, 1098, 1122, 1137, 1137, 1137, 1148,
+ 1148, 1148, 1098, 1168, 1098, 1098, 1098, 1098, 1150, 1150,
+ 1150, 1151, 1151, 1151, 1154, 1154, 1154, 1127, 1170, 1098,
+
+ 1152, 1152, 1152, 1171, 1154, 1135, 1154, 1154, 1154, 1154,
+ 1098, 1109, 1109, 1109, 1157, 1157, 1157, 1158, 1158, 1166,
+ 1166, 1154, 1167, 1167, 1109, 1109, 1109, 1169, 1172, 1150,
+ 1173, 1175, 1151, 1165, 1165, 1165, 1169, 1174, 1152, 1177,
+ 1177, 1152, 1109, 1109, 1109, 1109, 1156, 1156, 1156, 1109,
+ 1181, 1190, 1109, 1174, 1191, 1109, 1186, 1186, 1109, 1126,
+ 1126, 1126, 1176, 1176, 1176, 1155, 1155, 1155, 1195, 1126,
+ 1210, 1126, 1126, 1126, 1126, 1155, 1212, 1155, 1155, 1155,
+ 1155, 1178, 1178, 1178, 1213, 1192, 1126, 1156, 1214, 1193,
+ 1156, 1215, 1155, 1179, 1179, 1179, 1192, 1126, 1193, 1217,
+
+ 1184, 1184, 1184, 1156, 1159, 1159, 1159, 1211, 1180, 1180,
+ 1180, 1196, 1196, 1182, 1182, 1182, 1211, 1159, 1159, 1159,
+ 1204, 1204, 1178, 1182, 1234, 1182, 1182, 1182, 1182, 1185,
+ 1185, 1185, 1208, 1208, 1179, 1159, 1159, 1159, 1159, 1236,
+ 1182, 1184, 1159, 1237, 1184, 1159, 1180, 1216, 1159, 1180,
+ 1238, 1159, 1183, 1183, 1183, 1209, 1209, 1184, 1194, 1194,
+ 1194, 1239, 1183, 1216, 1183, 1183, 1183, 1183, 1197, 1197,
+ 1197, 1198, 1198, 1198, 1241, 1199, 1199, 1199, 1243, 1183,
+ 1187, 1187, 1187, 1203, 1203, 1203, 1207, 1207, 1207, 1244,
+ 1202, 1202, 1202, 1187, 1187, 1187, 1218, 1218, 1218, 1220,
+
+ 1220, 1221, 1221, 1221, 1222, 1222, 1222, 1223, 1223, 1223,
+ 1247, 1187, 1187, 1187, 1187, 1194, 1199, 1199, 1187, 1228,
+ 1228, 1187, 1232, 1232, 1187, 1233, 1233, 1187, 1200, 1200,
+ 1200, 1202, 1251, 1251, 1202, 1252, 1252, 1218, 1200, 1253,
+ 1200, 1200, 1200, 1200, 1227, 1227, 1227, 1202, 1223, 1223,
+ 1224, 1224, 1224, 1218, 1255, 1200, 1205, 1205, 1205, 1240,
+ 1224, 1256, 1224, 1224, 1224, 1224, 1231, 1231, 1231, 1205,
+ 1205, 1205, 1235, 1245, 1254, 1240, 1257, 1224, 1250, 1250,
+ 1250, 1235, 1245, 1254, 1258, 1259, 1260, 1205, 1205, 1205,
+ 1205, 1262, 1262, 1273, 1205, 1271, 1271, 1205, 1272, 1272,
+
+ 1205, 1259, 1275, 1205, 1219, 1219, 1219, 1219, 1219, 1219,
1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219,
1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219,
1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219,
1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219,
1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219,
- 796, 1219, 1219, 1219, 1224, 1224, 1224, 795, 794, 1306,
- 1306, 1306, 793, 792, 1224, 791, 1224, 1224, 1224, 1224,
- 1322, 1322, 1322, 1359, 1359, 1359, 790, 1324, 1324, 1324,
- 1224, 1229, 1229, 1229, 789, 788, 774, 772, 1339, 1339,
- 1339, 1326, 1326, 1326, 1229, 1229, 1229, 768, 767, 1306,
-
- 766, 765, 1306, 764, 763, 1341, 1341, 1341, 762, 761,
- 1322, 1229, 1229, 1229, 1229, 1306, 1359, 1324, 1229, 760,
- 759, 1229, 758, 755, 1229, 1324, 1322, 1229, 1246, 1246,
- 1246, 1326, 748, 1324, 1342, 1342, 1342, 746, 1246, 1326,
- 1246, 1246, 1246, 1246, 1339, 1341, 745, 1326, 1343, 1343,
- 1343, 744, 743, 741, 1246, 737, 1345, 1345, 1345, 736,
- 735, 1341, 1349, 1349, 1349, 1246, 1287, 1287, 1287, 1347,
- 1347, 1347, 734, 733, 1342, 732, 1287, 730, 1287, 1287,
- 1287, 1287, 1350, 1350, 1350, 1343, 729, 728, 1343, 727,
- 1342, 726, 1287, 1288, 1288, 1288, 1345, 725, 724, 1351,
-
- 1351, 1351, 1345, 1288, 1343, 1288, 1288, 1288, 1288, 1347,
- 723, 721, 1345, 720, 719, 1347, 718, 717, 1349, 1288,
- 1292, 1292, 1292, 716, 715, 1347, 713, 712, 711, 710,
- 1354, 1354, 1354, 1292, 1292, 1292, 709, 708, 1350, 1351,
- 1351, 706, 701, 1356, 1356, 1356, 696, 694, 693, 692,
- 1292, 1292, 1292, 1292, 691, 1351, 689, 1292, 685, 684,
- 1292, 683, 682, 1292, 681, 680, 1292, 1304, 1304, 1304,
- 1354, 679, 1357, 1357, 1357, 678, 677, 1304, 1354, 1304,
- 1304, 1304, 1304, 1356, 676, 674, 1354, 672, 671, 670,
- 669, 668, 667, 1304, 1309, 1309, 1309, 666, 665, 1356,
-
- 664, 663, 662, 661, 660, 657, 649, 1309, 1309, 1309,
- 647, 646, 1357, 645, 644, 643, 642, 641, 1357, 640,
- 639, 638, 637, 636, 1309, 1309, 1309, 1309, 1357, 635,
- 634, 1309, 633, 632, 1309, 631, 630, 1309, 629, 628,
- 1309, 1323, 1323, 1323, 626, 625, 624, 623, 622, 621,
- 620, 1323, 619, 1323, 1323, 1323, 1323, 618, 617, 616,
- 614, 612, 611, 610, 609, 607, 603, 1323, 602, 595,
- 594, 593, 592, 591, 590, 589, 588, 587, 586, 585,
- 582, 1323, 1325, 1325, 1325, 581, 580, 579, 578, 577,
- 576, 575, 1325, 574, 1325, 1325, 1325, 1325, 573, 571,
-
- 570, 569, 568, 567, 566, 565, 564, 563, 1325, 561,
- 560, 559, 557, 556, 555, 554, 553, 552, 551, 550,
- 549, 546, 1325, 1344, 1344, 1344, 545, 544, 543, 542,
- 541, 540, 539, 1344, 538, 1344, 1344, 1344, 1344, 537,
- 535, 534, 533, 532, 531, 530, 529, 528, 526, 1344,
- 525, 516, 515, 514, 512, 511, 510, 509, 508, 507,
- 506, 505, 504, 1344, 1346, 1346, 1346, 503, 502, 500,
- 498, 497, 495, 494, 1346, 493, 1346, 1346, 1346, 1346,
- 492, 491, 490, 489, 488, 485, 484, 483, 482, 481,
- 1346, 480, 479, 478, 477, 476, 475, 474, 472, 471,
-
- 469, 468, 467, 466, 1346, 1352, 1352, 1352, 464, 463,
- 462, 461, 460, 459, 458, 1352, 457, 1352, 1352, 1352,
- 1352, 456, 454, 453, 452, 451, 450, 449, 448, 447,
- 446, 1352, 444, 443, 442, 441, 440, 439, 438, 436,
- 435, 434, 433, 432, 431, 1352, 430, 429, 428, 427,
- 426, 425, 424, 422, 421, 420, 419, 418, 417, 416,
- 415, 1352, 1353, 1353, 1353, 414, 413, 412, 411, 410,
- 409, 408, 1353, 407, 1353, 1353, 1353, 1353, 406, 405,
- 403, 402, 401, 400, 398, 397, 396, 395, 1353, 394,
- 393, 392, 391, 390, 388, 387, 386, 384, 383, 381,
-
- 380, 378, 1353, 377, 376, 375, 374, 373, 372, 371,
- 370, 368, 366, 365, 364, 363, 362, 361, 1353, 1355,
- 1355, 1355, 360, 359, 358, 357, 356, 355, 354, 1355,
- 353, 1355, 1355, 1355, 1355, 351, 350, 349, 348, 347,
- 345, 342, 339, 338, 337, 1355, 336, 335, 334, 333,
- 332, 331, 330, 329, 327, 326, 325, 324, 322, 1355,
- 321, 320, 318, 317, 316, 315, 313, 312, 311, 310,
- 309, 308, 304, 303, 302, 1355, 1358, 1358, 1358, 301,
- 300, 299, 298, 296, 295, 294, 1358, 293, 1358, 1358,
- 1358, 1358, 291, 289, 288, 287, 286, 285, 283, 280,
-
- 279, 278, 1358, 277, 276, 275, 274, 273, 272, 271,
- 270, 269, 264, 262, 261, 259, 1358, 258, 257, 256,
- 254, 253, 251, 250, 249, 248, 246, 242, 238, 236,
- 234, 232, 1358, 1361, 1361, 1361, 1361, 1361, 1361, 1361,
- 1361, 1361, 1361, 1361, 1361, 1362, 1362, 1362, 1362, 1362,
- 1362, 1362, 1362, 1362, 1362, 1362, 1362, 1363, 1363, 1363,
- 1363, 1363, 1363, 1363, 1363, 1363, 1363, 1363, 1363, 1364,
+ 1276, 1219, 1219, 1219, 1226, 1226, 1226, 1277, 1242, 1242,
+ 1242, 1248, 1248, 1248, 1261, 1261, 1261, 1263, 1263, 1263,
+ 1270, 1270, 1270, 1278, 1279, 1264, 1264, 1264, 1274, 1265,
+ 1265, 1265, 1268, 1268, 1268, 1280, 1286, 1274, 1282, 1282,
+
+ 1279, 1281, 1281, 1281, 1314, 1226, 1291, 1291, 1226, 1242,
+ 1295, 1295, 1248, 1290, 1290, 1290, 1300, 1300, 1263, 1316,
+ 1248, 1226, 1229, 1229, 1229, 1242, 1264, 1265, 1308, 1308,
+ 1265, 1261, 1317, 1268, 1263, 1229, 1229, 1229, 1283, 1283,
+ 1283, 1268, 1264, 1307, 1307, 1307, 1265, 1284, 1284, 1284,
+ 1311, 1311, 1311, 1229, 1229, 1229, 1229, 1318, 1281, 1315,
+ 1229, 1312, 1312, 1229, 1313, 1313, 1229, 1319, 1315, 1229,
+ 1246, 1246, 1246, 1285, 1285, 1285, 1321, 1329, 1329, 1283,
+ 1246, 1331, 1246, 1246, 1246, 1246, 1320, 1332, 1284, 1296,
+ 1296, 1296, 1297, 1297, 1297, 1283, 1332, 1246, 1289, 1289,
+
+ 1289, 1333, 1320, 1334, 1284, 1287, 1287, 1287, 1246, 1330,
+ 1330, 1285, 1335, 1336, 1285, 1287, 1338, 1287, 1287, 1287,
+ 1287, 1288, 1288, 1288, 1337, 1294, 1294, 1294, 1340, 1340,
+ 1285, 1288, 1287, 1288, 1288, 1288, 1288, 1348, 1348, 1289,
+ 1337, 1385, 1289, 1328, 1328, 1328, 1296, 1386, 1288, 1297,
+ 1298, 1298, 1298, 1395, 1396, 1289, 1292, 1292, 1292, 1397,
+ 1399, 1299, 1299, 1299, 1400, 1403, 1294, 1404, 1405, 1292,
+ 1292, 1292, 1294, 1301, 1301, 1301, 1302, 1302, 1302, 1303,
+ 1303, 1303, 1306, 1306, 1306, 1406, 1407, 1292, 1292, 1292,
+ 1292, 1298, 1298, 1408, 1292, 1409, 1410, 1292, 1411, 1413,
+
+ 1292, 1414, 1299, 1292, 1304, 1304, 1304, 1298, 1299, 1322,
+ 1322, 1322, 812, 811, 1304, 810, 1304, 1304, 1304, 1304,
+ 1303, 1303, 809, 1306, 808, 807, 1306, 804, 803, 802,
+ 1301, 1304, 801, 1302, 799, 798, 1303, 797, 796, 1306,
+ 1309, 1309, 1309, 795, 794, 793, 792, 1359, 1359, 1359,
+ 1322, 791, 790, 1309, 1309, 1309, 1324, 1324, 1324, 1339,
+ 1339, 1339, 789, 1326, 1326, 1326, 1322, 1341, 1341, 1341,
+ 788, 1309, 1309, 1309, 1309, 774, 772, 768, 1309, 767,
+ 766, 1309, 765, 764, 1309, 763, 762, 1309, 1323, 1323,
+ 1323, 1359, 1342, 1342, 1342, 761, 760, 1324, 1323, 759,
+
+ 1323, 1323, 1323, 1323, 1326, 1324, 758, 755, 1341, 1343,
+ 1343, 1343, 1326, 1324, 748, 1323, 1339, 746, 745, 744,
+ 1326, 1345, 1345, 1345, 1341, 743, 1349, 1349, 1349, 1323,
+ 1325, 1325, 1325, 1342, 1347, 1347, 1347, 1350, 1350, 1350,
+ 1325, 741, 1325, 1325, 1325, 1325, 737, 1343, 736, 1342,
+ 1343, 1351, 1351, 1351, 1354, 1354, 1354, 1325, 735, 734,
+ 733, 732, 1345, 1356, 1356, 1356, 1343, 730, 1345, 729,
+ 728, 1325, 1344, 1344, 1344, 1347, 727, 726, 1345, 725,
+ 724, 1347, 1344, 1349, 1344, 1344, 1344, 1344, 723, 721,
+ 720, 1347, 1351, 1351, 1350, 1354, 1357, 1357, 1357, 1344,
+
+ 719, 718, 717, 1354, 1356, 716, 715, 713, 1351, 712,
+ 711, 1354, 710, 1344, 1346, 1346, 1346, 709, 708, 706,
+ 1356, 701, 696, 694, 1346, 693, 1346, 1346, 1346, 1346,
+ 692, 691, 689, 685, 684, 683, 682, 1357, 681, 680,
+ 679, 1346, 678, 1357, 677, 676, 674, 672, 671, 670,
+ 669, 668, 667, 1357, 666, 1346, 1352, 1352, 1352, 665,
+ 664, 663, 662, 661, 660, 657, 1352, 649, 1352, 1352,
+ 1352, 1352, 647, 646, 645, 644, 643, 642, 641, 640,
+ 639, 638, 637, 1352, 636, 635, 634, 633, 632, 631,
+ 630, 629, 628, 626, 625, 624, 623, 1352, 622, 621,
+
+ 620, 619, 618, 617, 616, 614, 612, 611, 610, 609,
+ 607, 603, 602, 1352, 1353, 1353, 1353, 595, 594, 593,
+ 592, 591, 590, 589, 1353, 588, 1353, 1353, 1353, 1353,
+ 587, 586, 585, 582, 581, 580, 579, 578, 577, 576,
+ 575, 1353, 574, 573, 571, 570, 569, 568, 567, 566,
+ 565, 564, 563, 561, 560, 1353, 559, 557, 556, 555,
+ 554, 553, 552, 551, 550, 549, 546, 545, 544, 543,
+ 542, 1353, 1355, 1355, 1355, 541, 540, 539, 538, 537,
+ 535, 534, 1355, 533, 1355, 1355, 1355, 1355, 532, 531,
+ 530, 529, 528, 526, 525, 516, 515, 514, 512, 1355,
+
+ 511, 510, 509, 508, 507, 506, 505, 504, 503, 502,
+ 500, 498, 497, 1355, 495, 494, 493, 492, 491, 490,
+ 489, 488, 485, 484, 483, 482, 481, 480, 479, 1355,
+ 1358, 1358, 1358, 478, 477, 476, 475, 474, 472, 471,
+ 1358, 469, 1358, 1358, 1358, 1358, 468, 467, 466, 464,
+ 463, 462, 461, 460, 459, 458, 457, 1358, 456, 454,
+ 453, 452, 451, 450, 449, 448, 447, 446, 444, 443,
+ 442, 1358, 441, 440, 439, 438, 436, 435, 434, 433,
+ 432, 431, 430, 429, 428, 427, 426, 1358, 1361, 1361,
+ 1361, 1361, 1361, 1361, 1361, 1361, 1361, 1361, 1361, 1361,
+
+ 1361, 1362, 1362, 1362, 1362, 1362, 1362, 1362, 1362, 1362,
+ 1362, 1362, 1362, 1362, 1363, 1363, 1363, 1363, 1363, 1363,
+ 1363, 1363, 1363, 1363, 1363, 1363, 1363, 1364, 1364, 1364,
1364, 1364, 1364, 1364, 1364, 1364, 1364, 1364, 1364, 1364,
- 1364, 1365, 1365, 1365, 1365, 1365, 1365, 1365, 1365, 1365,
+ 1365, 1365, 1365, 1365, 1365, 1365, 1365, 1365, 1365, 1365,
1365, 1365, 1365, 1366, 1366, 1366, 1366, 1366, 1366, 1366,
-
- 1366, 1366, 1366, 1366, 1366, 1367, 1367, 1367, 1367, 1367,
- 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1368, 1368, 1368,
- 1368, 1368, 1368, 1368, 1368, 1368, 1368, 1368, 1368, 1369,
- 1369, 1369, 1369, 1369, 1369, 1369, 1369, 1369, 1369, 1369,
- 1369, 1370, 1370, 1370, 1370, 1370, 1370, 1370, 1370, 1370,
- 1370, 1370, 1370, 1371, 1371, 1371, 1371, 1371, 1371, 1371,
- 1371, 1371, 1371, 1371, 1371, 1372, 1372, 1372, 1372, 1372,
- 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1373, 1373, 1373,
- 1373, 1373, 1373, 1373, 1373, 1373, 1373, 1373, 1373, 1374,
+ 1366, 1366, 1366, 1366, 1366, 1366, 1367, 1367, 1367, 1367,
+ 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1368,
+ 1368, 1368, 1368, 1368, 1368, 1368, 1368, 1368, 1368, 1368,
+ 1368, 1368, 1369, 1369, 1369, 1369, 1369, 1369, 1369, 1369,
+
+ 1369, 1369, 1369, 1369, 1369, 1370, 1370, 1370, 1370, 1370,
+ 1370, 1370, 1370, 1370, 1370, 1370, 1370, 1370, 1371, 1371,
+ 1371, 1371, 1371, 1371, 1371, 1371, 1371, 1371, 1371, 1371,
+ 1371, 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372,
+ 1372, 1372, 1372, 1372, 1373, 1373, 1373, 1373, 1373, 1373,
+ 1373, 1373, 1373, 1373, 1373, 1373, 1373, 1374, 1374, 1374,
1374, 1374, 1374, 1374, 1374, 1374, 1374, 1374, 1374, 1374,
-
- 1374, 1375, 1375, 1375, 1375, 1375, 1375, 1375, 1375, 1375,
+ 1375, 1375, 1375, 1375, 1375, 1375, 1375, 1375, 1375, 1375,
1375, 1375, 1375, 1376, 1376, 1376, 1376, 1376, 1376, 1376,
- 1376, 1376, 1376, 1376, 1376, 1377, 1377, 1377, 1377, 1377,
- 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1378, 231, 230,
- 1378, 229, 1378, 1378, 1378, 1378, 1378, 1379, 228, 226,
- 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1380, 1380, 225,
- 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1381,
- 223, 221, 220, 1381, 1382, 219, 218, 1382, 1382, 1382,
- 1382, 1382, 1382, 1382, 217, 1382, 1383, 215, 1383, 1383,
- 1383, 1384, 1384, 1387, 214, 213, 1387, 1387, 1387, 1387,
-
- 1387, 1387, 1387, 1388, 212, 203, 1388, 1388, 1388, 1388,
- 1388, 1388, 1388, 1389, 1389, 1389, 1389, 1389, 1389, 1389,
- 1389, 1389, 196, 1389, 1389, 1390, 1390, 1390, 1390, 1390,
- 1390, 1390, 1390, 192, 1390, 1390, 1390, 1391, 1391, 1391,
- 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1392, 188, 184,
- 170, 1392, 1393, 1393, 1394, 1394, 1394, 1394, 1394, 1394,
- 1394, 1394, 1394, 1394, 1394, 1394, 1402, 1402, 1402, 1402,
- 1402, 1402, 1402, 1402, 1402, 169, 1402, 1402, 1412, 1412,
- 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 167, 1412,
- 161, 160, 159, 157, 156, 155, 154, 153, 151, 149,
-
- 147, 145, 144, 143, 142, 141, 135, 124, 120, 117,
- 114, 109, 108, 103, 93, 82, 80, 78, 77, 76,
- 74, 73, 72, 70, 68, 62, 58, 55, 52, 45,
- 42, 41, 34, 33, 1360, 1360, 1360, 1360, 1360, 1360,
+ 1376, 1376, 1376, 1376, 1376, 1376, 1377, 1377, 1377, 1377,
+
+ 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1378,
+ 425, 424, 1378, 1378, 422, 1378, 1378, 1378, 1378, 1378,
+ 1379, 421, 420, 1379, 1379, 1379, 1379, 1379, 1379, 1379,
+ 1379, 1380, 1380, 419, 1380, 1380, 1380, 1380, 1380, 1380,
+ 1380, 1380, 1380, 1380, 1381, 418, 417, 416, 1381, 1382,
+ 415, 414, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382,
+ 413, 1382, 1383, 412, 1383, 1383, 1383, 1384, 1384, 1387,
+ 411, 410, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387,
+ 1388, 409, 408, 1388, 1388, 1388, 1388, 1388, 1388, 1388,
+ 1388, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389,
+
+ 1389, 407, 1389, 1389, 1390, 1390, 1390, 1390, 1390, 1390,
+ 1390, 1390, 1390, 406, 1390, 1390, 1390, 1391, 1391, 1391,
+ 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1392, 405,
+ 403, 402, 1392, 1393, 1393, 1394, 1394, 1394, 1394, 1394,
+ 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1394, 1398, 401,
+ 400, 398, 397, 1398, 1401, 396, 395, 394, 393, 1401,
+ 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402,
+ 392, 1402, 1402, 1412, 1412, 1412, 1412, 1412, 1412, 1412,
+ 1412, 1412, 1412, 1412, 391, 1412, 390, 388, 387, 386,
+ 384, 383, 381, 380, 378, 377, 376, 375, 374, 373,
+
+ 372, 371, 370, 368, 366, 365, 364, 363, 362, 361,
+ 360, 359, 358, 357, 356, 355, 354, 353, 351, 350,
+ 349, 348, 347, 345, 342, 339, 338, 337, 336, 335,
+ 334, 333, 332, 331, 330, 329, 327, 326, 325, 324,
+ 322, 321, 320, 318, 317, 316, 315, 313, 312, 311,
+ 310, 309, 308, 304, 303, 302, 301, 300, 299, 298,
+ 296, 295, 294, 293, 291, 289, 288, 287, 286, 285,
+ 283, 280, 279, 278, 277, 276, 275, 274, 273, 272,
+ 271, 270, 269, 264, 262, 261, 259, 258, 257, 256,
+ 254, 253, 251, 250, 249, 248, 246, 242, 238, 236,
+
+ 234, 232, 231, 230, 229, 228, 226, 225, 223, 221,
+ 220, 219, 218, 217, 215, 214, 213, 212, 203, 196,
+ 192, 188, 184, 170, 169, 167, 161, 160, 159, 157,
+ 156, 155, 154, 153, 151, 149, 147, 145, 144, 143,
+ 142, 141, 135, 124, 120, 117, 114, 109, 108, 103,
+ 93, 82, 80, 78, 77, 76, 74, 73, 72, 70,
+ 68, 62, 58, 55, 52, 45, 42, 41, 34, 33,
+ 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360,
1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360,
1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360,
+
1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360,
1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360,
1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360,
- 1360, 1360, 1360, 1360
-
+ 1360
} ;
static yy_state_type yy_last_accepting_state;
@@ -1737,13 +1745,16 @@ char *yytext;
#line 97 "detex.l"
#undef IGNORE
+#undef ECHO
#define LaBEGIN if (fLatex) BEGIN
-#define IGNORE if (fSpace && !fWord) putchar(' ')
+#define IGNORE Ignore()
+#define INCRLINENO IncrLineNo()
+#define ECHO Echo()
#define NOUN if (fSpace && !fWord && !fReplace) putchar(' '); else {if (fReplace) printf("noun");}
#define VERBNOUN if (fReplace) printf(" verbs noun"); /* puts a verb and a noun to make grammar checking work */
#define SPACE if (!fWord) putchar(' ')
-#define NEWLINE if (!fWord) putchar('\n')
+#define NEWLINE LineBreak()
#define LATEX fLatex=!fForcetex
#define KILLARGS(x) cArgs=x; LaBEGIN LaMacro
#define STRIPARGS(x) cArgs=x; LaBEGIN LaMacro2
@@ -1751,6 +1762,10 @@ char *yytext;
#define NO_MALLOC_DECL
+void LineBreak();
+void Ignore();
+void IncrLineNo();
+void Echo();
void AddInclude(char *sbFile);
void ErrorExit(const char *sb1);
void UsageExit(void);
@@ -1800,8 +1815,9 @@ int fFollow = 1; /* flag to follow input/include */
int fCite = 0; /* flag to echo \cite and \ref args */
int fSpace = 0; /* flag to replace \cs with space */
int fForcetex = 0; /* flag to inhibit latex mode */
-int fShowPictures = 0; /* flag to show picture names */
-int fReplace = 0; /* flag to replace envirnments with "noun" */
+int fSrcLoc = 0; /* flag to display source location of original file */
+int fShowPictures = 0; /* flag to show picture names */
+int fReplace = 0; /* flag to replace envirnments with "noun" */
int currBracesLevel = 0;
int footnoteLevel = -100;
@@ -1811,13 +1827,16 @@ int footnoteLevel = -100;
* otherwise output contains imported files in reverse order. Weird, but
* true.
*/
-YY_BUFFER_STATE rgsb[NOFILE + 1]; /* flex context stack */
-int csb = 0; /* depth of flex context stack */
+YY_BUFFER_STATE rgsb[NOFILE + 1]; /* flex context stack */
+char* fFileNames[NOFILE + 1]; /* names of the buffers in context stack */
+int fFileLines[NOFILE + 1]; /* line number in each of the context files */
+int fIsColumn0 = 1; /* Are we at the begining of a line? */
+int csb = 0; /* depth of flex context stack */
#endif /* FLEX_SCANNER */
-#line 1819 "lex.yy.c"
+#line 1838 "lex.yy.c"
-#line 1821 "lex.yy.c"
+#line 1840 "lex.yy.c"
#define INITIAL 0
#define Define 1
@@ -2053,9 +2072,9 @@ YY_DECL
}
{
-#line 196 "detex.l"
+#line 208 "detex.l"
-#line 2059 "lex.yy.c"
+#line 2078 "lex.yy.c"
while ( /*CONSTCOND*/1 ) /* loops until end-of-file is reached */
{
@@ -2110,24 +2129,24 @@ do_action: /* This label is used only to access EOF actions. */
case 1:
YY_RULE_SETUP
-#line 197 "detex.l"
-/* ignore comments */ ;
+#line 209 "detex.l"
+/* ignore comments */ {INCRLINENO;}
YY_BREAK
case 2:
/* rule 2 can match eol */
YY_RULE_SETUP
-#line 199 "detex.l"
+#line 211 "detex.l"
{LATEX; IGNORE;}
YY_BREAK
case 3:
YY_RULE_SETUP
-#line 201 "detex.l"
+#line 213 "detex.l"
/* environment start */ {LaBEGIN LaBegin; IGNORE;}
YY_BREAK
case 4:
/* rule 4 can match eol */
YY_RULE_SETUP
-#line 203 "detex.l"
+#line 215 "detex.l"
{ if (BeginEnv("verbatim"))
BEGIN LaEnv;
else
@@ -2138,24 +2157,24 @@ YY_RULE_SETUP
case 5:
/* rule 5 can match eol */
YY_RULE_SETUP
-#line 210 "detex.l"
+#line 222 "detex.l"
/* verbatim mode */ {BEGIN Normal; IGNORE;}
YY_BREAK
case 6:
/* rule 6 can match eol */
YY_RULE_SETUP
-#line 211 "detex.l"
+#line 223 "detex.l"
ECHO;
YY_BREAK
case 7:
YY_RULE_SETUP
-#line 212 "detex.l"
+#line 224 "detex.l"
ECHO;
YY_BREAK
case 8:
/* rule 8 can match eol */
YY_RULE_SETUP
-#line 214 "detex.l"
+#line 226 "detex.l"
{ KILLARGS(1);
if (BeginEnv("minipage"))
BEGIN LaEnv;
@@ -2167,7 +2186,7 @@ YY_RULE_SETUP
case 9:
/* rule 9 can match eol */
YY_RULE_SETUP
-#line 222 "detex.l"
+#line 234 "detex.l"
{
if (BeginEnv("table"))
BEGIN LaEnv;
@@ -2179,7 +2198,7 @@ YY_RULE_SETUP
case 10:
/* rule 10 can match eol */
YY_RULE_SETUP
-#line 230 "detex.l"
+#line 242 "detex.l"
{
if (BeginEnv("figure"))
BEGIN LaEnv;
@@ -2190,7 +2209,7 @@ YY_RULE_SETUP
YY_BREAK
case 11:
YY_RULE_SETUP
-#line 238 "detex.l"
+#line 250 "detex.l"
{ if (BeginEnv(yytext))
BEGIN LaEnv;
else
@@ -2201,28 +2220,28 @@ YY_RULE_SETUP
/*<LaBegin>"\n" NEWLINE;*/
case 12:
YY_RULE_SETUP
-#line 245 "detex.l"
-;
+#line 257 "detex.l"
+{INCRLINENO;}
YY_BREAK
case 13:
YY_RULE_SETUP
-#line 247 "detex.l"
+#line 259 "detex.l"
/* absorb some environments */ {LaBEGIN LaEnd; IGNORE;}
YY_BREAK
case 14:
/* rule 14 can match eol */
YY_RULE_SETUP
-#line 248 "detex.l"
+#line 260 "detex.l"
;/*NEWLINE;*/
YY_BREAK
case 15:
YY_RULE_SETUP
-#line 249 "detex.l"
-;
+#line 261 "detex.l"
+{INCRLINENO;}
YY_BREAK
case 16:
YY_RULE_SETUP
-#line 251 "detex.l"
+#line 263 "detex.l"
/* end environment */ { if (EndEnv(yytext))
BEGIN Normal;
IGNORE;
@@ -2230,354 +2249,354 @@ YY_RULE_SETUP
YY_BREAK
case 17:
YY_RULE_SETUP
-#line 255 "detex.l"
+#line 267 "detex.l"
{BEGIN LaEnv; IGNORE;}
YY_BREAK
/*<LaEnd>"\n" NEWLINE;*/
case 18:
YY_RULE_SETUP
-#line 257 "detex.l"
-;
+#line 269 "detex.l"
+{INCRLINENO;}
YY_BREAK
case 19:
/* rule 19 can match eol */
YY_RULE_SETUP
-#line 259 "detex.l"
+#line 271 "detex.l"
;
YY_BREAK
case 20:
/* rule 20 can match eol */
YY_RULE_SETUP
-#line 260 "detex.l"
+#line 272 "detex.l"
;
YY_BREAK
case 21:
/* rule 21 can match eol */
YY_RULE_SETUP
-#line 261 "detex.l"
+#line 273 "detex.l"
;
YY_BREAK
case 22:
/* rule 22 can match eol */
YY_RULE_SETUP
-#line 262 "detex.l"
+#line 274 "detex.l"
;
YY_BREAK
case 23:
/* rule 23 can match eol */
YY_RULE_SETUP
-#line 263 "detex.l"
+#line 275 "detex.l"
;
YY_BREAK
case 24:
/* rule 24 can match eol */
YY_RULE_SETUP
-#line 264 "detex.l"
+#line 276 "detex.l"
;
YY_BREAK
case 25:
YY_RULE_SETUP
-#line 265 "detex.l"
+#line 277 "detex.l"
; /* hack to fix \begin{minipage}{300pt} */
YY_BREAK
case 26:
YY_RULE_SETUP
-#line 267 "detex.l"
+#line 279 "detex.l"
{ KILLARGS(1); }
YY_BREAK
case 27:
YY_RULE_SETUP
-#line 268 "detex.l"
+#line 280 "detex.l"
{ KILLARGS(2); }
YY_BREAK
case 28:
YY_RULE_SETUP
-#line 269 "detex.l"
+#line 281 "detex.l"
{ KILLARGS(2); }
YY_BREAK
case 29:
YY_RULE_SETUP
-#line 270 "detex.l"
+#line 282 "detex.l"
{ KILLARGS(2); }
YY_BREAK
case 30:
YY_RULE_SETUP
-#line 271 "detex.l"
+#line 283 "detex.l"
{ KILLARGS(2); }
YY_BREAK
case 31:
YY_RULE_SETUP
-#line 272 "detex.l"
+#line 284 "detex.l"
{ KILLARGS(2); }
YY_BREAK
case 32:
YY_RULE_SETUP
-#line 273 "detex.l"
+#line 285 "detex.l"
{ KILLARGS(1); }
YY_BREAK
case 33:
YY_RULE_SETUP
-#line 274 "detex.l"
+#line 286 "detex.l"
{ KILLARGS(1); }
YY_BREAK
case 34:
YY_RULE_SETUP
-#line 275 "detex.l"
+#line 287 "detex.l"
{ KILLARGS(2); }
YY_BREAK
case 35:
YY_RULE_SETUP
-#line 276 "detex.l"
+#line 288 "detex.l"
{ KILLARGS(1); }
YY_BREAK
case 36:
YY_RULE_SETUP
-#line 277 "detex.l"
+#line 289 "detex.l"
{ STRIPARGS(2); }
YY_BREAK
case 37:
YY_RULE_SETUP
-#line 278 "detex.l"
+#line 290 "detex.l"
{ KILLARGS(1); }
YY_BREAK
case 38:
YY_RULE_SETUP
-#line 279 "detex.l"
+#line 291 "detex.l"
{ STRIPARGS(2); }
YY_BREAK
case 39:
YY_RULE_SETUP
-#line 280 "detex.l"
+#line 292 "detex.l"
{ KILLARGS(2); }
YY_BREAK
case 40:
YY_RULE_SETUP
-#line 281 "detex.l"
+#line 293 "detex.l"
;
YY_BREAK
case 41:
YY_RULE_SETUP
-#line 282 "detex.l"
+#line 294 "detex.l"
{ KILLARGS(1); }
YY_BREAK
case 42:
/* rule 42 can match eol */
YY_RULE_SETUP
-#line 283 "detex.l"
+#line 295 "detex.l"
{ LaBEGIN LaPicture; }
YY_BREAK
case 43:
YY_RULE_SETUP
-#line 285 "detex.l"
+#line 297 "detex.l"
;
YY_BREAK
case 44:
/* rule 44 can match eol */
YY_RULE_SETUP
-#line 286 "detex.l"
+#line 298 "detex.l"
{ if(fShowPictures) { printf("<Picture %s>", yytext); } }
YY_BREAK
case 45:
/* rule 45 can match eol */
YY_RULE_SETUP
-#line 287 "detex.l"
-BEGIN Normal;
+#line 299 "detex.l"
+{ BEGIN Normal; INCRLINENO; }
YY_BREAK
case 46:
YY_RULE_SETUP
-#line 288 "detex.l"
+#line 300 "detex.l"
BEGIN Normal;
YY_BREAK
case 47:
YY_RULE_SETUP
-#line 290 "detex.l"
+#line 302 "detex.l"
{ KILLARGS(3); }
YY_BREAK
case 48:
YY_RULE_SETUP
-#line 291 "detex.l"
+#line 303 "detex.l"
{ KILLARGS(1); }
YY_BREAK
case 49:
YY_RULE_SETUP
-#line 292 "detex.l"
+#line 304 "detex.l"
{ KILLARGS(2); }
YY_BREAK
case 50:
YY_RULE_SETUP
-#line 293 "detex.l"
+#line 305 "detex.l"
{ KILLARGS(2); }
YY_BREAK
case 51:
YY_RULE_SETUP
-#line 294 "detex.l"
+#line 306 "detex.l"
{ KILLARGS(3); }
YY_BREAK
case 52:
YY_RULE_SETUP
-#line 295 "detex.l"
+#line 307 "detex.l"
{ KILLARGS(1); }
YY_BREAK
case 53:
YY_RULE_SETUP
-#line 296 "detex.l"
+#line 308 "detex.l"
{ STRIPARGS(1); }
YY_BREAK
case 54:
YY_RULE_SETUP
-#line 297 "detex.l"
+#line 309 "detex.l"
{ KILLARGS(1); }
YY_BREAK
case 55:
YY_RULE_SETUP
-#line 298 "detex.l"
+#line 310 "detex.l"
{ KILLARGS(1); }
YY_BREAK
case 56:
YY_RULE_SETUP
-#line 299 "detex.l"
+#line 311 "detex.l"
{ KILLARGS(3); }
YY_BREAK
case 57:
YY_RULE_SETUP
-#line 301 "detex.l"
+#line 313 "detex.l"
;/*NEWLINE;*/
YY_BREAK
case 58:
YY_RULE_SETUP
-#line 302 "detex.l"
+#line 314 "detex.l"
;/*NEWLINE;*/
YY_BREAK
case 59:
YY_RULE_SETUP
-#line 303 "detex.l"
+#line 315 "detex.l"
;/*NEWLINE;*/
YY_BREAK
case 60:
YY_RULE_SETUP
-#line 304 "detex.l"
+#line 316 "detex.l"
;/*NEWLINE;*/
YY_BREAK
case 61:
YY_RULE_SETUP
-#line 305 "detex.l"
+#line 317 "detex.l"
;/*NEWLINE;*/
YY_BREAK
case 62:
YY_RULE_SETUP
-#line 306 "detex.l"
+#line 318 "detex.l"
;/*NEWLINE;*/
YY_BREAK
case 63:
YY_RULE_SETUP
-#line 307 "detex.l"
+#line 319 "detex.l"
;/*NEWLINE;*/
YY_BREAK
case 64:
YY_RULE_SETUP
-#line 309 "detex.l"
+#line 321 "detex.l"
/* ignore args */ {KILLARGS(1); IGNORE;}
YY_BREAK
case 65:
YY_RULE_SETUP
-#line 310 "detex.l"
+#line 322 "detex.l"
/* of these \cs */ {KILLARGS(1); IGNORE;}
YY_BREAK
case 66:
YY_RULE_SETUP
-#line 311 "detex.l"
+#line 323 "detex.l"
{KILLARGS(1); IGNORE;}
YY_BREAK
case 67:
YY_RULE_SETUP
-#line 312 "detex.l"
+#line 324 "detex.l"
{KILLARGS(1);} /* kill space before */
YY_BREAK
case 68:
YY_RULE_SETUP
-#line 313 "detex.l"
+#line 325 "detex.l"
{LATEX; KILLARGS(1); IGNORE;}
YY_BREAK
case 69:
YY_RULE_SETUP
-#line 314 "detex.l"
+#line 326 "detex.l"
{LATEX; KILLARGS(1); IGNORE;}
YY_BREAK
case 70:
YY_RULE_SETUP
-#line 315 "detex.l"
+#line 327 "detex.l"
{KILLARGS(1); IGNORE;}
YY_BREAK
case 71:
YY_RULE_SETUP
-#line 316 "detex.l"
+#line 328 "detex.l"
{KILLARGS(1); IGNORE;}
YY_BREAK
case 72:
YY_RULE_SETUP
-#line 317 "detex.l"
+#line 329 "detex.l"
{KILLARGS(1);}
YY_BREAK
case 73:
YY_RULE_SETUP
-#line 318 "detex.l"
+#line 330 "detex.l"
{KILLARGS(1);}
YY_BREAK
/*<Normal>"\\footnote" {KILLARGS(1); SPACE;}*/
case 74:
YY_RULE_SETUP
-#line 320 "detex.l"
+#line 332 "detex.l"
{KILLARGS(1); IGNORE;}
YY_BREAK
case 75:
YY_RULE_SETUP
-#line 321 "detex.l"
+#line 333 "detex.l"
{CITE(1); IGNORE;}
YY_BREAK
case 76:
YY_RULE_SETUP
-#line 322 "detex.l"
+#line 334 "detex.l"
{CITE(1); IGNORE;}
YY_BREAK
case 77:
YY_RULE_SETUP
-#line 323 "detex.l"
+#line 335 "detex.l"
{KILLARGS(1); IGNORE;}
YY_BREAK
case 78:
YY_RULE_SETUP
-#line 324 "detex.l"
+#line 336 "detex.l"
{CITE(1); IGNORE;}
YY_BREAK
case 79:
YY_RULE_SETUP
-#line 325 "detex.l"
+#line 337 "detex.l"
{KILLARGS(2); IGNORE;}
YY_BREAK
case 80:
YY_RULE_SETUP
-#line 326 "detex.l"
+#line 338 "detex.l"
{KILLARGS(2); IGNORE;}
YY_BREAK
case 81:
YY_RULE_SETUP
-#line 327 "detex.l"
+#line 339 "detex.l"
{ KILLARGS(1); }
YY_BREAK
case 82:
YY_RULE_SETUP
-#line 328 "detex.l"
+#line 340 "detex.l"
{ KILLARGS(2); }
YY_BREAK
case 83:
YY_RULE_SETUP
-#line 330 "detex.l"
+#line 342 "detex.l"
{KILLARGS(1);}
YY_BREAK
case 84:
/* rule 84 can match eol */
YY_RULE_SETUP
-#line 332 "detex.l"
+#line 344 "detex.l"
{
putchar('(');
footnoteLevel = currBracesLevel;
@@ -2586,7 +2605,7 @@ YY_RULE_SETUP
YY_BREAK
case 85:
YY_RULE_SETUP
-#line 337 "detex.l"
+#line 349 "detex.l"
/* ignore \verb<ch>...<ch> */ { if (fLatex) {
char verbchar, c;
verbchar = input();
@@ -2600,157 +2619,157 @@ YY_RULE_SETUP
YY_BREAK
case 86:
YY_RULE_SETUP
-#line 348 "detex.l"
+#line 360 "detex.l"
{ LATEX; KILLARGS(2); }
YY_BREAK
case 87:
YY_RULE_SETUP
-#line 349 "detex.l"
+#line 361 "detex.l"
{ LATEX; KILLARGS(2); }
YY_BREAK
case 88:
YY_RULE_SETUP
-#line 350 "detex.l"
+#line 362 "detex.l"
{ LATEX; KILLARGS(3); }
YY_BREAK
case 89:
YY_RULE_SETUP
-#line 352 "detex.l"
+#line 364 "detex.l"
/* ignore def begin */ {BEGIN Define; IGNORE;}
YY_BREAK
case 90:
YY_RULE_SETUP
-#line 353 "detex.l"
+#line 365 "detex.l"
BEGIN Normal;
YY_BREAK
case 91:
/* rule 91 can match eol */
YY_RULE_SETUP
-#line 354 "detex.l"
+#line 366 "detex.l"
NEWLINE;
YY_BREAK
case 92:
YY_RULE_SETUP
-#line 355 "detex.l"
+#line 367 "detex.l"
;
YY_BREAK
case 93:
YY_RULE_SETUP
-#line 357 "detex.l"
+#line 369 "detex.l"
/* formula mode */ {LaBEGIN LaFormula; NOUN;}
YY_BREAK
case 94:
YY_RULE_SETUP
-#line 358 "detex.l"
+#line 370 "detex.l"
BEGIN Normal;
YY_BREAK
case 95:
/* rule 95 can match eol */
YY_RULE_SETUP
-#line 359 "detex.l"
+#line 371 "detex.l"
NEWLINE;
YY_BREAK
case 96:
YY_RULE_SETUP
-#line 360 "detex.l"
+#line 372 "detex.l"
VERBNOUN;
YY_BREAK
case 97:
YY_RULE_SETUP
-#line 361 "detex.l"
+#line 373 "detex.l"
;
YY_BREAK
case 98:
YY_RULE_SETUP
-#line 363 "detex.l"
+#line 375 "detex.l"
/* display mode */ {LaBEGIN LaDisplay; NOUN;}
YY_BREAK
case 99:
YY_RULE_SETUP
-#line 364 "detex.l"
+#line 376 "detex.l"
BEGIN Normal;
YY_BREAK
case 100:
/* rule 100 can match eol */
YY_RULE_SETUP
-#line 365 "detex.l"
+#line 377 "detex.l"
NEWLINE;
YY_BREAK
case 101:
YY_RULE_SETUP
-#line 366 "detex.l"
+#line 378 "detex.l"
VERBNOUN;
YY_BREAK
case 102:
YY_RULE_SETUP
-#line 367 "detex.l"
+#line 379 "detex.l"
;
YY_BREAK
case 103:
YY_RULE_SETUP
-#line 369 "detex.l"
+#line 381 "detex.l"
/* display mode */ {BEGIN Display; NOUN;}
YY_BREAK
case 104:
YY_RULE_SETUP
-#line 370 "detex.l"
+#line 382 "detex.l"
BEGIN Normal;
YY_BREAK
case 105:
/* rule 105 can match eol */
YY_RULE_SETUP
-#line 371 "detex.l"
+#line 383 "detex.l"
NEWLINE;
YY_BREAK
case 106:
YY_RULE_SETUP
-#line 372 "detex.l"
+#line 384 "detex.l"
VERBNOUN;
YY_BREAK
case 107:
YY_RULE_SETUP
-#line 373 "detex.l"
+#line 385 "detex.l"
;
YY_BREAK
case 108:
YY_RULE_SETUP
-#line 375 "detex.l"
+#line 387 "detex.l"
/* math mode */ {BEGIN Math; NOUN;}
YY_BREAK
case 109:
YY_RULE_SETUP
-#line 376 "detex.l"
+#line 388 "detex.l"
BEGIN Normal;
YY_BREAK
case 110:
/* rule 110 can match eol */
YY_RULE_SETUP
-#line 377 "detex.l"
+#line 389 "detex.l"
;
YY_BREAK
case 111:
YY_RULE_SETUP
-#line 378 "detex.l"
+#line 390 "detex.l"
;
YY_BREAK
case 112:
YY_RULE_SETUP
-#line 379 "detex.l"
+#line 391 "detex.l"
VERBNOUN;
YY_BREAK
case 113:
YY_RULE_SETUP
-#line 380 "detex.l"
+#line 392 "detex.l"
;
YY_BREAK
case 114:
YY_RULE_SETUP
-#line 382 "detex.l"
+#line 394 "detex.l"
/* process files */ {LaBEGIN LaInclude; IGNORE;}
YY_BREAK
case 115:
YY_RULE_SETUP
-#line 383 "detex.l"
+#line 395 "detex.l"
{ IncludeFile(yytext);
BEGIN Normal;
}
@@ -2758,27 +2777,27 @@ YY_RULE_SETUP
case 116:
/* rule 116 can match eol */
YY_RULE_SETUP
-#line 386 "detex.l"
+#line 398 "detex.l"
NEWLINE;
YY_BREAK
case 117:
YY_RULE_SETUP
-#line 387 "detex.l"
+#line 399 "detex.l"
;
YY_BREAK
case 118:
YY_RULE_SETUP
-#line 389 "detex.l"
+#line 401 "detex.l"
{BEGIN IncludeOnly; IGNORE;}
YY_BREAK
case 119:
YY_RULE_SETUP
-#line 390 "detex.l"
+#line 402 "detex.l"
AddInclude(yytext);
YY_BREAK
case 120:
YY_RULE_SETUP
-#line 391 "detex.l"
+#line 403 "detex.l"
{ if (csbIncList == 0)
rgsbIncList[csbIncList++] = '\0';
BEGIN Normal;
@@ -2787,22 +2806,22 @@ YY_RULE_SETUP
case 121:
/* rule 121 can match eol */
YY_RULE_SETUP
-#line 395 "detex.l"
+#line 407 "detex.l"
NEWLINE;
YY_BREAK
case 122:
YY_RULE_SETUP
-#line 396 "detex.l"
+#line 408 "detex.l"
;
YY_BREAK
case 123:
YY_RULE_SETUP
-#line 398 "detex.l"
+#line 410 "detex.l"
/* process files */ {LaBEGIN LaSubfile; IGNORE;}
YY_BREAK
case 124:
YY_RULE_SETUP
-#line 399 "detex.l"
+#line 411 "detex.l"
{ IncludeFile(yytext);
BEGIN Normal;
}
@@ -2810,22 +2829,22 @@ YY_RULE_SETUP
case 125:
/* rule 125 can match eol */
YY_RULE_SETUP
-#line 402 "detex.l"
+#line 414 "detex.l"
NEWLINE;
YY_BREAK
case 126:
YY_RULE_SETUP
-#line 403 "detex.l"
+#line 415 "detex.l"
;
YY_BREAK
case 127:
YY_RULE_SETUP
-#line 405 "detex.l"
+#line 417 "detex.l"
{BEGIN Input; IGNORE;}
YY_BREAK
case 128:
YY_RULE_SETUP
-#line 406 "detex.l"
+#line 418 "detex.l"
{ InputFile(yytext);
BEGIN Normal;
}
@@ -2833,61 +2852,61 @@ YY_RULE_SETUP
case 129:
/* rule 129 can match eol */
YY_RULE_SETUP
-#line 409 "detex.l"
+#line 421 "detex.l"
NEWLINE;
YY_BREAK
case 130:
YY_RULE_SETUP
-#line 410 "detex.l"
+#line 422 "detex.l"
;
YY_BREAK
/* escaping commands */
case 131:
YY_RULE_SETUP
-#line 413 "detex.l"
+#line 425 "detex.l"
putchar('/');
YY_BREAK
case 132:
/* rule 132 can match eol */
YY_RULE_SETUP
-#line 415 "detex.l"
+#line 427 "detex.l"
/* handle ligatures */ {(void)printf("%.2s", yytext+1);}
YY_BREAK
case 133:
/* rule 133 can match eol */
YY_RULE_SETUP
-#line 416 "detex.l"
+#line 428 "detex.l"
{(void)printf("%.1s", yytext+1);}
YY_BREAK
case 134:
YY_RULE_SETUP
-#line 417 "detex.l"
+#line 429 "detex.l"
{NEWLINE;} /*BEGIN LaBreak;*/
YY_BREAK
case 135:
YY_RULE_SETUP
-#line 419 "detex.l"
+#line 431 "detex.l"
/* ignore other \cs */ {BEGIN Control; IGNORE;}
YY_BREAK
case 136:
YY_RULE_SETUP
-#line 420 "detex.l"
+#line 432 "detex.l"
SPACE;
YY_BREAK
case 137:
/* rule 137 can match eol */
YY_RULE_SETUP
-#line 421 "detex.l"
+#line 433 "detex.l"
NEWLINE;
YY_BREAK
case 138:
YY_RULE_SETUP
-#line 422 "detex.l"
+#line 434 "detex.l"
IGNORE;
YY_BREAK
case 139:
YY_RULE_SETUP
-#line 423 "detex.l"
+#line 435 "detex.l"
{ if (yytext==NULL || strlen(yytext)==0
|| atoi(yytext)>=0)
NEWLINE;
@@ -2896,85 +2915,85 @@ YY_RULE_SETUP
YY_BREAK
case 140:
YY_RULE_SETUP
-#line 429 "detex.l"
+#line 441 "detex.l"
IGNORE;
YY_BREAK
case 141:
YY_RULE_SETUP
-#line 430 "detex.l"
+#line 442 "detex.l"
IGNORE;
YY_BREAK
case 142:
/* rule 142 can match eol */
YY_RULE_SETUP
-#line 431 "detex.l"
+#line 443 "detex.l"
{BEGIN Normal; /*NEWLINE;*/}
YY_BREAK
case 143:
YY_RULE_SETUP
-#line 432 "detex.l"
+#line 444 "detex.l"
{++currBracesLevel;BEGIN Normal; IGNORE;}
YY_BREAK
case 144:
YY_RULE_SETUP
-#line 433 "detex.l"
+#line 445 "detex.l"
{BEGIN Normal; IGNORE;}
YY_BREAK
case 145:
YY_RULE_SETUP
-#line 434 "detex.l"
+#line 446 "detex.l"
{yyless(0);BEGIN Normal;}
YY_BREAK
case 146:
YY_RULE_SETUP
-#line 436 "detex.l"
+#line 448 "detex.l"
/* special characters */ IGNORE;
YY_BREAK
case 147:
YY_RULE_SETUP
-#line 437 "detex.l"
+#line 449 "detex.l"
IGNORE;
YY_BREAK
case 148:
YY_RULE_SETUP
-#line 438 "detex.l"
+#line 450 "detex.l"
SPACE;
YY_BREAK
case 149:
YY_RULE_SETUP
-#line 439 "detex.l"
+#line 451 "detex.l"
putchar('-');
YY_BREAK
case 150:
YY_RULE_SETUP
-#line 440 "detex.l"
+#line 452 "detex.l"
putchar('"');
YY_BREAK
case 151:
YY_RULE_SETUP
-#line 441 "detex.l"
+#line 453 "detex.l"
putchar('\'');
YY_BREAK
case 152:
YY_RULE_SETUP
-#line 442 "detex.l"
+#line 454 "detex.l"
putchar('"');
YY_BREAK
case 153:
YY_RULE_SETUP
-#line 443 "detex.l"
+#line 455 "detex.l"
putchar('"');
YY_BREAK
/* braces */
case 154:
YY_RULE_SETUP
-#line 446 "detex.l"
+#line 458 "detex.l"
{ ++currBracesLevel;
}
YY_BREAK
case 155:
YY_RULE_SETUP
-#line 448 "detex.l"
+#line 460 "detex.l"
{
--currBracesLevel;
if (currBracesLevel == footnoteLevel) {
@@ -2985,7 +3004,7 @@ YY_RULE_SETUP
YY_BREAK
case 156:
YY_RULE_SETUP
-#line 455 "detex.l"
+#line 467 "detex.l"
{ if (fWord)
(void)printf("%s\n", yytext);
else
@@ -2994,40 +3013,40 @@ YY_RULE_SETUP
YY_BREAK
case 157:
YY_RULE_SETUP
-#line 460 "detex.l"
+#line 472 "detex.l"
if (!fWord) ECHO;
YY_BREAK
case 158:
YY_RULE_SETUP
-#line 461 "detex.l"
-if (!fWord) ECHO;
+#line 473 "detex.l"
+{ INCRLINENO; if (!fWord) ECHO; }
YY_BREAK
case 159:
/* rule 159 can match eol */
YY_RULE_SETUP
-#line 462 "detex.l"
-if (!fWord) NEWLINE;
+#line 474 "detex.l"
+{ if (!fWord) NEWLINE; }
YY_BREAK
case 160:
YY_RULE_SETUP
-#line 463 "detex.l"
+#line 475 "detex.l"
if (!fWord) putchar('\t');
YY_BREAK
case 161:
YY_RULE_SETUP
-#line 465 "detex.l"
+#line 477 "detex.l"
{ BEGIN LaOptArg; }
YY_BREAK
case 162:
YY_RULE_SETUP
-#line 466 "detex.l"
+#line 478 "detex.l"
{ cOpenBrace++; }
YY_BREAK
case 163:
/* rule 163 can match eol */
YY_RULE_SETUP
-#line 467 "detex.l"
-{ cOpenBrace--;
+#line 479 "detex.l"
+{ cOpenBrace--; INCRLINENO;
if (cOpenBrace == 0)
{
if (--cArgs==0)
@@ -3037,28 +3056,28 @@ YY_RULE_SETUP
YY_BREAK
case 164:
YY_RULE_SETUP
-#line 474 "detex.l"
+#line 486 "detex.l"
;
YY_BREAK
case 165:
YY_RULE_SETUP
-#line 475 "detex.l"
+#line 487 "detex.l"
BEGIN LaMacro;
YY_BREAK
case 166:
/* rule 166 can match eol */
YY_RULE_SETUP
-#line 476 "detex.l"
+#line 488 "detex.l"
;
YY_BREAK
case 167:
YY_RULE_SETUP
-#line 478 "detex.l"
+#line 490 "detex.l"
{ BEGIN LaOptArg2; }
YY_BREAK
case 168:
YY_RULE_SETUP
-#line 479 "detex.l"
+#line 491 "detex.l"
{ if (cOpenBrace == 0)
{
if (--cArgs==0)
@@ -3072,30 +3091,30 @@ YY_RULE_SETUP
YY_BREAK
case 169:
YY_RULE_SETUP
-#line 489 "detex.l"
+#line 501 "detex.l"
{ cOpenBrace--; }
YY_BREAK
case 170:
YY_RULE_SETUP
-#line 490 "detex.l"
+#line 502 "detex.l"
;
YY_BREAK
case 171:
YY_RULE_SETUP
-#line 491 "detex.l"
+#line 503 "detex.l"
BEGIN LaMacro2;
YY_BREAK
case 172:
YY_RULE_SETUP
-#line 492 "detex.l"
+#line 504 "detex.l"
;
YY_BREAK
case 173:
YY_RULE_SETUP
-#line 493 "detex.l"
+#line 505 "detex.l"
ECHO;
YY_BREAK
-#line 3099 "lex.yy.c"
+#line 3118 "lex.yy.c"
case YY_STATE_EOF(INITIAL):
case YY_STATE_EOF(Define):
case YY_STATE_EOF(Display):
@@ -4085,7 +4104,7 @@ void yyfree (void * ptr )
#define YYTABLES_NAME "yytables"
-#line 493 "detex.l"
+#line 505 "detex.l"
/******
@@ -4100,6 +4119,7 @@ void yyfree (void * ptr )
** -s replace control sequences with space
** -t force tex mode
** -w word only output
+** -1 output some location information
** Set the list of LaTeX environments to ignore.
** Process each input file.
** If no input files are specified on the command line, process stdin.
@@ -4173,6 +4193,9 @@ main(int cArgs, char *rgsbArgs[])
case CHVERSIONOPT:
VersionExit();
break;
+ case CHSRCLOC:
+ fSrcLoc = 1;
+ break;
default:
sbBadOpt[0] = *pch;
sbBadOpt[1] = '\0';
@@ -4194,6 +4217,8 @@ main(int cArgs, char *rgsbArgs[])
Warning("can't open file", rgsbArgs[iArgs]);
continue;;
}
+ fFileNames[csb] = rgsbArgs[iArgs];
+ fFileLines[csb] = 1;
BEGIN Normal;
(void)yylex();
}
@@ -4232,6 +4257,7 @@ yywrap(void)
#ifdef FLEX_SCANNER
/* Pop context state */
if (csb > 0) {
+ free(fFileNames[csb]);
yy_delete_buffer( YY_CURRENT_BUFFER );
yy_switch_to_buffer( rgsb[--csb] );
}
@@ -4261,6 +4287,74 @@ yyless(int n)
#endif
/******
+** PrintPrefix -- In case fSrcLoc is 1 and we are about to
+** print the first column of a line, we want to output the location of
+** that line in the original LaTeX document it came from.
+******/
+
+void
+PrintPrefix()
+{
+ if (fSrcLoc && fIsColumn0) {
+ printf("%s:%d: ", fFileNames[csb], fFileLines[csb]);
+ fIsColumn0 = 0;
+ }
+}
+
+/******
+** LineBreak -- choses the proper way to break a line. If '-1' option is
+** enabled we also want to output some source location information.
+******/
+
+void
+LineBreak()
+{
+ if (fWord) return;
+ PrintPrefix();
+ putchar('\n');
+ fFileLines[csb]++; fIsColumn0=1;
+}
+
+/******
+** Echo -- If we are at column 0 and have specified '-1'; output
+** the source location information.
+******/
+
+void
+Echo()
+{
+ PrintPrefix();
+ fprintf(yyout, "%s", yytext);
+}
+
+/******
+** IncrLineNo -- Increase the correct linenumber counter and
+** reset the the 'fIsColumn0' to true.
+******/
+
+void
+IncrLineNo()
+{
+ for (char* c=yytext; *c != '\0'; c++) {
+ if (*c == '\n') {
+ fFileLines[csb]++; fIsColumn0=1;
+ }
+ }
+}
+
+/******
+** Ignore -- Since we might need to track source location information we
+** cannot just ignore text. We must at least increase the linenumber counter.
+******/
+
+void
+Ignore()
+{
+ IncrLineNo();
+ if (fSpace && !fWord) putchar(' ');
+}
+
+/******
** SetEnvIgnore -- sets rgsbEnvIgnore to the values indicated by the
** sbEnvList.
******/
@@ -4315,6 +4409,7 @@ EndEnv(const char *sbEnv)
** the sbFile is ignored.
******/
+
void
InputFile(char *sbFile)
{
@@ -4329,8 +4424,10 @@ InputFile(char *sbFile)
return;
}
#ifdef FLEX_SCANNER
- rgsb[csb++] = YY_CURRENT_BUFFER;
- yy_switch_to_buffer(yy_create_buffer( yyin, YY_BUF_SIZE ) );
+ rgsb[csb++] = YY_CURRENT_BUFFER;
+ fFileLines[csb] = 1;
+ fFileNames[csb] = strdup(sbFile);
+ yy_switch_to_buffer(yy_create_buffer( yyin, YY_BUF_SIZE ) );
#endif /* FLEX_SCANNER */
}
@@ -4355,8 +4452,10 @@ IncludeFile(char *sbFile)
return;
}
#ifdef FLEX_SCANNER
- rgsb[csb++] = YY_CURRENT_BUFFER;
- yy_switch_to_buffer(yy_create_buffer( yyin, YY_BUF_SIZE ) );
+ rgsb[csb++] = YY_CURRENT_BUFFER;
+ fFileLines[csb] = 1;
+ fFileNames[csb] = strdup(sbFile);
+ yy_switch_to_buffer(yy_create_buffer( yyin, YY_BUF_SIZE ) );
#endif /* FLEX_SCANNER */
}
@@ -4494,24 +4593,25 @@ TexOpen(char *sbFile)
#else
if (*sbFile == '/') { /* absolute path */
#endif
- (void)sprintf(sbFullPath, "%s", sbFile);
- iPath = csbInputPaths; /* only check once */
- } else
- (void)sprintf(sbFullPath, "%s/%s", rgsbInputPaths[iPath], sbFile);
+ (void)snprintf(sbFullPath, PATH_MAX-1, "%s", sbFile);
+ iPath = csbInputPaths; /* only check once */
+ } else {
+ (void)snprintf(sbFullPath, PATH_MAX-1, "%s/%s", rgsbInputPaths[iPath], sbFile);
+ }
#ifdef OS2
pch = sbFullPath;
- while (pch = strchr(pch, '\\'))
- *pch = '/';
+ while (pch = strchr(pch, '\\')) {
+ *pch = '/';
+ }
#endif
/* If sbFile ends in .tex then it must be there */
if ((pch = strrchr(sbFullPath, '.')) != NULL
- && (strcmp(pch, ".tex") == 0))
- {
- if ((fp = fopen(sbFullPath, "r")) != NULL)
- return(fp);
- else
- continue;
+ && (strcmp(pch, ".tex") == 0)) {
+ if ((fp = fopen(sbFullPath, "r")) != NULL)
+ return(fp);
+ else
+ continue;
}
/* if .<ext> then try to open it. the '.' represents */
@@ -4592,7 +4692,7 @@ ErrorExit(const char *sb1)
void
UsageExit(void)
{
- (void)printf("\n%s [ -clnrstw ] [ -e environment-list ] [ filename[.tex] ... ]\n",
+ (void)printf("\n%s [ -clnrstw1 ] [ -e environment-list ] [ filename[.tex] ... ]\n",
sbProgName);
puts(" -c echo LaTeX \\cite, \\ref, and \\pageref values\n \
-e <env-list> list of LaTeX environments to ignore\n \
@@ -4602,6 +4702,7 @@ UsageExit(void)
-s replace control sequences with space\n \
-t force tex mode\n \
-w word only output\n \
+-1 outputs the original file name and line number in the beginning of each line\n \
-v show program version and exit");
exit(0);
}
diff --git a/Build/source/texk/detex/detex-src/detex.h b/Build/source/texk/detex/detex-src/detex.h
index 7d206a372b0..2fca90b1f9d 100644
--- a/Build/source/texk/detex/detex-src/detex.h
+++ b/Build/source/texk/detex/detex-src/detex.h
@@ -80,7 +80,8 @@
#define CHSPACEOPT 's'
#define CHTEXOPT 't'
#define CHWORDOPT 'w'
-#define CHREPLACE 'r'
-#define CHVERSIONOPT 'v'
+#define CHSRCLOC '1'
+#define CHREPLACE 'r'
+#define CHVERSIONOPT 'v'
#define my_ERROR -1
diff --git a/Build/source/texk/detex/detex-src/detex.l b/Build/source/texk/detex/detex-src/detex.l
index 4b638f930cc..8273afe7a5b 100644
--- a/Build/source/texk/detex/detex-src/detex.l
+++ b/Build/source/texk/detex/detex-src/detex.l
@@ -41,7 +41,7 @@
/*
- * detex [-e environment-list] [-c] [-l] [-n] [-s] [-t] [-w] [file[.tex] ]
+ * detex [-e environment-list] [-c] [-l] [-n] [-s] [-t] [-w] [-1] [file[.tex] ]
*
* This program is used to remove TeX or LaTeX constructs from a text
* file.
@@ -95,13 +95,16 @@
%{
#undef IGNORE
+#undef ECHO
#define LaBEGIN if (fLatex) BEGIN
-#define IGNORE if (fSpace && !fWord) putchar(' ')
+#define IGNORE Ignore()
+#define INCRLINENO IncrLineNo()
+#define ECHO Echo()
#define NOUN if (fSpace && !fWord && !fReplace) putchar(' '); else {if (fReplace) printf("noun");}
#define VERBNOUN if (fReplace) printf(" verbs noun"); /* puts a verb and a noun to make grammar checking work */
#define SPACE if (!fWord) putchar(' ')
-#define NEWLINE if (!fWord) putchar('\n')
+#define NEWLINE LineBreak()
#define LATEX fLatex=!fForcetex
#define KILLARGS(x) cArgs=x; LaBEGIN LaMacro
#define STRIPARGS(x) cArgs=x; LaBEGIN LaMacro2
@@ -109,6 +112,10 @@
#define NO_MALLOC_DECL
+void LineBreak();
+void Ignore();
+void IncrLineNo();
+void Echo();
void AddInclude(char *sbFile);
void ErrorExit(const char *sb1);
void UsageExit(void);
@@ -158,8 +165,9 @@ int fFollow = 1; /* flag to follow input/include */
int fCite = 0; /* flag to echo \cite and \ref args */
int fSpace = 0; /* flag to replace \cs with space */
int fForcetex = 0; /* flag to inhibit latex mode */
-int fShowPictures = 0; /* flag to show picture names */
-int fReplace = 0; /* flag to replace envirnments with "noun" */
+int fSrcLoc = 0; /* flag to display source location of original file */
+int fShowPictures = 0; /* flag to show picture names */
+int fReplace = 0; /* flag to replace envirnments with "noun" */
int currBracesLevel = 0;
int footnoteLevel = -100;
@@ -169,8 +177,11 @@ int footnoteLevel = -100;
* otherwise output contains imported files in reverse order. Weird, but
* true.
*/
-YY_BUFFER_STATE rgsb[NOFILE + 1]; /* flex context stack */
-int csb = 0; /* depth of flex context stack */
+YY_BUFFER_STATE rgsb[NOFILE + 1]; /* flex context stack */
+char* fFileNames[NOFILE + 1]; /* names of the buffers in context stack */
+int fFileLines[NOFILE + 1]; /* line number in each of the context files */
+int fIsColumn0 = 1; /* Are we at the begining of a line? */
+int csb = 0; /* depth of flex context stack */
#endif /* FLEX_SCANNER */
%}
@@ -179,6 +190,7 @@ S [ \t\n]*
W [a-zA-Z]+
N [+-]?(([0-9]+(\.[0-9]+)?)|(\.[0-9]+))
U pt|pc|in|bp|cm|mm|dd|cc|sp
+P [a-zA-Z!]+
HU {U}|em
HD {S}(({N}{S}{HU})|(\\{W})){S}
HG {HD}(plus{HD})?(minus{HD})?
@@ -194,7 +206,7 @@ VERBSYMBOL =|\\leq|\\geq|\\in|>|<|\\subseteq|\subseteq|\\subset|\\supset|\\sim|\
%start LaBreak LaPicture
%%
-<Normal>"%".* /* ignore comments */ ;
+<Normal>"%".* /* ignore comments */ {INCRLINENO;}
<Normal>"\\begin"{S}"{"{S}"document"{S}"}""\n"* {LATEX; IGNORE;}
@@ -219,7 +231,7 @@ VERBSYMBOL =|\\leq|\\geq|\\in|>|<|\\subseteq|\subseteq|\\subset|\\supset|\\sim|\
IGNORE;
}
-<LaBegin>{S}"{"{S}"table"{S}"}"{S}"["{W}"]" {
+<LaBegin>{S}"{"{S}"table"{S}"}"{S}"["{P}"]" {
if (BeginEnv("table"))
BEGIN LaEnv;
else
@@ -227,7 +239,7 @@ VERBSYMBOL =|\\leq|\\geq|\\in|>|<|\\subseteq|\subseteq|\\subset|\\supset|\\sim|\
IGNORE;
}
-<LaBegin>{S}"{"{S}"figure"{S}"}"{S}"["{W}"]" {
+<LaBegin>{S}"{"{S}"figure"{S}"}"{S}"["{P}"]" {
if (BeginEnv("figure"))
BEGIN LaEnv;
else
@@ -242,11 +254,11 @@ VERBSYMBOL =|\\leq|\\geq|\\in|>|<|\\subseteq|\subseteq|\\subset|\\supset|\\sim|\
IGNORE;
}
/*<LaBegin>"\n" NEWLINE;*/
-<LaBegin>. ;
+<LaBegin>. {INCRLINENO;}
<LaEnv>"\\end" /* absorb some environments */ {LaBEGIN LaEnd; IGNORE;}
<LaEnv>"\n"+ ;/*NEWLINE;*/
-<LaEnv>. ;
+<LaEnv>. {INCRLINENO;}
<LaEnd>{W} /* end environment */ { if (EndEnv(yytext))
BEGIN Normal;
@@ -254,7 +266,7 @@ VERBSYMBOL =|\\leq|\\geq|\\in|>|<|\\subseteq|\subseteq|\\subset|\\supset|\\sim|\
}
<LaEnd>"}" {BEGIN LaEnv; IGNORE;}
/*<LaEnd>"\n" NEWLINE;*/
-<LaEnd>. ;
+<LaEnd>. {INCRLINENO;}
<Normal>"\\kern"{HD} ;
<Normal>"\\vskip"{VG} ;
@@ -284,7 +296,7 @@ VERBSYMBOL =|\\leq|\\geq|\\in|>|<|\\subseteq|\subseteq|\\subset|\\supset|\\sim|\
<LaPicture>"{" ;
<LaPicture>[^{}]+ { if(fShowPictures) { printf("<Picture %s>", yytext); } }
-<LaPicture>"\}"{S}"\n"+ BEGIN Normal;
+<LaPicture>"\}"{S}"\n"+ { BEGIN Normal; INCRLINENO; }
<LaPicture>"\}" BEGIN Normal;
<Normal>"\\definecolor" { KILLARGS(3); }
@@ -458,13 +470,13 @@ VERBSYMBOL =|\\leq|\\geq|\\in|>|<|\\subseteq|\subseteq|\\subset|\\supset|\\sim|\
ECHO;
}
<Normal>[0-9]+ if (!fWord) ECHO;
-<Normal>. if (!fWord) ECHO;
-<Normal>"\n" if (!fWord) NEWLINE;
+<Normal>. { INCRLINENO; if (!fWord) ECHO; }
+<Normal>"\n" { if (!fWord) NEWLINE; }
<Normal>("\t")+ if (!fWord) putchar('\t');
<LaMacro>"\[" { BEGIN LaOptArg; }
<LaMacro>"{" { cOpenBrace++; }
-<LaMacro>"}""\n"{0,1} { cOpenBrace--;
+<LaMacro>"}""\n"{0,1} { cOpenBrace--; INCRLINENO;
if (cOpenBrace == 0)
{
if (--cArgs==0)
@@ -504,6 +516,7 @@ VERBSYMBOL =|\\leq|\\geq|\\in|>|<|\\subseteq|\subseteq|\\subset|\\supset|\\sim|\
** -s replace control sequences with space
** -t force tex mode
** -w word only output
+** -1 output some location information
** Set the list of LaTeX environments to ignore.
** Process each input file.
** If no input files are specified on the command line, process stdin.
@@ -577,6 +590,9 @@ main(int cArgs, char *rgsbArgs[])
case CHVERSIONOPT:
VersionExit();
break;
+ case CHSRCLOC:
+ fSrcLoc = 1;
+ break;
default:
sbBadOpt[0] = *pch;
sbBadOpt[1] = '\0';
@@ -598,6 +614,8 @@ main(int cArgs, char *rgsbArgs[])
Warning("can't open file", rgsbArgs[iArgs]);
continue;;
}
+ fFileNames[csb] = rgsbArgs[iArgs];
+ fFileLines[csb] = 1;
BEGIN Normal;
(void)yylex();
}
@@ -636,6 +654,7 @@ yywrap(void)
#ifdef FLEX_SCANNER
/* Pop context state */
if (csb > 0) {
+ free(fFileNames[csb]);
yy_delete_buffer( YY_CURRENT_BUFFER );
yy_switch_to_buffer( rgsb[--csb] );
}
@@ -665,6 +684,74 @@ yyless(int n)
#endif
/******
+** PrintPrefix -- In case fSrcLoc is 1 and we are about to
+** print the first column of a line, we want to output the location of
+** that line in the original LaTeX document it came from.
+******/
+
+void
+PrintPrefix()
+{
+ if (fSrcLoc && fIsColumn0) {
+ printf("%s:%d: ", fFileNames[csb], fFileLines[csb]);
+ fIsColumn0 = 0;
+ }
+}
+
+/******
+** LineBreak -- choses the proper way to break a line. If '-1' option is
+** enabled we also want to output some source location information.
+******/
+
+void
+LineBreak()
+{
+ if (fWord) return;
+ PrintPrefix();
+ putchar('\n');
+ fFileLines[csb]++; fIsColumn0=1;
+}
+
+/******
+** Echo -- If we are at column 0 and have specified '-1'; output
+** the source location information.
+******/
+
+void
+Echo()
+{
+ PrintPrefix();
+ fprintf(yyout, "%s", yytext);
+}
+
+/******
+** IncrLineNo -- Increase the correct linenumber counter and
+** reset the the 'fIsColumn0' to true.
+******/
+
+void
+IncrLineNo()
+{
+ for (char* c=yytext; *c != '\0'; c++) {
+ if (*c == '\n') {
+ fFileLines[csb]++; fIsColumn0=1;
+ }
+ }
+}
+
+/******
+** Ignore -- Since we might need to track source location information we
+** cannot just ignore text. We must at least increase the linenumber counter.
+******/
+
+void
+Ignore()
+{
+ IncrLineNo();
+ if (fSpace && !fWord) putchar(' ');
+}
+
+/******
** SetEnvIgnore -- sets rgsbEnvIgnore to the values indicated by the
** sbEnvList.
******/
@@ -719,6 +806,7 @@ EndEnv(const char *sbEnv)
** the sbFile is ignored.
******/
+
void
InputFile(char *sbFile)
{
@@ -733,8 +821,10 @@ InputFile(char *sbFile)
return;
}
#ifdef FLEX_SCANNER
- rgsb[csb++] = YY_CURRENT_BUFFER;
- yy_switch_to_buffer(yy_create_buffer( yyin, YY_BUF_SIZE ) );
+ rgsb[csb++] = YY_CURRENT_BUFFER;
+ fFileLines[csb] = 1;
+ fFileNames[csb] = strdup(sbFile);
+ yy_switch_to_buffer(yy_create_buffer( yyin, YY_BUF_SIZE ) );
#endif /* FLEX_SCANNER */
}
@@ -759,8 +849,10 @@ IncludeFile(char *sbFile)
return;
}
#ifdef FLEX_SCANNER
- rgsb[csb++] = YY_CURRENT_BUFFER;
- yy_switch_to_buffer(yy_create_buffer( yyin, YY_BUF_SIZE ) );
+ rgsb[csb++] = YY_CURRENT_BUFFER;
+ fFileLines[csb] = 1;
+ fFileNames[csb] = strdup(sbFile);
+ yy_switch_to_buffer(yy_create_buffer( yyin, YY_BUF_SIZE ) );
#endif /* FLEX_SCANNER */
}
@@ -898,24 +990,25 @@ TexOpen(char *sbFile)
#else
if (*sbFile == '/') { /* absolute path */
#endif
- (void)sprintf(sbFullPath, "%s", sbFile);
- iPath = csbInputPaths; /* only check once */
- } else
- (void)sprintf(sbFullPath, "%s/%s", rgsbInputPaths[iPath], sbFile);
+ (void)snprintf(sbFullPath, PATH_MAX-1, "%s", sbFile);
+ iPath = csbInputPaths; /* only check once */
+ } else {
+ (void)snprintf(sbFullPath, PATH_MAX-1, "%s/%s", rgsbInputPaths[iPath], sbFile);
+ }
#ifdef OS2
pch = sbFullPath;
- while (pch = strchr(pch, '\\'))
- *pch = '/';
+ while (pch = strchr(pch, '\\')) {
+ *pch = '/';
+ }
#endif
/* If sbFile ends in .tex then it must be there */
if ((pch = strrchr(sbFullPath, '.')) != NULL
- && (strcmp(pch, ".tex") == 0))
- {
- if ((fp = fopen(sbFullPath, "r")) != NULL)
- return(fp);
- else
- continue;
+ && (strcmp(pch, ".tex") == 0)) {
+ if ((fp = fopen(sbFullPath, "r")) != NULL)
+ return(fp);
+ else
+ continue;
}
/* if .<ext> then try to open it. the '.' represents */
@@ -996,7 +1089,7 @@ ErrorExit(const char *sb1)
void
UsageExit(void)
{
- (void)printf("\n%s [ -clnrstw ] [ -e environment-list ] [ filename[.tex] ... ]\n",
+ (void)printf("\n%s [ -clnrstw1 ] [ -e environment-list ] [ filename[.tex] ... ]\n",
sbProgName);
puts(" -c echo LaTeX \\cite, \\ref, and \\pageref values\n \
-e <env-list> list of LaTeX environments to ignore\n \
@@ -1006,6 +1099,7 @@ UsageExit(void)
-s replace control sequences with space\n \
-t force tex mode\n \
-w word only output\n \
+-1 outputs the original file name and line number in the beginning of each line\n \
-v show program version and exit");
exit(0);
}
diff --git a/Build/source/texk/detex/detex-src/detex.man b/Build/source/texk/detex/detex-src/detex.man
index a6f63ff6347..e152f12f940 100644
--- a/Build/source/texk/detex/detex-src/detex.man
+++ b/Build/source/texk/detex/detex-src/detex.man
@@ -6,7 +6,6 @@ detex \- a filter to strip \fITeX\fP commands from a .tex file.
[ \fB\-clnstw\fR ] [ \fB\-e\fI environment-list\fR ] [ \fIfilename\fR[.tex] ... ]
.SH DESCRIPTION
.I Detex
-(Version 2.8.3)
reads each file in sequence, removes all comments and
.I TeX
control sequences
@@ -87,6 +86,11 @@ with the deletions mentioned above. Newline characters are
preserved where possible
so that the lines of output match the input as closely as possible.
.PP
+The
+.B \-1
+option will prefix each printed line with `filename:linenumber:` indicating
+where that line is coming from in terms of the original (La)TeX document.
+.PP
The TEXINPUTS environment variable is used to find \\input and \\include
files. Like \fITeX\fP, it interprets a leading or trailing `:' as the default
TEXINPUTS. It does \fInot\fP support the `//' directory expansion magic sequence.