diff -uNr linux.org/Documentation/kbuild/kconfig-language.txt linux-2.6.13.2/Documentation/kbuild/kconfig-language.txt --- linux.org/Documentation/kbuild/kconfig-language.txt 2005-09-23 09:27:05.000000000 +0200 +++ linux-2.6.13.2/Documentation/kbuild/kconfig-language.txt 2005-09-26 19:54:58.000000000 +0200 @@ -113,6 +113,20 @@ used to help visually seperate configuration logic from help within the file as an aid to developers. +- autoconfiguration: "autorule" rule ["parameter"] + This defines the name of a rule, for choosing the config automatically. + The purpose of a rule is to check the target-system and tell whether + the config can be chosen or not. A rule can be a executable script, + binary or whatever. They must be insert in the directory + scripts/kconfig/rules/. Every rule has to give its answer(y or n) + out to the STDOUT. You can even define a Parameter for your rule, + but it has to be quoted. + Those rules will be respond by typing "make autoconfig" or + "make autochoiceconfig". + By "make autoconfig" all the elected-configs will be choosen automatically + as build-in. + By "make autochoiceconfig" the user will be asked for choosing the elected-config. + Menu dependencies ----------------- diff -uNr linux.org/arch/i386/Kconfig linux-2.6.13.2/arch/i386/Kconfig --- linux.org/arch/i386/Kconfig 2005-09-23 09:27:06.000000000 +0200 +++ linux-2.6.13.2/arch/i386/Kconfig 2005-09-26 19:35:56.000000000 +0200 @@ -43,6 +43,7 @@ config X86_PC bool "PC-compatible" + autorule arch.sh "i386" help Choose this option if your computer is a standard PC or compatible. @@ -240,13 +241,15 @@ extensions. config MPENTIUMM - bool "Pentium M" + bool "Pentium(R) M" + autorule cpugrep.sh "Pentium(R) M" help Select this for Intel Pentium M (not Pentium-4 M) notebook chips. config MPENTIUM4 bool "Pentium-4/Celeron(P4-based)/Pentium-4 M/Xeon" + autorule cpugrep.sh "Pentium(R) 4" help Select this for Intel Pentium 4 chips. This includes the Pentium 4, P4-based Celeron and Xeon, and Pentium-4 M @@ -263,6 +266,7 @@ config MK7 bool "Athlon/Duron/K7" + autorule cpugrep.sh "Athlon" help Select this for an AMD Athlon K7-family processor. Enables use of some extended instructions, and passes appropriate optimization @@ -1146,6 +1150,7 @@ bool "PCI support" if !X86_VISWS depends on !X86_VOYAGER default y if X86_VISWS + autorule hw_grep.sh "PCI bridge" help Find out whether you have a PCI motherboard. PCI is the name of a bus system, i.e. the way the CPU talks to the other stuff inside diff -uNr linux.org/drivers/char/agp/Kconfig linux-2.6.13.2/drivers/char/agp/Kconfig --- linux.org/drivers/char/agp/Kconfig 2005-09-23 09:27:10.000000000 +0200 +++ linux-2.6.13.2/drivers/char/agp/Kconfig 2005-09-26 19:35:57.000000000 +0200 @@ -1,6 +1,7 @@ config AGP tristate "/dev/agpgart (AGP Support)" if !GART_IOMMU depends on ALPHA || IA64 || PPC || X86 + autorule hw_grep.sh "AGP" default y if GART_IOMMU ---help--- AGP (Accelerated Graphics Port) is a bus system mainly used to @@ -46,6 +47,7 @@ config AGP_ATI tristate "ATI chipset support" depends on AGP && X86 && !X86_64 + autorule hw_grep.sh "Radeon" ---help--- This option gives you AGP support for the GLX component of XFree86 4.x on the ATI RadeonIGP family of chipsets. diff -uNr linux.org/drivers/char/drm/Kconfig linux-2.6.13.2/drivers/char/drm/Kconfig --- linux.org/drivers/char/drm/Kconfig 2005-09-23 09:27:10.000000000 +0200 +++ linux-2.6.13.2/drivers/char/drm/Kconfig 2005-09-26 19:35:57.000000000 +0200 @@ -7,6 +7,7 @@ config DRM tristate "Direct Rendering Manager (XFree86 4.1.0 and higher DRI support)" depends on (AGP || AGP=n) && PCI + autorule hw_egrep.sh "Rage|Radeon|Banshee|Voodoo" help Kernel-level support for the Direct Rendering Infrastructure (DRI) introduced in XFree86 4.0. If you say Y here, you need to select @@ -41,6 +42,7 @@ config DRM_RADEON tristate "ATI Radeon" depends on DRM && PCI + autorule hw_grep.sh "Radeon" help Choose this option if you have an ATI Radeon graphics card. There are both PCI and AGP versions. You don't need to choose this to diff -uNr linux.org/drivers/ide/Kconfig linux-2.6.13.2/drivers/ide/Kconfig --- linux.org/drivers/ide/Kconfig 2005-09-23 09:27:12.000000000 +0200 +++ linux-2.6.13.2/drivers/ide/Kconfig 2005-09-26 19:35:57.000000000 +0200 @@ -8,6 +8,7 @@ config IDE tristate "ATA/ATAPI/MFM/RLL support" + autorule hw_egrep.sh "ATA|ATAPI|MFM|RLL" ---help--- If you say Y here, your kernel will be able to manage low cost mass storage units such as ATA/(E)IDE and ATAPI units. The most common @@ -135,6 +136,7 @@ config BLK_DEV_IDEDISK tristate "Include IDE/ATA-2 DISK support" + autorule hw_egrep.sh "ATA|IDE" ---help--- This will include enhanced support for MFM/RLL/IDE hard disks. If you have a MFM/RLL/IDE disk, and there is no special reason to use @@ -167,6 +169,7 @@ config BLK_DEV_IDECD tristate "Include IDE/ATAPI CDROM support" + autorule hw_egrep.sh "ATAPI|IDE" ---help--- If you have a CD-ROM drive using the ATAPI protocol, say Y. ATAPI is a newer protocol used by IDE CD-ROM and TAPE drives, similar to the @@ -333,6 +336,7 @@ config IDEPCI_SHARE_IRQ bool "Sharing PCI IDE interrupts support" depends on PCI && BLK_DEV_IDEPCI + autorule hw_egrep.sh "IDE|PCI" help Some ATA/IDE chipsets have hardware support which allows for sharing a single IRQ with other cards. To enable support for @@ -367,6 +371,7 @@ config BLK_DEV_GENERIC tristate "Generic PCI IDE Chipset Support" depends on BLK_DEV_IDEPCI + autorule hw_egrep.sh "IDE|PCI" config BLK_DEV_OPTI621 tristate "OPTi 82C621 chipset enhanced support (EXPERIMENTAL)" @@ -398,6 +403,7 @@ config BLK_DEV_IDEDMA_PCI bool "Generic PCI bus-master DMA support" depends on PCI && BLK_DEV_IDEPCI + autorule hw_grep.sh "PCI" ---help--- If your PCI system uses IDE drive(s) (as opposed to SCSI, say) and is capable of bus-master DMA operation (most Pentium PCI systems), @@ -591,6 +597,7 @@ config BLK_DEV_PIIX tristate "Intel PIIXn chipsets support" + autorule hw_grep.sh "ICH" help This driver adds explicit support for Intel PIIX and ICH chips and also for the Efar Victory66 (slc90e66) chip. This allows diff -uNr linux.org/drivers/ieee1394/Kconfig linux-2.6.13.2/drivers/ieee1394/Kconfig --- linux.org/drivers/ieee1394/Kconfig 2005-09-23 09:27:12.000000000 +0200 +++ linux-2.6.13.2/drivers/ieee1394/Kconfig 2005-09-26 19:35:57.000000000 +0200 @@ -6,6 +6,7 @@ tristate "IEEE 1394 (FireWire) support" depends on PCI || BROKEN select NET + autorule hw_grep.sh "FireWire (IEEE 1394)" help IEEE 1394 describes a high performance serial bus, which is also known as FireWire(tm) or i.Link(tm) and is used for connecting all diff -uNr linux.org/drivers/net/Kconfig linux-2.6.13.2/drivers/net/Kconfig --- linux.org/drivers/net/Kconfig 2005-09-23 09:27:16.000000000 +0200 +++ linux-2.6.13.2/drivers/net/Kconfig 2005-09-26 19:35:57.000000000 +0200 @@ -8,6 +8,7 @@ config NETDEVICES depends on NET bool "Network device support" + autorule hw_egrep.sh "Network|Ethernet" ---help--- You can say N here if you don't intend to connect your Linux box to any other computer at all. diff -uNr linux.org/drivers/usb/Kconfig linux-2.6.13.2/drivers/usb/Kconfig --- linux.org/drivers/usb/Kconfig 2005-09-23 09:27:25.000000000 +0200 +++ linux-2.6.13.2/drivers/usb/Kconfig 2005-09-26 19:35:56.000000000 +0200 @@ -34,6 +34,7 @@ config USB tristate "Support for Host-side USB" depends on USB_ARCH_HAS_HCD + autorule hw_grep.sh "USB" ---help--- Universal Serial Bus (USB) is a specification for a serial bus subsystem which offers higher speeds and more features than the diff -uNr linux.org/drivers/usb/host/Kconfig linux-2.6.13.2/drivers/usb/host/Kconfig --- linux.org/drivers/usb/host/Kconfig 2005-09-23 09:27:25.000000000 +0200 +++ linux-2.6.13.2/drivers/usb/host/Kconfig 2005-09-26 19:35:56.000000000 +0200 @@ -7,6 +7,7 @@ config USB_EHCI_HCD tristate "EHCI HCD (USB 2.0) support" depends on USB && PCI + autorule hw_grep.sh "EHCI" ---help--- The Enhanced Host Controller Interface (EHCI) is standard for USB 2.0 "high speed" (480 Mbit/sec, 60 Mbyte/sec) host controller hardware. @@ -111,6 +112,7 @@ config USB_UHCI_HCD tristate "UHCI HCD (most Intel and VIA) support" depends on USB && PCI + autorule hw_grep.sh "UHCI" ---help--- The Universal Host Controller Interface is a standard by Intel for accessing the USB hardware in the PC (which is also called the USB diff -uNr linux.org/scripts/kconfig/Makefile linux-2.6.13.2/scripts/kconfig/Makefile --- linux.org/scripts/kconfig/Makefile 2005-09-23 09:27:39.000000000 +0200 +++ linux-2.6.13.2/scripts/kconfig/Makefile 2005-09-26 19:43:41.000000000 +0200 @@ -17,6 +17,14 @@ config: $(obj)/conf $< arch/$(ARCH)/Kconfig +autoconfig: $(obj)/conf + @if [ -f .config ]; then rm .config; fi; + $< -a arch/$(ARCH)/Kconfig + +autochoiceconfig: $(obj)/conf + @if [ -f .config ]; then rm .config; fi; + $< -c arch/$(ARCH)/Kconfig + oldconfig: $(obj)/conf $< -o arch/$(ARCH)/Kconfig @@ -67,7 +75,8 @@ @echo ' allmodconfig - New config selecting modules when possible' @echo ' allyesconfig - New config where all options are accepted with yes' @echo ' allnoconfig - New minimal config' - + @echo ' autoconfig - New config with automatically answer to elected-options based on the System' + @echo ' autochoiceconfig - New config like autoconfig, but the user will be asked for including the elected-options' # =========================================================================== # Shared Makefile for the various kconfig executables: # conf: Used for defconfig, oldconfig and related targets diff -uNr linux.org/scripts/kconfig/conf.c linux-2.6.13.2/scripts/kconfig/conf.c --- linux.org/scripts/kconfig/conf.c 2005-09-23 09:27:39.000000000 +0200 +++ linux-2.6.13.2/scripts/kconfig/conf.c 2005-09-27 09:28:21.000000000 +0200 @@ -9,6 +9,7 @@ #include #include #include +#include #define LKC_DIRECT_LINK #include "lkc.h" @@ -24,7 +25,9 @@ set_yes, set_mod, set_no, - set_random + set_random, + set_auto, + set_autochoice } input_mode = ask_all; char *defconfig_file; @@ -63,9 +66,51 @@ } } +static int exec_autorule(const char* rule) +{ + int pd[2]; + pid_t childpid; + char directory[128]; + + /* + * reading the dirctory where the rules are + */ + strncpy(directory,"scripts/kconfig/rules/", 128); + + strcat(directory, rule); + + pipe(pd); + + if (( childpid = fork() ) == 0) { + dup2(pd[1], STDOUT_FILENO); + + close(pd[0]); + close(pd[1]); + /* + * calling the rule + */ + system(directory); + exit(0); + } + close(pd[1]); + /* + * waiting for the child process to complete + */ + while ( wait ((int *) 0) != childpid) + continue; + /* + * reading from the pipe, that is the answer from the rule + */ + read( pd[0], line, 128 ); + close(pd[0]); + return 0; +} + static void conf_askvalue(struct symbol *sym, const char *def) { enum symbol_type type = sym_get_type(sym); + char *autopara; + size_t buflng; tristate val; if (!sym_has_value(sym)) @@ -89,6 +134,63 @@ return; } check_stdin(); + case set_auto: + fflush(stdout); + line[0] = '\n'; + line[1] = 0; + if (sym->autorule) { + if (sym->autopara) { + buflng = strlen(sym->autopara); + autopara = (char*) malloc (buflng+5); + sprintf(autopara, " \"%s\"", sym->autopara); + strcat(sym->autorule, autopara); + free(autopara); + } + exec_autorule(sym->autorule); + } + if (line[0] == 'y') { + line[1] = '\n'; + line[2] = 0; + if (!(sym_tristate_within_range(sym, yes))) + line[0] = 'm'; + } + else if (line[0] == 'm') { + line[1] = '\n'; + line[2] = 0; + if (!(sym_tristate_within_range(sym, mod))) + line[0] = 'y'; + } + else if (line[0] == 'n') { + line[1] = '\n'; + line[2] = '0'; + } + else printf("%c", line[0]); + return; + case set_autochoice: + fflush(stdout); + line[0] = '\n'; + line[1] = 0; + if (sym->autorule) { + if (sym->autopara) { + buflng = strlen(sym->autopara); + autopara = (char*) malloc (buflng+5); + sprintf(autopara, " \"%s\"", sym->autopara); + strcat(sym->autorule, autopara); + free(autopara); + } + exec_autorule(sym->autorule); + if (line[0] == 'y') { + fflush(stdout); + fgets(line, 128, stdin); + } + else { + line[0] = 'n'; + line[1] = '\n'; + line[2] = 0; + } + } + else printf("%c", line[0]); + return; case ask_all: fflush(stdout); fgets(line, 128, stdin); @@ -272,7 +374,9 @@ struct menu *child; int type; bool is_new; - + char * autopara; + size_t buflng; + sym = menu->sym; type = sym_get_type(sym); is_new = !sym_has_value(sym); @@ -301,7 +405,6 @@ while (1) { int cnt, def; - printf("%*s%s\n", indent - 1, "", menu_get_prompt(menu)); def_sym = sym_get_choice_value(sym); cnt = def = 0; @@ -326,6 +429,26 @@ if (!sym_has_value(child->sym)) printf(" (NEW)"); printf("\n"); + if (child->sym->autorule) { + if (child->sym->autopara) { + buflng = strlen(child->sym->autopara); + autopara = (char*) malloc (buflng+4); + sprintf(autopara, " \"%s\"", + child->sym->autopara); + strcat(child->sym->autorule, autopara); + free(autopara); + } + exec_autorule(child->sym->autorule); + } + if(line[0]=='y') { + sprintf(line, "%i", cnt); + break; + } else { + line[0] = '\n'; + line[1] = 0; + } + + } printf("%*schoice", indent - 1, ""); if (cnt == 1) { @@ -348,6 +471,8 @@ case ask_all: fflush(stdout); fgets(line, 128, stdin); + case set_auto: + case set_autochoice: strip(line); if (line[0] == '?') { printf("\n%s\n", menu->sym->help ? @@ -493,6 +618,12 @@ case 'o': input_mode = ask_new; break; + case 'a': + input_mode = set_auto; + break; + case 'c': + input_mode = set_autochoice; + break; case 's': input_mode = ask_silent; valid_stdin = isatty(0) && isatty(1) && isatty(2); @@ -557,6 +688,8 @@ } case ask_all: case ask_new: + case set_auto: + case set_autochoice: conf_read(NULL); break; default: @@ -566,7 +699,7 @@ if (input_mode != ask_silent) { rootEntry = &rootmenu; conf(&rootmenu); - if (input_mode == ask_all) { + if (input_mode == ask_all || input_mode == set_auto || input_mode == set_autochoice) { input_mode = ask_silent; valid_stdin = 1; } diff -uNr linux.org/scripts/kconfig/expr.h linux-2.6.13.2/scripts/kconfig/expr.h --- linux.org/scripts/kconfig/expr.h 2005-09-23 09:27:39.000000000 +0200 +++ linux-2.6.13.2/scripts/kconfig/expr.h 2005-09-26 19:34:47.000000000 +0200 @@ -67,6 +67,8 @@ struct symbol *next; char *name; char *help; + char *autorule; + char *autopara; enum symbol_type type; struct symbol_value curr, user; tristate visible; diff -uNr linux.org/scripts/kconfig/lex.zconf.c_shipped linux-2.6.13.2/scripts/kconfig/lex.zconf.c_shipped --- linux.org/scripts/kconfig/lex.zconf.c_shipped 2005-09-23 09:27:39.000000000 +0200 +++ linux-2.6.13.2/scripts/kconfig/lex.zconf.c_shipped 2005-09-26 19:34:47.000000000 +0200 @@ -1,5 +1,6 @@ +#line 2 "scripts/kconfig/lex.zconf.c" -#line 3 "lex.zconf.c" +#line 4 "scripts/kconfig/lex.zconf.c" #define YY_INT_ALIGNED short int @@ -364,61 +365,61 @@ { 11, 16, 16, 17, 16, 16, 16, 16, 16, 16, - 16, 16, 16, 18, 16, 16, 18, 18, 19, 20, - 21, 22, 18, 18, 23, 24, 18, 25, 18, 26, - 27, 18, 28, 29, 30, 18, 18, 16 + 16, 16, 16, 18, 16, 16, 18, 19, 20, 21, + 22, 23, 18, 18, 24, 25, 18, 26, 18, 27, + 28, 18, 29, 30, 31, 18, 18, 16 }, { 11, 16, 16, 17, 16, 16, 16, 16, 16, 16, - 16, 16, 16, 18, 16, 16, 18, 18, 19, 20, - 21, 22, 18, 18, 23, 24, 18, 25, 18, 26, - 27, 18, 28, 29, 30, 18, 18, 16 + 16, 16, 16, 18, 16, 16, 18, 19, 20, 21, + 22, 23, 18, 18, 24, 25, 18, 26, 18, 27, + 28, 18, 29, 30, 31, 18, 18, 16 }, { - 11, 31, 32, 33, 31, 31, 31, 31, 31, 31, - 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, - 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, - 31, 31, 31, 31, 31, 31, 31, 31 + 11, 32, 33, 34, 32, 32, 32, 32, 32, 32, + 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, + 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, + 32, 32, 32, 32, 32, 32, 32, 32 }, { - 11, 31, 32, 33, 31, 31, 31, 31, 31, 31, - 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, - 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, - 31, 31, 31, 31, 31, 31, 31, 31 + 11, 32, 33, 34, 32, 32, 32, 32, 32, 32, + 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, + 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, + 32, 32, 32, 32, 32, 32, 32, 32 }, { - 11, 34, 34, 35, 34, 36, 34, 34, 36, 34, - 34, 34, 34, 34, 34, 37, 34, 34, 34, 34, + 11, 35, 35, 36, 35, 37, 35, 35, 37, 35, + 35, 35, 35, 35, 35, 38, 35, 35, 35, 35, - 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, - 34, 34, 34, 34, 34, 34, 34, 34 + 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 35, 35 }, { - 11, 34, 34, 35, 34, 36, 34, 34, 36, 34, - 34, 34, 34, 34, 34, 37, 34, 34, 34, 34, - 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, - 34, 34, 34, 34, 34, 34, 34, 34 + 11, 35, 35, 36, 35, 37, 35, 35, 37, 35, + 35, 35, 35, 35, 35, 38, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 35, 35 }, { - 11, 38, 38, 39, 40, 41, 42, 43, 41, 44, - 45, 46, 47, 47, 48, 49, 47, 47, 47, 47, - 47, 47, 47, 47, 47, 50, 47, 47, 47, 51, - 47, 47, 47, 47, 47, 47, 47, 52 + 11, 39, 39, 40, 41, 42, 43, 44, 42, 45, + 46, 47, 48, 48, 49, 50, 48, 48, 48, 48, + 48, 48, 48, 48, 48, 51, 48, 48, 48, 52, + 48, 48, 48, 48, 48, 48, 48, 53 }, { - 11, 38, 38, 39, 40, 41, 42, 43, 41, 44, - 45, 46, 47, 47, 48, 49, 47, 47, 47, 47, - 47, 47, 47, 47, 47, 50, 47, 47, 47, 51, - 47, 47, 47, 47, 47, 47, 47, 52 + 11, 39, 39, 40, 41, 42, 43, 44, 42, 45, + 46, 47, 48, 48, 49, 50, 48, 48, 48, 48, + 48, 48, 48, 48, 48, 51, 48, 48, 48, 52, + 48, 48, 48, 48, 48, 48, 48, 53 }, { @@ -437,7 +438,7 @@ }, { - 11, -13, 53, 54, -13, -13, 55, -13, -13, -13, + 11, -13, 54, 55, -13, -13, 56, -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 @@ -452,10 +453,10 @@ }, { - 11, 56, 56, 57, 56, 56, 56, 56, 56, 56, - 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, - 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, - 56, 56, 56, 56, 56, 56, 56, 56 + 11, 57, 57, 58, 57, 57, 57, 57, 57, 57, + 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, + 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, + 57, 57, 57, 57, 57, 57, 57, 57 }, { @@ -475,135 +476,135 @@ { 11, -18, -18, -18, -18, -18, -18, -18, -18, -18, - -18, -18, -18, 58, -18, -18, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, -18 + -18, -18, -18, 59, -18, -18, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, -18 }, { 11, -19, -19, -19, -19, -19, -19, -19, -19, -19, - -19, -19, -19, 58, -19, -19, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, 58, 58, 59, - 58, 58, 58, 58, 58, 58, 58, -19 + -19, -19, -19, 59, -19, -19, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 60, 59, -19 }, { 11, -20, -20, -20, -20, -20, -20, -20, -20, -20, - -20, -20, -20, 58, -20, -20, 58, 58, 58, 58, - 58, 58, 58, 58, 60, 58, 58, 58, 58, 61, - 58, 58, 58, 58, 58, 58, 58, -20 + -20, -20, -20, 59, -20, -20, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, 59, 59, 61, + 59, 59, 59, 59, 59, 59, 59, -20 }, { 11, -21, -21, -21, -21, -21, -21, -21, -21, -21, - -21, -21, -21, 58, -21, -21, 58, 58, 58, 58, - 58, 62, 58, 58, 58, 58, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, -21 + -21, -21, -21, 59, -21, -21, 59, 59, 59, 59, + 59, 59, 59, 59, 62, 59, 59, 59, 59, 63, + 59, 59, 59, 59, 59, 59, 59, -21 }, { 11, -22, -22, -22, -22, -22, -22, -22, -22, -22, - -22, -22, -22, 58, -22, -22, 58, 58, 58, 58, + -22, -22, -22, 59, -22, -22, 59, 59, 59, 59, - 58, 58, 58, 58, 58, 58, 58, 58, 63, 58, - 58, 58, 58, 58, 58, 58, 58, -22 + 59, 64, 59, 59, 59, 59, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, -22 }, { 11, -23, -23, -23, -23, -23, -23, -23, -23, -23, - -23, -23, -23, 58, -23, -23, 58, 58, 58, 58, - 58, 64, 58, 58, 58, 58, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, -23 + -23, -23, -23, 59, -23, -23, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, 59, 65, 59, + 59, 59, 59, 59, 59, 59, 59, -23 }, { 11, -24, -24, -24, -24, -24, -24, -24, -24, -24, - -24, -24, -24, 58, -24, -24, 58, 58, 58, 58, - 58, 58, 65, 58, 58, 58, 58, 58, 66, 58, - 58, 58, 58, 58, 58, 58, 58, -24 + -24, -24, -24, 59, -24, -24, 59, 59, 59, 59, + 59, 66, 59, 59, 59, 59, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, -24 }, { 11, -25, -25, -25, -25, -25, -25, -25, -25, -25, - -25, -25, -25, 58, -25, -25, 58, 67, 58, 58, - 58, 68, 58, 58, 58, 58, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, -25 + -25, -25, -25, 59, -25, -25, 59, 59, 59, 59, + 59, 59, 67, 59, 59, 59, 59, 59, 68, 59, + 59, 59, 59, 59, 59, 59, 59, -25 }, { 11, -26, -26, -26, -26, -26, -26, -26, -26, -26, - -26, -26, -26, 58, -26, -26, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, - 69, 58, 58, 58, 58, 58, 58, -26 + -26, -26, -26, 59, -26, -26, 59, 69, 59, 59, + 59, 70, 59, 59, 59, 59, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, -26 }, { 11, -27, -27, -27, -27, -27, -27, -27, -27, -27, - -27, -27, -27, 58, -27, -27, 58, 58, 58, 58, + -27, -27, -27, 59, -27, -27, 59, 59, 59, 59, - 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, - 58, 58, 70, 58, 58, 58, 58, -27 + 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, + 71, 59, 59, 59, 59, 59, 59, -27 }, { 11, -28, -28, -28, -28, -28, -28, -28, -28, -28, - -28, -28, -28, 58, -28, -28, 58, 71, 58, 58, - 58, 72, 58, 58, 58, 58, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, -28 + -28, -28, -28, 59, -28, -28, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, + 59, 59, 72, 59, 59, 59, 59, -28 }, { 11, -29, -29, -29, -29, -29, -29, -29, -29, -29, - -29, -29, -29, 58, -29, -29, 58, 58, 58, 58, - 58, 73, 58, 58, 58, 58, 58, 58, 58, 74, - 58, 58, 58, 58, 75, 58, 58, -29 + -29, -29, -29, 59, -29, -29, 59, 73, 59, 59, + 59, 74, 59, 59, 59, 59, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, -29 }, { 11, -30, -30, -30, -30, -30, -30, -30, -30, -30, - -30, -30, -30, 58, -30, -30, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, - 58, 58, 76, 58, 58, 58, 58, -30 + -30, -30, -30, 59, -30, -30, 59, 59, 59, 59, + 59, 75, 59, 59, 59, 59, 59, 59, 59, 76, + 59, 59, 59, 59, 77, 59, 59, -30 }, { - 11, 77, 77, -31, 77, 77, 77, 77, 77, 77, - 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, - 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, - 77, 77, 77, 77, 77, 77, 77, 77 + 11, -31, -31, -31, -31, -31, -31, -31, -31, -31, + -31, -31, -31, 59, -31, -31, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, + 59, 59, 78, 59, 59, 59, 59, -31 }, { - 11, -32, 78, 79, -32, -32, -32, -32, -32, -32, - -32, -32, -32, -32, -32, -32, -32, -32, -32, -32, + 11, 79, 79, -32, 79, 79, 79, 79, 79, 79, + 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, - -32, -32, -32, -32, -32, -32, -32, -32, -32, -32, - -32, -32, -32, -32, -32, -32, -32, -32 + 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, + 79, 79, 79, 79, 79, 79, 79, 79 }, { - 11, 80, -33, -33, 80, 80, 80, 80, 80, 80, - 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, - 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, - 80, 80, 80, 80, 80, 80, 80, 80 + 11, -33, 80, 81, -33, -33, -33, -33, -33, -33, + -33, -33, -33, -33, -33, -33, -33, -33, -33, -33, + -33, -33, -33, -33, -33, -33, -33, -33, -33, -33, + -33, -33, -33, -33, -33, -33, -33, -33 }, { - 11, 81, 81, 82, 81, -34, 81, 81, -34, 81, - 81, 81, 81, 81, 81, -34, 81, 81, 81, 81, - 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, - 81, 81, 81, 81, 81, 81, 81, 81 + 11, 82, -34, -34, 82, 82, 82, 82, 82, 82, + 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, + 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, + 82, 82, 82, 82, 82, 82, 82, 82 }, { - 11, -35, -35, -35, -35, -35, -35, -35, -35, -35, - -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, - -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, - -35, -35, -35, -35, -35, -35, -35, -35 + 11, 83, 83, 84, 83, -35, 83, 83, -35, 83, + 83, 83, 83, 83, 83, -35, 83, 83, 83, 83, + 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, + 83, 83, 83, 83, 83, 83, 83, 83 }, { @@ -614,18 +615,18 @@ }, { - 11, 83, 83, 84, 83, 83, 83, 83, 83, 83, - 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, + 11, -37, -37, -37, -37, -37, -37, -37, -37, -37, + -37, -37, -37, -37, -37, -37, -37, -37, -37, -37, - 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, - 83, 83, 83, 83, 83, 83, 83, 83 + -37, -37, -37, -37, -37, -37, -37, -37, -37, -37, + -37, -37, -37, -37, -37, -37, -37, -37 }, { - 11, -38, -38, -38, -38, -38, -38, -38, -38, -38, - -38, -38, -38, -38, -38, -38, -38, -38, -38, -38, - -38, -38, -38, -38, -38, -38, -38, -38, -38, -38, - -38, -38, -38, -38, -38, -38, -38, -38 + 11, 85, 85, 86, 85, 85, 85, 85, 85, 85, + 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, + 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, + 85, 85, 85, 85, 85, 85, 85, 85 }, { @@ -638,35 +639,35 @@ { 11, -40, -40, -40, -40, -40, -40, -40, -40, -40, - -40, -40, -40, -40, 85, -40, -40, -40, -40, -40, + -40, -40, -40, -40, -40, -40, -40, -40, -40, -40, -40, -40, -40, -40, -40, -40, -40, -40, -40, -40, -40, -40, -40, -40, -40, -40, -40, -40 }, { 11, -41, -41, -41, -41, -41, -41, -41, -41, -41, - -41, -41, -41, -41, -41, -41, -41, -41, -41, -41, + -41, -41, -41, -41, 87, -41, -41, -41, -41, -41, -41, -41, -41, -41, -41, -41, -41, -41, -41, -41, -41, -41, -41, -41, -41, -41, -41, -41 }, { - 11, 86, 86, -42, 86, 86, 86, 86, 86, 86, - 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, + 11, -42, -42, -42, -42, -42, -42, -42, -42, -42, + -42, -42, -42, -42, -42, -42, -42, -42, -42, -42, - 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, - 86, 86, 86, 86, 86, 86, 86, 86 + -42, -42, -42, -42, -42, -42, -42, -42, -42, -42, + -42, -42, -42, -42, -42, -42, -42, -42 }, { - 11, -43, -43, -43, -43, -43, -43, 87, -43, -43, - -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, - -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, - -43, -43, -43, -43, -43, -43, -43, -43 + 11, 88, 88, -43, 88, 88, 88, 88, 88, 88, + 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, + 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, + 88, 88, 88, 88, 88, 88, 88, 88 }, { - 11, -44, -44, -44, -44, -44, -44, -44, -44, -44, + 11, -44, -44, -44, -44, -44, -44, 89, -44, -44, -44, -44, -44, -44, -44, -44, -44, -44, -44, -44, -44, -44, -44, -44, -44, -44, -44, -44, -44, -44, -44, -44, -44, -44, -44, -44, -44, -44 @@ -682,28 +683,28 @@ { 11, -46, -46, -46, -46, -46, -46, -46, -46, -46, - -46, 88, 89, 89, -46, -46, 89, 89, 89, 89, - 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, - 89, 89, 89, 89, 89, 89, 89, -46 + -46, -46, -46, -46, -46, -46, -46, -46, -46, -46, + -46, -46, -46, -46, -46, -46, -46, -46, -46, -46, + -46, -46, -46, -46, -46, -46, -46, -46 }, { 11, -47, -47, -47, -47, -47, -47, -47, -47, -47, - -47, 89, 89, 89, -47, -47, 89, 89, 89, 89, + -47, 90, 91, 91, -47, -47, 91, 91, 91, 91, - 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, - 89, 89, 89, 89, 89, 89, 89, -47 + 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, + 91, 91, 91, 91, 91, 91, 91, -47 }, { 11, -48, -48, -48, -48, -48, -48, -48, -48, -48, - -48, -48, -48, -48, -48, -48, -48, -48, -48, -48, - -48, -48, -48, -48, -48, -48, -48, -48, -48, -48, - -48, -48, -48, -48, -48, -48, -48, -48 + -48, 91, 91, 91, -48, -48, 91, 91, 91, 91, + 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, + 91, 91, 91, 91, 91, 91, 91, -48 }, { - 11, -49, -49, 90, -49, -49, -49, -49, -49, -49, + 11, -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, -49 @@ -711,36 +712,36 @@ }, { - 11, -50, -50, -50, -50, -50, -50, -50, -50, -50, - -50, 89, 89, 89, -50, -50, 89, 89, 89, 89, - 89, 89, 91, 89, 89, 89, 89, 89, 89, 89, - 89, 89, 89, 89, 89, 89, 89, -50 + 11, -50, -50, 92, -50, -50, -50, -50, -50, -50, + -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, + -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, + -50, -50, -50, -50, -50, -50, -50, -50 }, { 11, -51, -51, -51, -51, -51, -51, -51, -51, -51, - -51, 89, 89, 89, -51, -51, 89, 89, 89, 89, - 89, 89, 89, 89, 89, 89, 89, 89, 92, 89, - 89, 89, 89, 89, 89, 89, 89, -51 + -51, 91, 91, 91, -51, -51, 91, 91, 91, 91, + 91, 91, 93, 91, 91, 91, 91, 91, 91, 91, + 91, 91, 91, 91, 91, 91, 91, -51 }, { 11, -52, -52, -52, -52, -52, -52, -52, -52, -52, - -52, -52, -52, -52, -52, -52, -52, -52, -52, -52, + -52, 91, 91, 91, -52, -52, 91, 91, 91, 91, - -52, -52, -52, -52, -52, -52, -52, -52, -52, -52, - -52, -52, -52, -52, -52, -52, -52, 93 + 91, 91, 91, 91, 91, 91, 91, 91, 94, 91, + 91, 91, 91, 91, 91, 91, 91, -52 }, { - 11, -53, 53, 54, -53, -53, 55, -53, -53, -53, + 11, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, - -53, -53, -53, -53, -53, -53, -53, -53 + -53, -53, -53, -53, -53, -53, -53, 95 }, { - 11, -54, -54, -54, -54, -54, -54, -54, -54, -54, + 11, -54, 54, 55, -54, -54, 56, -54, -54, -54, -54, -54, -54, -54, -54, -54, -54, -54, -54, -54, -54, -54, -54, -54, -54, -54, -54, -54, -54, -54, -54, -54, -54, -54, -54, -54, -54, -54 @@ -748,202 +749,202 @@ }, { - 11, 56, 56, 57, 56, 56, 56, 56, 56, 56, - 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, - 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, - 56, 56, 56, 56, 56, 56, 56, 56 + 11, -55, -55, -55, -55, -55, -55, -55, -55, -55, + -55, -55, -55, -55, -55, -55, -55, -55, -55, -55, + -55, -55, -55, -55, -55, -55, -55, -55, -55, -55, + -55, -55, -55, -55, -55, -55, -55, -55 }, { - 11, 56, 56, 57, 56, 56, 56, 56, 56, 56, - 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, - 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, - 56, 56, 56, 56, 56, 56, 56, 56 + 11, 57, 57, 58, 57, 57, 57, 57, 57, 57, + 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, + 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, + 57, 57, 57, 57, 57, 57, 57, 57 }, { - 11, -57, -57, -57, -57, -57, -57, -57, -57, -57, - -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, + 11, 57, 57, 58, 57, 57, 57, 57, 57, 57, + 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, - -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, - -57, -57, -57, -57, -57, -57, -57, -57 + 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, + 57, 57, 57, 57, 57, 57, 57, 57 }, { 11, -58, -58, -58, -58, -58, -58, -58, -58, -58, - -58, -58, -58, 58, -58, -58, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, -58 + -58, -58, -58, -58, -58, -58, -58, -58, -58, -58, + -58, -58, -58, -58, -58, -58, -58, -58, -58, -58, + -58, -58, -58, -58, -58, -58, -58, -58 }, { 11, -59, -59, -59, -59, -59, -59, -59, -59, -59, - -59, -59, -59, 58, -59, -59, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, 58, 58, 94, - 58, 58, 58, 58, 58, 58, 58, -59 + -59, -59, -59, 59, -59, -59, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, -59 }, { 11, -60, -60, -60, -60, -60, -60, -60, -60, -60, - -60, -60, -60, 58, -60, -60, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, 58, 58, 95, - 58, 58, 58, 58, 58, 58, 58, -60 + -60, -60, -60, 59, -60, -60, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, + 59, 59, 59, 59, 96, 59, 59, -60 }, { 11, -61, -61, -61, -61, -61, -61, -61, -61, -61, - -61, -61, -61, 58, -61, -61, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, 96, 97, 58, - 58, 58, 58, 58, 58, 58, 58, -61 + -61, -61, -61, 59, -61, -61, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, 59, 59, 97, + 59, 59, 59, 59, 59, 59, 59, -61 }, { 11, -62, -62, -62, -62, -62, -62, -62, -62, -62, - -62, -62, -62, 58, -62, -62, 58, 58, 58, 58, + -62, -62, -62, 59, -62, -62, 59, 59, 59, 59, - 58, 58, 98, 58, 58, 58, 58, 58, 58, 58, - 99, 58, 58, 58, 58, 58, 58, -62 + 59, 59, 59, 59, 59, 59, 59, 59, 59, 98, + 59, 59, 59, 59, 59, 59, 59, -62 }, { 11, -63, -63, -63, -63, -63, -63, -63, -63, -63, - -63, -63, -63, 58, -63, -63, 58, 100, 58, 58, - 101, 58, 58, 58, 58, 58, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, -63 + -63, -63, -63, 59, -63, -63, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, 99, 100, 59, + 59, 59, 59, 59, 59, 59, 59, -63 }, { 11, -64, -64, -64, -64, -64, -64, -64, -64, -64, - -64, -64, -64, 58, -64, -64, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 102, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 103, -64 + -64, -64, -64, 59, -64, -64, 59, 59, 59, 59, + 59, 59, 101, 59, 59, 59, 59, 59, 59, 59, + 102, 59, 59, 59, 59, 59, 59, -64 }, { 11, -65, -65, -65, -65, -65, -65, -65, -65, -65, - -65, -65, -65, 58, -65, -65, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, -65 + -65, -65, -65, 59, -65, -65, 59, 103, 59, 59, + 104, 59, 59, 59, 59, 59, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, -65 }, { 11, -66, -66, -66, -66, -66, -66, -66, -66, -66, - -66, -66, -66, 58, -66, -66, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, - 58, 58, 58, 58, 104, 58, 58, -66 + -66, -66, -66, 59, -66, -66, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 105, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 106, -66 }, { 11, -67, -67, -67, -67, -67, -67, -67, -67, -67, - -67, -67, -67, 58, -67, -67, 58, 58, 58, 58, + -67, -67, -67, 59, -67, -67, 59, 59, 59, 59, - 58, 58, 58, 58, 58, 105, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, -67 + 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, -67 }, { 11, -68, -68, -68, -68, -68, -68, -68, -68, -68, - -68, -68, -68, 58, -68, -68, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, 58, 106, 58, - 58, 58, 58, 58, 58, 58, 58, -68 + -68, -68, -68, 59, -68, -68, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, + 59, 59, 59, 59, 107, 59, 59, -68 }, { 11, -69, -69, -69, -69, -69, -69, -69, -69, -69, - -69, -69, -69, 58, -69, -69, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, - 58, 58, 58, 58, 107, 58, 58, -69 + -69, -69, -69, 59, -69, -69, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 108, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, -69 }, { 11, -70, -70, -70, -70, -70, -70, -70, -70, -70, - -70, -70, -70, 58, -70, -70, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, 58, 58, 108, - 58, 58, 58, 58, 58, 58, 58, -70 + -70, -70, -70, 59, -70, -70, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, 59, 109, 59, + 59, 59, 59, 59, 59, 59, 59, -70 }, { 11, -71, -71, -71, -71, -71, -71, -71, -71, -71, - -71, -71, -71, 58, -71, -71, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, 58, 109, 58, - 58, 58, 58, 58, 58, 58, 58, -71 + -71, -71, -71, 59, -71, -71, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, + 59, 59, 59, 59, 110, 59, 59, -71 }, { 11, -72, -72, -72, -72, -72, -72, -72, -72, -72, - -72, -72, -72, 58, -72, -72, 58, 58, 58, 58, + -72, -72, -72, 59, -72, -72, 59, 59, 59, 59, - 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, - 58, 110, 58, 58, 58, 58, 58, -72 + 59, 59, 59, 59, 59, 59, 59, 59, 59, 111, + 59, 59, 59, 59, 59, 59, 59, -72 }, { 11, -73, -73, -73, -73, -73, -73, -73, -73, -73, - -73, -73, -73, 58, -73, -73, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 111, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, -73 + -73, -73, -73, 59, -73, -73, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, 59, 112, 59, + 59, 59, 59, 59, 59, 59, 59, -73 }, { 11, -74, -74, -74, -74, -74, -74, -74, -74, -74, - -74, -74, -74, 58, -74, -74, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 112, 58, -74 + -74, -74, -74, 59, -74, -74, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, + 59, 113, 59, 59, 59, 59, 59, -74 }, { 11, -75, -75, -75, -75, -75, -75, -75, -75, -75, - -75, -75, -75, 58, -75, -75, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, - 58, 58, 113, 58, 58, 58, 58, -75 + -75, -75, -75, 59, -75, -75, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 114, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, -75 }, { 11, -76, -76, -76, -76, -76, -76, -76, -76, -76, - -76, -76, -76, 58, -76, -76, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 114, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, -76 + -76, -76, -76, 59, -76, -76, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 115, 59, -76 }, { - 11, 77, 77, -77, 77, 77, 77, 77, 77, 77, - 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, + 11, -77, -77, -77, -77, -77, -77, -77, -77, -77, + -77, -77, -77, 59, -77, -77, 59, 59, 59, 59, - 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, - 77, 77, 77, 77, 77, 77, 77, 77 + 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, + 59, 59, 116, 59, 59, 59, 59, -77 }, { - 11, -78, 78, 79, -78, -78, -78, -78, -78, -78, - -78, -78, -78, -78, -78, -78, -78, -78, -78, -78, - -78, -78, -78, -78, -78, -78, -78, -78, -78, -78, - -78, -78, -78, -78, -78, -78, -78, -78 + 11, -78, -78, -78, -78, -78, -78, -78, -78, -78, + -78, -78, -78, 59, -78, -78, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 117, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, -78 }, { - 11, 80, -79, -79, 80, 80, 80, 80, 80, 80, - 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, - 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, - 80, 80, 80, 80, 80, 80, 80, 80 + 11, 79, 79, -79, 79, 79, 79, 79, 79, 79, + 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, + 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, + 79, 79, 79, 79, 79, 79, 79, 79 }, { - 11, -80, -80, -80, -80, -80, -80, -80, -80, -80, + 11, -80, 80, 81, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80 }, { - 11, 81, 81, 82, 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 + 11, 82, -81, -81, 82, 82, 82, 82, 82, 82, + 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, + 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, + 82, 82, 82, 82, 82, 82, 82, 82 }, { @@ -955,10 +956,10 @@ }, { - 11, -83, -83, 84, -83, -83, -83, -83, -83, -83, - -83, -83, -83, -83, -83, -83, -83, -83, -83, -83, - -83, -83, -83, -83, -83, -83, -83, -83, -83, -83, - -83, -83, -83, -83, -83, -83, -83, -83 + 11, 83, 83, 84, 83, -83, 83, 83, -83, 83, + 83, 83, 83, 83, 83, -83, 83, 83, 83, 83, + 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, + 83, 83, 83, 83, 83, 83, 83, 83 }, { @@ -970,17 +971,17 @@ }, { - 11, -85, -85, -85, -85, -85, -85, -85, -85, -85, + 11, -85, -85, 86, -85, -85, -85, -85, -85, -85, -85, -85, -85, -85, -85, -85, -85, -85, -85, -85, -85, -85, -85, -85, -85, -85, -85, -85, -85, -85, -85, -85, -85, -85, -85, -85, -85, -85 }, { - 11, 86, 86, -86, 86, 86, 86, 86, 86, 86, - 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, - 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, - 86, 86, 86, 86, 86, 86, 86, 86 + 11, -86, -86, -86, -86, -86, -86, -86, -86, -86, + -86, -86, -86, -86, -86, -86, -86, -86, -86, -86, + -86, -86, -86, -86, -86, -86, -86, -86, -86, -86, + -86, -86, -86, -86, -86, -86, -86, -86 }, { @@ -992,913 +993,972 @@ }, { - 11, -88, -88, -88, -88, -88, -88, -88, -88, -88, - -88, 115, 89, 89, -88, -88, 89, 89, 89, 89, - 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, - 89, 89, 89, 89, 89, 89, 89, -88 + 11, 88, 88, -88, 88, 88, 88, 88, 88, 88, + 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, + 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, + 88, 88, 88, 88, 88, 88, 88, 88 }, { 11, -89, -89, -89, -89, -89, -89, -89, -89, -89, - -89, 89, 89, 89, -89, -89, 89, 89, 89, 89, - 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, - 89, 89, 89, 89, 89, 89, 89, -89 + -89, -89, -89, -89, -89, -89, -89, -89, -89, -89, + -89, -89, -89, -89, -89, -89, -89, -89, -89, -89, + -89, -89, -89, -89, -89, -89, -89, -89 }, { 11, -90, -90, -90, -90, -90, -90, -90, -90, -90, - -90, -90, -90, -90, -90, -90, -90, -90, -90, -90, - -90, -90, -90, -90, -90, -90, -90, -90, -90, -90, - -90, -90, -90, -90, -90, -90, -90, -90 + -90, 118, 91, 91, -90, -90, 91, 91, 91, 91, + 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, + 91, 91, 91, 91, 91, 91, 91, -90 }, { 11, -91, -91, -91, -91, -91, -91, -91, -91, -91, - -91, 89, 89, 89, -91, -91, 89, 89, 89, 89, - 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, - 89, 89, 89, 89, 89, 89, 89, -91 + -91, 91, 91, 91, -91, -91, 91, 91, 91, 91, + 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, + 91, 91, 91, 91, 91, 91, 91, -91 }, { 11, -92, -92, -92, -92, -92, -92, -92, -92, -92, - -92, 89, 89, 89, -92, -92, 89, 89, 89, 89, + -92, -92, -92, -92, -92, -92, -92, -92, -92, -92, - 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, - 89, 89, 89, 89, 89, 89, 89, -92 + -92, -92, -92, -92, -92, -92, -92, -92, -92, -92, + -92, -92, -92, -92, -92, -92, -92, -92 }, { 11, -93, -93, -93, -93, -93, -93, -93, -93, -93, - -93, -93, -93, -93, -93, -93, -93, -93, -93, -93, - -93, -93, -93, -93, -93, -93, -93, -93, -93, -93, - -93, -93, -93, -93, -93, -93, -93, -93 + -93, 91, 91, 91, -93, -93, 91, 91, 91, 91, + 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, + 91, 91, 91, 91, 91, 91, 91, -93 }, { 11, -94, -94, -94, -94, -94, -94, -94, -94, -94, - -94, -94, -94, 58, -94, -94, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 116, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, -94 + -94, 91, 91, 91, -94, -94, 91, 91, 91, 91, + 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, + 91, 91, 91, 91, 91, 91, 91, -94 }, { 11, -95, -95, -95, -95, -95, -95, -95, -95, -95, - -95, -95, -95, 58, -95, -95, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 117, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, -95 + -95, -95, -95, -95, -95, -95, -95, -95, -95, -95, + -95, -95, -95, -95, -95, -95, -95, -95, -95, -95, + -95, -95, -95, -95, -95, -95, -95, -95 }, { 11, -96, -96, -96, -96, -96, -96, -96, -96, -96, - -96, -96, -96, 58, -96, -96, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, 118, 58, 58, - 58, 58, 58, 58, 58, 58, 58, -96 + -96, -96, -96, 59, -96, -96, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, 59, 59, 119, + 59, 59, 59, 59, 59, 59, 59, -96 }, { 11, -97, -97, -97, -97, -97, -97, -97, -97, -97, - -97, -97, -97, 58, -97, -97, 58, 58, 58, 58, + -97, -97, -97, 59, -97, -97, 59, 59, 59, 59, - 58, 58, 119, 58, 58, 58, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, -97 + 59, 59, 59, 59, 59, 59, 120, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, -97 }, { 11, -98, -98, -98, -98, -98, -98, -98, -98, -98, - -98, -98, -98, 58, -98, -98, 120, 121, 58, 58, - 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, -98 + -98, -98, -98, 59, -98, -98, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 121, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, -98 }, { 11, -99, -99, -99, -99, -99, -99, -99, -99, -99, - -99, -99, -99, 58, -99, -99, 58, 58, 58, 58, - 58, 122, 58, 58, 58, 58, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, -99 + -99, -99, -99, 59, -99, -99, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, 122, 59, 59, + 59, 59, 59, 59, 59, 59, 59, -99 }, { 11, -100, -100, -100, -100, -100, -100, -100, -100, -100, - -100, -100, -100, 58, -100, -100, 58, 58, 123, 58, - 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, -100 + -100, -100, -100, 59, -100, -100, 59, 59, 59, 59, + 59, 59, 123, 59, 59, 59, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, -100 }, { 11, -101, -101, -101, -101, -101, -101, -101, -101, -101, - -101, -101, -101, 58, -101, -101, 58, 58, 58, 124, - 58, 58, 58, 58, 58, 125, 58, 126, 58, 58, - 58, 58, 58, 58, 58, 58, 58, -101 + -101, -101, -101, 59, -101, -101, 124, 125, 59, 59, + 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, -101 }, { 11, -102, -102, -102, -102, -102, -102, -102, -102, -102, - -102, -102, -102, 58, -102, -102, 58, 58, 58, 58, + -102, -102, -102, 59, -102, -102, 59, 59, 59, 59, - 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, - 127, 58, 58, 58, 58, 58, 58, -102 + 59, 126, 59, 59, 59, 59, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, -102 }, { 11, -103, -103, -103, -103, -103, -103, -103, -103, -103, - -103, -103, -103, 58, -103, -103, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, -103 + -103, -103, -103, 59, -103, -103, 59, 59, 127, 59, + 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, -103 }, { 11, -104, -104, -104, -104, -104, -104, -104, -104, -104, - -104, -104, -104, 58, -104, -104, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, -104 + -104, -104, -104, 59, -104, -104, 59, 59, 59, 128, + 59, 59, 59, 59, 59, 129, 59, 130, 59, 59, + 59, 59, 59, 59, 59, 59, 59, -104 }, { 11, -105, -105, -105, -105, -105, -105, -105, -105, -105, - -105, -105, -105, 58, -105, -105, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, 58, 128, 58, - 58, 58, 58, 58, 58, 58, 58, -105 + -105, -105, -105, 59, -105, -105, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, + 131, 59, 59, 59, 59, 59, 59, -105 }, { 11, -106, -106, -106, -106, -106, -106, -106, -106, -106, - -106, -106, -106, 58, -106, -106, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 129, 58, -106 + -106, -106, -106, 59, -106, -106, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, -106 }, { 11, -107, -107, -107, -107, -107, -107, -107, -107, -107, - -107, -107, -107, 58, -107, -107, 58, 58, 58, 58, + -107, -107, -107, 59, -107, -107, 59, 59, 59, 59, - 58, 58, 58, 58, 58, 130, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, -107 + 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, -107 }, { 11, -108, -108, -108, -108, -108, -108, -108, -108, -108, - -108, -108, -108, 58, -108, -108, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, 131, 58, 58, - 58, 58, 58, 58, 58, 58, 58, -108 + -108, -108, -108, 59, -108, -108, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, 59, 132, 59, + 59, 59, 59, 59, 59, 59, 59, -108 }, { 11, -109, -109, -109, -109, -109, -109, -109, -109, -109, - -109, -109, -109, 58, -109, -109, 58, 58, 58, 58, - 58, 58, 58, 132, 58, 58, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, -109 + -109, -109, -109, 59, -109, -109, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 133, 59, -109 }, { 11, -110, -110, -110, -110, -110, -110, -110, -110, -110, - -110, -110, -110, 58, -110, -110, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 133, 58, -110 + -110, -110, -110, 59, -110, -110, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 134, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, -110 }, { 11, -111, -111, -111, -111, -111, -111, -111, -111, -111, - -111, -111, -111, 58, -111, -111, 58, 58, 58, 58, - 58, 134, 58, 58, 58, 58, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, -111 + -111, -111, -111, 59, -111, -111, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, 135, 59, 59, + 59, 59, 59, 59, 59, 59, 59, -111 }, { 11, -112, -112, -112, -112, -112, -112, -112, -112, -112, - -112, -112, -112, 58, -112, -112, 58, 58, 58, 58, + -112, -112, -112, 59, -112, -112, 59, 59, 59, 59, - 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, - 58, 58, 135, 58, 58, 58, 58, -112 + 59, 59, 59, 136, 59, 59, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, -112 }, { 11, -113, -113, -113, -113, -113, -113, -113, -113, -113, - -113, -113, -113, 58, -113, -113, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 136, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, -113 + -113, -113, -113, 59, -113, -113, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 137, 59, -113 }, { 11, -114, -114, -114, -114, -114, -114, -114, -114, -114, - -114, -114, -114, 58, -114, -114, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, - 58, 58, 58, 137, 58, 58, 58, -114 + -114, -114, -114, 59, -114, -114, 59, 59, 59, 59, + 59, 138, 59, 59, 59, 59, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, -114 }, { 11, -115, -115, -115, -115, -115, -115, -115, -115, -115, - -115, 89, 89, 89, -115, -115, 89, 89, 89, 89, - 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, - 89, 89, 89, 89, 89, 89, 89, -115 + -115, -115, -115, 59, -115, -115, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, + 59, 59, 139, 59, 59, 59, 59, -115 }, { 11, -116, -116, -116, -116, -116, -116, -116, -116, -116, - -116, -116, -116, 58, -116, -116, 58, 58, 58, 58, - 58, 138, 58, 58, 58, 58, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, -116 + -116, -116, -116, 59, -116, -116, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 140, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, -116 }, { 11, -117, -117, -117, -117, -117, -117, -117, -117, -117, - -117, -117, -117, 58, -117, -117, 58, 58, 58, 139, + -117, -117, -117, 59, -117, -117, 59, 59, 59, 59, - 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, -117 + 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, + 59, 59, 59, 141, 59, 59, 59, -117 }, { 11, -118, -118, -118, -118, -118, -118, -118, -118, -118, - -118, -118, -118, 58, -118, -118, 58, 58, 58, 58, - 58, 140, 58, 58, 58, 58, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, -118 + -118, 91, 91, 91, -118, -118, 91, 91, 91, 91, + 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, + 91, 91, 91, 91, 91, 91, 91, -118 }, { 11, -119, -119, -119, -119, -119, -119, -119, -119, -119, - -119, -119, -119, 58, -119, -119, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 141, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, -119 + -119, -119, -119, 59, -119, -119, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, + 59, 59, 142, 59, 59, 59, 59, -119 }, { 11, -120, -120, -120, -120, -120, -120, -120, -120, -120, - -120, -120, -120, 58, -120, -120, 58, 58, 142, 58, - 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, - 58, 58, 58, 58, 143, 58, 58, -120 + -120, -120, -120, 59, -120, -120, 59, 59, 59, 59, + 59, 143, 59, 59, 59, 59, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, -120 }, { 11, -121, -121, -121, -121, -121, -121, -121, -121, -121, - -121, -121, -121, 58, -121, -121, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 144, 58, -121 + -121, -121, -121, 59, -121, -121, 59, 59, 59, 144, + 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, -121 }, { 11, -122, -122, -122, -122, -122, -122, -122, -122, -122, - -122, -122, -122, 58, -122, -122, 58, 58, 58, 58, + -122, -122, -122, 59, -122, -122, 59, 59, 59, 59, - 58, 58, 58, 58, 58, 58, 58, 58, 145, 58, - 58, 58, 58, 58, 58, 58, 58, -122 + 59, 145, 59, 59, 59, 59, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, -122 }, { 11, -123, -123, -123, -123, -123, -123, -123, -123, -123, - -123, -123, -123, 58, -123, -123, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 146, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, -123 + -123, -123, -123, 59, -123, -123, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 146, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, -123 }, { 11, -124, -124, -124, -124, -124, -124, -124, -124, -124, - -124, -124, -124, 58, -124, -124, 58, 58, 58, 58, - 58, 58, 58, 58, 147, 58, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, -124 + -124, -124, -124, 59, -124, -124, 59, 59, 147, 59, + 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, + 59, 59, 59, 59, 148, 59, 59, -124 }, { 11, -125, -125, -125, -125, -125, -125, -125, -125, -125, - -125, -125, -125, 58, -125, -125, 58, 58, 58, 58, - 58, 58, 148, 58, 58, 58, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, -125 + -125, -125, -125, 59, -125, -125, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 149, 59, -125 }, { 11, -126, -126, -126, -126, -126, -126, -126, -126, -126, - -126, -126, -126, 58, -126, -126, 58, 58, 58, 58, - 58, 149, 58, 58, 58, 58, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, -126 + -126, -126, -126, 59, -126, -126, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, 59, 150, 59, + 59, 59, 59, 59, 59, 59, 59, -126 }, { 11, -127, -127, -127, -127, -127, -127, -127, -127, -127, - -127, -127, -127, 58, -127, -127, 58, 58, 58, 58, + -127, -127, -127, 59, -127, -127, 59, 59, 59, 59, - 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, -127 + 59, 59, 59, 59, 59, 59, 151, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, -127 }, { 11, -128, -128, -128, -128, -128, -128, -128, -128, -128, - -128, -128, -128, 58, -128, -128, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, 150, 58, 58, - 58, 58, 58, 58, 58, 58, 58, -128 + -128, -128, -128, 59, -128, -128, 59, 59, 59, 59, + 59, 59, 59, 59, 152, 59, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, -128 }, { 11, -129, -129, -129, -129, -129, -129, -129, -129, -129, - -129, -129, -129, 58, -129, -129, 58, 58, 58, 151, - 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, -129 + -129, -129, -129, 59, -129, -129, 59, 59, 59, 59, + 59, 59, 153, 59, 59, 59, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, -129 }, { 11, -130, -130, -130, -130, -130, -130, -130, -130, -130, - -130, -130, -130, 58, -130, -130, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, 58, 58, 152, - 58, 58, 58, 58, 58, 58, 58, -130 + -130, -130, -130, 59, -130, -130, 59, 59, 59, 59, + 59, 154, 59, 59, 59, 59, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, -130 }, { 11, -131, -131, -131, -131, -131, -131, -131, -131, -131, - -131, -131, -131, 58, -131, -131, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, - 153, 58, 58, 58, 58, 58, 58, -131 + -131, -131, -131, 59, -131, -131, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, -131 }, { 11, -132, -132, -132, -132, -132, -132, -132, -132, -132, - -132, -132, -132, 58, -132, -132, 58, 58, 58, 58, + -132, -132, -132, 59, -132, -132, 59, 59, 59, 59, - 58, 154, 58, 58, 58, 58, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, -132 + 59, 59, 59, 59, 59, 59, 59, 155, 59, 59, + 59, 59, 59, 59, 59, 59, 59, -132 }, { 11, -133, -133, -133, -133, -133, -133, -133, -133, -133, - -133, -133, -133, 58, -133, -133, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 155, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, -133 + -133, -133, -133, 59, -133, -133, 59, 59, 59, 156, + 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, -133 }, { 11, -134, -134, -134, -134, -134, -134, -134, -134, -134, - -134, -134, -134, 58, -134, -134, 58, 58, 58, 156, - 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, -134 + -134, -134, -134, 59, -134, -134, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, 59, 59, 157, + 59, 59, 59, 59, 59, 59, 59, -134 }, { 11, -135, -135, -135, -135, -135, -135, -135, -135, -135, - -135, -135, -135, 58, -135, -135, 58, 58, 58, 157, - 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, -135 + -135, -135, -135, 59, -135, -135, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, + 158, 59, 59, 59, 59, 59, 59, -135 }, { 11, -136, -136, -136, -136, -136, -136, -136, -136, -136, - -136, -136, -136, 58, -136, -136, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, 58, 158, 58, - 58, 58, 58, 58, 58, 58, 58, -136 + -136, -136, -136, 59, -136, -136, 59, 59, 59, 59, + 59, 159, 59, 59, 59, 59, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, -136 }, { 11, -137, -137, -137, -137, -137, -137, -137, -137, -137, - -137, -137, -137, 58, -137, -137, 58, 58, 58, 58, + -137, -137, -137, 59, -137, -137, 59, 59, 59, 59, - 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, - 58, 58, 58, 58, 159, 58, 58, -137 + 59, 59, 59, 59, 59, 160, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, -137 }, { 11, -138, -138, -138, -138, -138, -138, -138, -138, -138, - -138, -138, -138, 58, -138, -138, 58, 160, 58, 58, - 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, -138 + -138, -138, -138, 59, -138, -138, 59, 59, 59, 161, + 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, -138 }, { 11, -139, -139, -139, -139, -139, -139, -139, -139, -139, - -139, -139, -139, 58, -139, -139, 58, 58, 58, 58, - 58, 161, 58, 58, 58, 58, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, -139 + -139, -139, -139, 59, -139, -139, 59, 59, 59, 162, + 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, -139 }, { 11, -140, -140, -140, -140, -140, -140, -140, -140, -140, - -140, -140, -140, 58, -140, -140, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, 58, 162, 58, - 58, 58, 58, 58, 58, 58, 58, -140 + -140, -140, -140, 59, -140, -140, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, 59, 163, 59, + 59, 59, 59, 59, 59, 59, 59, -140 }, { 11, -141, -141, -141, -141, -141, -141, -141, -141, -141, - -141, -141, -141, 58, -141, -141, 58, 58, 58, 58, - 58, 58, 58, 163, 58, 58, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, -141 + -141, -141, -141, 59, -141, -141, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, + 59, 59, 59, 59, 164, 59, 59, -141 }, { 11, -142, -142, -142, -142, -142, -142, -142, -142, -142, - -142, -142, -142, 58, -142, -142, 58, 58, 58, 58, + -142, -142, -142, 59, -142, -142, 59, 59, 59, 59, - 58, 58, 58, 58, 58, 58, 58, 58, 58, 164, - 58, 58, 58, 58, 58, 58, 58, -142 + 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 165, 59, -142 }, { 11, -143, -143, -143, -143, -143, -143, -143, -143, -143, - -143, -143, -143, 58, -143, -143, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, - 58, 58, 165, 58, 58, 58, 58, -143 + -143, -143, -143, 59, -143, -143, 59, 166, 59, 59, + 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, -143 }, { 11, -144, -144, -144, -144, -144, -144, -144, -144, -144, - -144, -144, -144, 58, -144, -144, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 166, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, -144 + -144, -144, -144, 59, -144, -144, 59, 59, 59, 59, + 59, 167, 59, 59, 59, 59, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, -144 }, { 11, -145, -145, -145, -145, -145, -145, -145, -145, -145, - -145, -145, -145, 58, -145, -145, 58, 58, 58, 58, - 167, 58, 58, 58, 58, 58, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, -145 + -145, -145, -145, 59, -145, -145, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, 59, 168, 59, + 59, 59, 59, 59, 59, 59, 59, -145 }, { 11, -146, -146, -146, -146, -146, -146, -146, -146, -146, - -146, -146, -146, 58, -146, -146, 58, 58, 58, 58, - 58, 168, 58, 58, 58, 58, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, -146 + -146, -146, -146, 59, -146, -146, 59, 59, 59, 59, + 59, 59, 59, 169, 59, 59, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, -146 }, { 11, -147, -147, -147, -147, -147, -147, -147, -147, -147, - -147, -147, -147, 58, -147, -147, 58, 58, 58, 58, + -147, -147, -147, 59, -147, -147, 59, 59, 59, 59, - 58, 58, 58, 58, 58, 58, 58, 58, 58, 169, - 58, 58, 58, 58, 58, 58, 58, -147 + 59, 59, 59, 59, 59, 59, 59, 59, 59, 170, + 59, 59, 59, 59, 59, 59, 59, -147 }, { 11, -148, -148, -148, -148, -148, -148, -148, -148, -148, - -148, -148, -148, 58, -148, -148, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, -148 + -148, -148, -148, 59, -148, -148, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, + 59, 59, 171, 59, 59, 59, 59, -148 }, { 11, -149, -149, -149, -149, -149, -149, -149, -149, -149, - -149, -149, -149, 58, -149, -149, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, 58, 170, 58, - 58, 58, 58, 58, 58, 58, 58, -149 + -149, -149, -149, 59, -149, -149, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 172, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, -149 }, { 11, -150, -150, -150, -150, -150, -150, -150, -150, -150, - -150, -150, -150, 58, -150, -150, 58, 58, 58, 58, - 58, 171, 58, 58, 58, 58, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, -150 + -150, -150, -150, 59, -150, -150, 59, 59, 59, 59, + 173, 59, 59, 59, 59, 59, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, -150 }, { 11, -151, -151, -151, -151, -151, -151, -151, -151, -151, - -151, -151, -151, 58, -151, -151, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, 58, 58, 172, - 58, 58, 58, 58, 58, 58, 58, -151 + -151, -151, -151, 59, -151, -151, 59, 59, 59, 59, + 59, 174, 59, 59, 59, 59, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, -151 }, { 11, -152, -152, -152, -152, -152, -152, -152, -152, -152, - -152, -152, -152, 58, -152, -152, 58, 58, 58, 58, + -152, -152, -152, 59, -152, -152, 59, 59, 59, 59, - 58, 58, 58, 58, 58, 58, 58, 58, 173, 58, - 58, 58, 58, 58, 58, 58, 58, -152 + 59, 59, 59, 59, 59, 59, 59, 59, 59, 175, + 59, 59, 59, 59, 59, 59, 59, -152 }, { 11, -153, -153, -153, -153, -153, -153, -153, -153, -153, - -153, -153, -153, 58, -153, -153, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, - 58, 58, 58, 58, 174, 58, 58, -153 + -153, -153, -153, 59, -153, -153, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, -153 }, { 11, -154, -154, -154, -154, -154, -154, -154, -154, -154, - -154, -154, -154, 58, -154, -154, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, -154 + -154, -154, -154, 59, -154, -154, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, 59, 176, 59, + 59, 59, 59, 59, 59, 59, 59, -154 }, { 11, -155, -155, -155, -155, -155, -155, -155, -155, -155, - -155, -155, -155, 58, -155, -155, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, - 58, 58, 175, 58, 58, 58, 58, -155 + -155, -155, -155, 59, -155, -155, 59, 59, 59, 59, + 59, 177, 59, 59, 59, 59, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, -155 }, { 11, -156, -156, -156, -156, -156, -156, -156, -156, -156, - -156, -156, -156, 58, -156, -156, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, - 58, 58, 58, 58, 176, 58, 58, -156 + -156, -156, -156, 59, -156, -156, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, 59, 59, 178, + 59, 59, 59, 59, 59, 59, 59, -156 }, { 11, -157, -157, -157, -157, -157, -157, -157, -157, -157, - -157, -157, -157, 58, -157, -157, 58, 58, 58, 58, + -157, -157, -157, 59, -157, -157, 59, 59, 59, 59, - 58, 177, 58, 58, 58, 58, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, -157 + 59, 59, 59, 59, 59, 59, 59, 59, 179, 59, + 59, 59, 59, 59, 59, 59, 59, -157 }, { 11, -158, -158, -158, -158, -158, -158, -158, -158, -158, - -158, -158, -158, 58, -158, -158, 58, 58, 58, 58, - 58, 58, 58, 178, 58, 58, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, -158 + -158, -158, -158, 59, -158, -158, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, + 59, 59, 59, 59, 180, 59, 59, -158 }, { 11, -159, -159, -159, -159, -159, -159, -159, -159, -159, - -159, -159, -159, 58, -159, -159, 58, 179, 58, 58, - 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, -159 + -159, -159, -159, 59, -159, -159, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, -159 }, { 11, -160, -160, -160, -160, -160, -160, -160, -160, -160, - -160, -160, -160, 58, -160, -160, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, 58, 180, 58, - 58, 58, 58, 58, 58, 58, 58, -160 + -160, -160, -160, 59, -160, -160, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, + 59, 59, 181, 59, 59, 59, 59, -160 }, { 11, -161, -161, -161, -161, -161, -161, -161, -161, -161, - -161, -161, -161, 58, -161, -161, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, -161 + -161, -161, -161, 59, -161, -161, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, + 59, 59, 59, 59, 182, 59, 59, -161 }, { 11, -162, -162, -162, -162, -162, -162, -162, -162, -162, - -162, -162, -162, 58, -162, -162, 58, 58, 58, 58, + -162, -162, -162, 59, -162, -162, 59, 59, 59, 59, - 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, - 58, 58, 58, 58, 181, 58, 58, -162 + 59, 183, 59, 59, 59, 59, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, -162 }, { 11, -163, -163, -163, -163, -163, -163, -163, -163, -163, - -163, -163, -163, 58, -163, -163, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, -163 + -163, -163, -163, 59, -163, -163, 59, 59, 59, 59, + 59, 59, 59, 184, 59, 59, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, -163 }, { 11, -164, -164, -164, -164, -164, -164, -164, -164, -164, - -164, -164, -164, 58, -164, -164, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, 58, 58, 182, - 58, 58, 58, 58, 58, 58, 58, -164 + -164, -164, -164, 59, -164, -164, 59, 185, 59, 59, + 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, -164 }, { 11, -165, -165, -165, -165, -165, -165, -165, -165, -165, - -165, -165, -165, 58, -165, -165, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 183, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, -165 + -165, -165, -165, 59, -165, -165, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 186, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, -165 }, { 11, -166, -166, -166, -166, -166, -166, -166, -166, -166, - -166, -166, -166, 58, -166, -166, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, - 58, 58, 58, 58, 184, 58, 58, -166 + -166, -166, -166, 59, -166, -166, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, 59, 187, 59, + 59, 59, 59, 59, 59, 59, 59, -166 }, { 11, -167, -167, -167, -167, -167, -167, -167, -167, -167, - -167, -167, -167, 58, -167, -167, 58, 58, 58, 58, + -167, -167, -167, 59, -167, -167, 59, 59, 59, 59, - 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, - 58, 58, 58, 185, 58, 58, 58, -167 + 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, -167 }, { 11, -168, -168, -168, -168, -168, -168, -168, -168, -168, - -168, -168, -168, 58, -168, -168, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, -168 + -168, -168, -168, 59, -168, -168, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, + 59, 59, 59, 59, 188, 59, 59, -168 }, { 11, -169, -169, -169, -169, -169, -169, -169, -169, -169, - -169, -169, -169, 58, -169, -169, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 186, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, -169 + -169, -169, -169, 59, -169, -169, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, -169 }, { 11, -170, -170, -170, -170, -170, -170, -170, -170, -170, - -170, -170, -170, 58, -170, -170, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 187, 58, -170 + -170, -170, -170, 59, -170, -170, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, 59, 59, 189, + 59, 59, 59, 59, 59, 59, 59, -170 }, { 11, -171, -171, -171, -171, -171, -171, -171, -171, -171, - -171, -171, -171, 58, -171, -171, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, 58, 188, 58, - 58, 58, 58, 58, 58, 58, 58, -171 + -171, -171, -171, 59, -171, -171, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 190, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, -171 }, { 11, -172, -172, -172, -172, -172, -172, -172, -172, -172, - -172, -172, -172, 58, -172, -172, 58, 58, 58, 58, + -172, -172, -172, 59, -172, -172, 59, 59, 59, 59, - 58, 58, 58, 58, 58, 58, 58, 58, 189, 58, - 58, 58, 58, 58, 58, 58, 58, -172 + 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, + 59, 59, 59, 59, 191, 59, 59, -172 }, { 11, -173, -173, -173, -173, -173, -173, -173, -173, -173, - -173, -173, -173, 58, -173, -173, 58, 190, 58, 58, - 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, -173 + -173, -173, -173, 59, -173, -173, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, + 59, 59, 59, 192, 59, 59, 59, -173 }, { 11, -174, -174, -174, -174, -174, -174, -174, -174, -174, - -174, -174, -174, 58, -174, -174, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, -174 + -174, -174, -174, 59, -174, -174, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, -174 }, { 11, -175, -175, -175, -175, -175, -175, -175, -175, -175, - -175, -175, -175, 58, -175, -175, 58, 58, 58, 58, - 58, 191, 58, 58, 58, 58, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, -175 + -175, -175, -175, 59, -175, -175, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 193, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, -175 }, { 11, -176, -176, -176, -176, -176, -176, -176, -176, -176, - -176, -176, -176, 58, -176, -176, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, -176 + -176, -176, -176, 59, -176, -176, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 194, 59, -176 }, { 11, -177, -177, -177, -177, -177, -177, -177, -177, -177, - -177, -177, -177, 58, -177, -177, 58, 58, 58, 58, + -177, -177, -177, 59, -177, -177, 59, 59, 59, 59, - 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, -177 + 59, 59, 59, 59, 59, 59, 59, 59, 195, 59, + 59, 59, 59, 59, 59, 59, 59, -177 }, { 11, -178, -178, -178, -178, -178, -178, -178, -178, -178, - -178, -178, -178, 58, -178, -178, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, -178 + -178, -178, -178, 59, -178, -178, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, 59, 196, 59, + 59, 59, 59, 59, 59, 59, 59, -178 }, { 11, -179, -179, -179, -179, -179, -179, -179, -179, -179, - -179, -179, -179, 58, -179, -179, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, - 58, 58, 58, 58, 192, 58, 58, -179 + -179, -179, -179, 59, -179, -179, 59, 197, 59, 59, + 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, -179 }, { 11, -180, -180, -180, -180, -180, -180, -180, -180, -180, - -180, -180, -180, 58, -180, -180, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, -180 + -180, -180, -180, 59, -180, -180, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, -180 }, { 11, -181, -181, -181, -181, -181, -181, -181, -181, -181, - -181, -181, -181, 58, -181, -181, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, -181 + -181, -181, -181, 59, -181, -181, 59, 59, 59, 59, + 59, 198, 59, 59, 59, 59, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, -181 }, { 11, -182, -182, -182, -182, -182, -182, -182, -182, -182, - -182, -182, -182, 58, -182, -182, 58, 58, 58, 58, + -182, -182, -182, 59, -182, -182, 59, 59, 59, 59, - 58, 58, 58, 58, 58, 58, 193, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, -182 + 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, -182 }, { 11, -183, -183, -183, -183, -183, -183, -183, -183, -183, - -183, -183, -183, 58, -183, -183, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, - 58, 58, 58, 194, 58, 58, 58, -183 + -183, -183, -183, 59, -183, -183, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, -183 }, { 11, -184, -184, -184, -184, -184, -184, -184, -184, -184, - -184, -184, -184, 58, -184, -184, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, -184 + -184, -184, -184, 59, -184, -184, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, -184 }, { 11, -185, -185, -185, -185, -185, -185, -185, -185, -185, - -185, -185, -185, 58, -185, -185, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, -185 + -185, -185, -185, 59, -185, -185, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, + 59, 59, 59, 59, 199, 59, 59, -185 }, { 11, -186, -186, -186, -186, -186, -186, -186, -186, -186, - -186, -186, -186, 58, -186, -186, 58, 58, 58, 195, - 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, -186 + -186, -186, -186, 59, -186, -186, 59, 59, 59, 59, + 59, 200, 59, 59, 59, 59, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, -186 }, { 11, -187, -187, -187, -187, -187, -187, -187, -187, -187, - -187, -187, -187, 58, -187, -187, 58, 58, 58, 58, + -187, -187, -187, 59, -187, -187, 59, 59, 59, 59, - 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, -187 + 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, -187 }, { 11, -188, -188, -188, -188, -188, -188, -188, -188, -188, - -188, -188, -188, 58, -188, -188, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 196, 58, -188 + -188, -188, -188, 59, -188, -188, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, -188 }, { 11, -189, -189, -189, -189, -189, -189, -189, -189, -189, - -189, -189, -189, 58, -189, -189, 58, 58, 58, 58, - 58, 58, 197, 58, 58, 58, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, -189 + -189, -189, -189, 59, -189, -189, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 201, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, -189 }, { 11, -190, -190, -190, -190, -190, -190, -190, -190, -190, - -190, -190, -190, 58, -190, -190, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 198, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, -190 + -190, -190, -190, 59, -190, -190, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, + 59, 59, 59, 202, 59, 59, 59, -190 }, { 11, -191, -191, -191, -191, -191, -191, -191, -191, -191, - -191, -191, -191, 58, -191, -191, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, - 58, 58, 58, 199, 58, 58, 58, -191 + -191, -191, -191, 59, -191, -191, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, -191 }, { 11, -192, -192, -192, -192, -192, -192, -192, -192, -192, - -192, -192, -192, 58, -192, -192, 58, 58, 58, 58, + -192, -192, -192, 59, -192, -192, 59, 59, 59, 59, - 58, 200, 58, 58, 58, 58, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, -192 + 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, -192 }, { 11, -193, -193, -193, -193, -193, -193, -193, -193, -193, - -193, -193, -193, 58, -193, -193, 58, 58, 58, 58, - 58, 201, 58, 58, 58, 58, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, -193 + -193, -193, -193, 59, -193, -193, 59, 59, 59, 203, + 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, -193 }, { 11, -194, -194, -194, -194, -194, -194, -194, -194, -194, - -194, -194, -194, 58, -194, -194, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, - 58, 58, 58, 58, 202, 58, 58, -194 + -194, -194, -194, 59, -194, -194, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, -194 }, { 11, -195, -195, -195, -195, -195, -195, -195, -195, -195, - -195, -195, -195, 58, -195, -195, 58, 58, 58, 58, - 58, 203, 58, 58, 58, 58, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, -195 + -195, -195, -195, 59, -195, -195, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 204, 59, -195 }, { 11, -196, -196, -196, -196, -196, -196, -196, -196, -196, - -196, -196, -196, 58, -196, -196, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, -196 + -196, -196, -196, 59, -196, -196, 59, 59, 59, 59, + 59, 59, 205, 59, 59, 59, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, -196 }, { 11, -197, -197, -197, -197, -197, -197, -197, -197, -197, - -197, -197, -197, 58, -197, -197, 58, 58, 58, 58, + -197, -197, -197, 59, -197, -197, 59, 59, 59, 59, - 58, 58, 58, 58, 58, 204, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, -197 + 59, 59, 59, 59, 59, 59, 206, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, -197 }, { 11, -198, -198, -198, -198, -198, -198, -198, -198, -198, - -198, -198, -198, 58, -198, -198, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, -198 + -198, -198, -198, 59, -198, -198, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, + 59, 59, 59, 207, 59, 59, 59, -198 }, { 11, -199, -199, -199, -199, -199, -199, -199, -199, -199, - -199, -199, -199, 58, -199, -199, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, -199 + -199, -199, -199, 59, -199, -199, 59, 59, 59, 59, + 59, 208, 59, 59, 59, 59, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, -199 }, { 11, -200, -200, -200, -200, -200, -200, -200, -200, -200, - -200, -200, -200, 58, -200, -200, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, -200 + -200, -200, -200, 59, -200, -200, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, -200 }, { 11, -201, -201, -201, -201, -201, -201, -201, -201, -201, - -201, -201, -201, 58, -201, -201, 58, 205, 58, 58, - 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, -201 + -201, -201, -201, 59, -201, -201, 59, 59, 59, 59, + 59, 209, 59, 59, 59, 59, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, -201 }, { 11, -202, -202, -202, -202, -202, -202, -202, -202, -202, - -202, -202, -202, 58, -202, -202, 58, 206, 58, 58, + -202, -202, -202, 59, -202, -202, 59, 59, 59, 59, - 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, -202 + 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, + 59, 59, 59, 59, 210, 59, 59, -202 }, { 11, -203, -203, -203, -203, -203, -203, -203, -203, -203, - -203, -203, -203, 58, -203, -203, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, -203 + -203, -203, -203, 59, -203, -203, 59, 59, 59, 59, + 59, 211, 59, 59, 59, 59, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, -203 }, { 11, -204, -204, -204, -204, -204, -204, -204, -204, -204, - -204, -204, -204, 58, -204, -204, 58, 58, 58, 58, - 58, 58, 58, 207, 58, 58, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, -204 + -204, -204, -204, 59, -204, -204, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, -204 }, { 11, -205, -205, -205, -205, -205, -205, -205, -205, -205, - -205, -205, -205, 58, -205, -205, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, 58, 208, 58, - 58, 58, 58, 58, 58, 58, 58, -205 + -205, -205, -205, 59, -205, -205, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 212, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, -205 }, { 11, -206, -206, -206, -206, -206, -206, -206, -206, -206, - -206, -206, -206, 58, -206, -206, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, - 58, 58, 58, 58, 209, 58, 58, -206 + -206, -206, -206, 59, -206, -206, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, -206 }, { 11, -207, -207, -207, -207, -207, -207, -207, -207, -207, - -207, -207, -207, 58, -207, -207, 58, 58, 58, 58, + -207, -207, -207, 59, -207, -207, 59, 59, 59, 59, - 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, -207 + 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, -207 }, { 11, -208, -208, -208, -208, -208, -208, -208, -208, -208, - -208, -208, -208, 58, -208, -208, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, -208 + -208, -208, -208, 59, -208, -208, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, -208 }, { 11, -209, -209, -209, -209, -209, -209, -209, -209, -209, - -209, -209, -209, 58, -209, -209, 58, 58, 58, 58, - 58, 210, 58, 58, 58, 58, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, -209 + -209, -209, -209, 59, -209, -209, 59, 213, 59, 59, + 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, -209 }, { 11, -210, -210, -210, -210, -210, -210, -210, -210, -210, - -210, -210, -210, 58, -210, -210, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, -210 + -210, -210, -210, 59, -210, -210, 59, 214, 59, 59, + 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, -210 + }, + + { + 11, -211, -211, -211, -211, -211, -211, -211, -211, -211, + -211, -211, -211, 59, -211, -211, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, -211 + }, + + { + 11, -212, -212, -212, -212, -212, -212, -212, -212, -212, + -212, -212, -212, 59, -212, -212, 59, 59, 59, 59, + + 59, 59, 59, 215, 59, 59, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, -212 + }, + + { + 11, -213, -213, -213, -213, -213, -213, -213, -213, -213, + -213, -213, -213, 59, -213, -213, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, 59, 216, 59, + 59, 59, 59, 59, 59, 59, 59, -213 + }, + + { + 11, -214, -214, -214, -214, -214, -214, -214, -214, -214, + -214, -214, -214, 59, -214, -214, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, + 59, 59, 59, 59, 217, 59, 59, -214 + + }, + + { + 11, -215, -215, -215, -215, -215, -215, -215, -215, -215, + -215, -215, -215, 59, -215, -215, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, -215 + }, + + { + 11, -216, -216, -216, -216, -216, -216, -216, -216, -216, + -216, -216, -216, 59, -216, -216, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, -216 + }, + + { + 11, -217, -217, -217, -217, -217, -217, -217, -217, -217, + -217, -217, -217, 59, -217, -217, 59, 59, 59, 59, + + 59, 218, 59, 59, 59, 59, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, -217 + }, + + { + 11, -218, -218, -218, -218, -218, -218, -218, -218, -218, + -218, -218, -218, 59, -218, -218, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, -218 }, } ; @@ -1918,8 +1978,8 @@ *yy_cp = '\0'; \ (yy_c_buf_p) = yy_cp; -#define YY_NUM_RULES 64 -#define YY_END_OF_BUFFER 65 +#define YY_NUM_RULES 65 +#define YY_END_OF_BUFFER 66 /* This struct is not used in this scanner, but its presence is necessary. */ struct yy_trans_info @@ -1927,31 +1987,32 @@ flex_int32_t yy_verify; flex_int32_t yy_nxt; }; -static yyconst flex_int16_t yy_accept[211] = +static yyconst flex_int16_t yy_accept[219] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 65, 5, 4, 3, 2, 36, 37, 35, 35, 35, - 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, - 63, 60, 62, 55, 59, 58, 57, 53, 48, 42, - 47, 51, 53, 40, 41, 50, 50, 43, 53, 50, - 50, 53, 4, 3, 2, 2, 1, 35, 35, 35, - 35, 35, 35, 35, 16, 35, 35, 35, 35, 35, - 35, 35, 35, 35, 35, 35, 63, 60, 62, 61, - 55, 54, 57, 56, 44, 51, 38, 50, 50, 52, - 45, 46, 39, 35, 35, 35, 35, 35, 35, 35, - - 35, 35, 30, 29, 35, 35, 35, 35, 35, 35, - 35, 35, 35, 35, 49, 25, 35, 35, 35, 35, - 35, 35, 35, 35, 35, 35, 15, 35, 7, 35, - 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, - 35, 35, 35, 35, 35, 35, 35, 17, 35, 35, - 35, 35, 35, 34, 35, 35, 35, 35, 35, 35, - 10, 35, 13, 35, 35, 35, 35, 33, 35, 35, - 35, 35, 35, 22, 35, 32, 9, 31, 35, 26, - 12, 35, 35, 21, 18, 35, 8, 35, 35, 35, - 35, 35, 27, 35, 35, 6, 35, 20, 19, 23, + 66, 5, 4, 3, 2, 37, 38, 36, 36, 36, + 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, + 36, 64, 61, 63, 56, 60, 59, 58, 54, 49, + 43, 48, 52, 54, 41, 42, 51, 51, 44, 54, + 51, 51, 54, 4, 3, 2, 2, 1, 36, 36, + 36, 36, 36, 36, 36, 36, 16, 36, 36, 36, + 36, 36, 36, 36, 36, 36, 36, 36, 64, 61, + 63, 62, 56, 55, 58, 57, 45, 52, 39, 51, + 51, 53, 46, 47, 40, 36, 36, 36, 36, 36, + + 36, 36, 36, 36, 36, 30, 29, 36, 36, 36, + 36, 36, 36, 36, 36, 36, 36, 50, 36, 25, + 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, + 15, 36, 7, 36, 36, 36, 36, 36, 36, 36, + 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, + 36, 36, 17, 36, 36, 36, 36, 36, 34, 36, + 36, 36, 36, 36, 36, 36, 10, 36, 13, 36, + 36, 36, 36, 33, 36, 36, 36, 36, 36, 22, + 36, 32, 9, 31, 36, 36, 26, 12, 36, 36, + 21, 18, 36, 8, 36, 36, 36, 36, 36, 35, - 35, 35, 11, 35, 35, 35, 14, 28, 35, 24 + 27, 36, 36, 6, 36, 20, 19, 23, 36, 36, + 11, 36, 36, 36, 14, 28, 36, 24 } ; static yyconst flex_int32_t yy_ec[256] = @@ -1997,7 +2058,9 @@ #define YY_MORE_ADJ 0 #define YY_RESTORE_YY_MORE_OFFSET char *zconftext; +#line 1 "scripts/kconfig/zconf.l" +#line 5 "scripts/kconfig/zconf.l" /* * Copyright (C) 2002 Roman Zippel * Released under the terms of the GNU GPL v2.0. @@ -2059,6 +2122,7 @@ memcpy(text, str, size); text[size] = 0; } +#line 2126 "scripts/kconfig/lex.zconf.c" #define INITIAL 0 #define COMMAND 1 @@ -2066,11 +2130,13 @@ #define STRING 3 #define PARAM 4 +#ifndef YY_NO_UNISTD_H /* Special case for "unistd.h", since it is non-ANSI. We include it way * down here because we want the user's section 1 to have been scanned first. * The user has a chance to override it with an option. */ #include +#endif #ifndef YY_EXTRA_TYPE #define YY_EXTRA_TYPE void * @@ -2195,9 +2261,13 @@ register char *yy_cp, *yy_bp; register int yy_act; +#line 71 "scripts/kconfig/zconf.l" + int str = 0; int ts, i; +#line 2270 "scripts/kconfig/lex.zconf.c" + if ( (yy_init) ) { (yy_init) = 0; @@ -2255,25 +2325,30 @@ case 1: /* rule 1 can match eol */ YY_RULE_SETUP +#line 75 "scripts/kconfig/zconf.l" current_file->lineno++; YY_BREAK case 2: YY_RULE_SETUP +#line 76 "scripts/kconfig/zconf.l" YY_BREAK case 3: /* rule 3 can match eol */ YY_RULE_SETUP +#line 78 "scripts/kconfig/zconf.l" current_file->lineno++; return T_EOL; YY_BREAK case 4: YY_RULE_SETUP +#line 80 "scripts/kconfig/zconf.l" { BEGIN(COMMAND); } YY_BREAK case 5: YY_RULE_SETUP +#line 84 "scripts/kconfig/zconf.l" { unput(zconftext[0]); BEGIN(COMMAND); @@ -2282,256 +2357,317 @@ case 6: YY_RULE_SETUP +#line 91 "scripts/kconfig/zconf.l" BEGIN(PARAM); return T_MAINMENU; YY_BREAK case 7: YY_RULE_SETUP +#line 92 "scripts/kconfig/zconf.l" BEGIN(PARAM); return T_MENU; YY_BREAK case 8: YY_RULE_SETUP +#line 93 "scripts/kconfig/zconf.l" BEGIN(PARAM); return T_ENDMENU; YY_BREAK case 9: YY_RULE_SETUP +#line 94 "scripts/kconfig/zconf.l" BEGIN(PARAM); return T_SOURCE; YY_BREAK case 10: YY_RULE_SETUP +#line 95 "scripts/kconfig/zconf.l" BEGIN(PARAM); return T_CHOICE; YY_BREAK case 11: YY_RULE_SETUP +#line 96 "scripts/kconfig/zconf.l" BEGIN(PARAM); return T_ENDCHOICE; YY_BREAK case 12: YY_RULE_SETUP +#line 97 "scripts/kconfig/zconf.l" BEGIN(PARAM); return T_COMMENT; YY_BREAK case 13: YY_RULE_SETUP +#line 98 "scripts/kconfig/zconf.l" BEGIN(PARAM); return T_CONFIG; YY_BREAK case 14: YY_RULE_SETUP +#line 99 "scripts/kconfig/zconf.l" BEGIN(PARAM); return T_MENUCONFIG; YY_BREAK case 15: YY_RULE_SETUP +#line 100 "scripts/kconfig/zconf.l" BEGIN(PARAM); return T_HELP; YY_BREAK case 16: YY_RULE_SETUP +#line 101 "scripts/kconfig/zconf.l" BEGIN(PARAM); return T_IF; YY_BREAK case 17: YY_RULE_SETUP +#line 102 "scripts/kconfig/zconf.l" BEGIN(PARAM); return T_ENDIF; YY_BREAK case 18: YY_RULE_SETUP +#line 103 "scripts/kconfig/zconf.l" BEGIN(PARAM); return T_DEPENDS; YY_BREAK case 19: YY_RULE_SETUP +#line 104 "scripts/kconfig/zconf.l" BEGIN(PARAM); return T_REQUIRES; YY_BREAK case 20: YY_RULE_SETUP +#line 105 "scripts/kconfig/zconf.l" BEGIN(PARAM); return T_OPTIONAL; YY_BREAK case 21: YY_RULE_SETUP +#line 106 "scripts/kconfig/zconf.l" BEGIN(PARAM); return T_DEFAULT; YY_BREAK case 22: YY_RULE_SETUP +#line 107 "scripts/kconfig/zconf.l" BEGIN(PARAM); return T_PROMPT; YY_BREAK case 23: YY_RULE_SETUP +#line 108 "scripts/kconfig/zconf.l" BEGIN(PARAM); return T_TRISTATE; YY_BREAK case 24: YY_RULE_SETUP +#line 109 "scripts/kconfig/zconf.l" BEGIN(PARAM); return T_DEF_TRISTATE; YY_BREAK case 25: YY_RULE_SETUP +#line 110 "scripts/kconfig/zconf.l" BEGIN(PARAM); return T_BOOLEAN; YY_BREAK case 26: YY_RULE_SETUP +#line 111 "scripts/kconfig/zconf.l" BEGIN(PARAM); return T_BOOLEAN; YY_BREAK case 27: YY_RULE_SETUP +#line 112 "scripts/kconfig/zconf.l" BEGIN(PARAM); return T_DEF_BOOLEAN; YY_BREAK case 28: YY_RULE_SETUP +#line 113 "scripts/kconfig/zconf.l" BEGIN(PARAM); return T_DEF_BOOLEAN; YY_BREAK case 29: YY_RULE_SETUP +#line 114 "scripts/kconfig/zconf.l" BEGIN(PARAM); return T_INT; YY_BREAK case 30: YY_RULE_SETUP +#line 115 "scripts/kconfig/zconf.l" BEGIN(PARAM); return T_HEX; YY_BREAK case 31: YY_RULE_SETUP +#line 116 "scripts/kconfig/zconf.l" BEGIN(PARAM); return T_STRING; YY_BREAK case 32: YY_RULE_SETUP +#line 117 "scripts/kconfig/zconf.l" BEGIN(PARAM); return T_SELECT; YY_BREAK case 33: YY_RULE_SETUP +#line 118 "scripts/kconfig/zconf.l" BEGIN(PARAM); return T_SELECT; YY_BREAK case 34: YY_RULE_SETUP +#line 119 "scripts/kconfig/zconf.l" BEGIN(PARAM); return T_RANGE; YY_BREAK case 35: YY_RULE_SETUP +#line 120 "scripts/kconfig/zconf.l" +BEGIN(PARAM); return T_AUTORULE; + YY_BREAK +case 36: +YY_RULE_SETUP +#line 121 "scripts/kconfig/zconf.l" { alloc_string(zconftext, zconfleng); zconflval.string = text; return T_WORD; } YY_BREAK -case 36: +case 37: YY_RULE_SETUP +#line 126 "scripts/kconfig/zconf.l" YY_BREAK -case 37: -/* rule 37 can match eol */ +case 38: +/* rule 38 can match eol */ YY_RULE_SETUP +#line 127 "scripts/kconfig/zconf.l" current_file->lineno++; BEGIN(INITIAL); YY_BREAK -case 38: + +case 39: YY_RULE_SETUP +#line 131 "scripts/kconfig/zconf.l" return T_AND; YY_BREAK -case 39: +case 40: YY_RULE_SETUP +#line 132 "scripts/kconfig/zconf.l" return T_OR; YY_BREAK -case 40: +case 41: YY_RULE_SETUP +#line 133 "scripts/kconfig/zconf.l" return T_OPEN_PAREN; YY_BREAK -case 41: +case 42: YY_RULE_SETUP +#line 134 "scripts/kconfig/zconf.l" return T_CLOSE_PAREN; YY_BREAK -case 42: +case 43: YY_RULE_SETUP +#line 135 "scripts/kconfig/zconf.l" return T_NOT; YY_BREAK -case 43: +case 44: YY_RULE_SETUP +#line 136 "scripts/kconfig/zconf.l" return T_EQUAL; YY_BREAK -case 44: +case 45: YY_RULE_SETUP +#line 137 "scripts/kconfig/zconf.l" return T_UNEQUAL; YY_BREAK -case 45: +case 46: YY_RULE_SETUP +#line 138 "scripts/kconfig/zconf.l" return T_IF; YY_BREAK -case 46: +case 47: YY_RULE_SETUP +#line 139 "scripts/kconfig/zconf.l" return T_ON; YY_BREAK -case 47: +case 48: YY_RULE_SETUP +#line 140 "scripts/kconfig/zconf.l" { str = zconftext[0]; new_string(); BEGIN(STRING); } YY_BREAK -case 48: -/* rule 48 can match eol */ +case 49: +/* rule 49 can match eol */ YY_RULE_SETUP +#line 145 "scripts/kconfig/zconf.l" BEGIN(INITIAL); current_file->lineno++; return T_EOL; YY_BREAK -case 49: +case 50: YY_RULE_SETUP +#line 146 "scripts/kconfig/zconf.l" /* ignore */ YY_BREAK -case 50: +case 51: YY_RULE_SETUP +#line 147 "scripts/kconfig/zconf.l" { alloc_string(zconftext, zconfleng); zconflval.string = text; return T_WORD; } YY_BREAK -case 51: +case 52: YY_RULE_SETUP +#line 152 "scripts/kconfig/zconf.l" /* comment */ YY_BREAK -case 52: -/* rule 52 can match eol */ +case 53: +/* rule 53 can match eol */ YY_RULE_SETUP +#line 153 "scripts/kconfig/zconf.l" current_file->lineno++; YY_BREAK -case 53: +case 54: YY_RULE_SETUP +#line 154 "scripts/kconfig/zconf.l" YY_BREAK case YY_STATE_EOF(PARAM): +#line 155 "scripts/kconfig/zconf.l" { BEGIN(INITIAL); } YY_BREAK -case 54: -/* rule 54 can match eol */ + +case 55: +/* rule 55 can match eol */ *yy_cp = (yy_hold_char); /* undo effects of setting up zconftext */ (yy_c_buf_p) = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up zconftext again */ YY_RULE_SETUP +#line 161 "scripts/kconfig/zconf.l" { append_string(zconftext, zconfleng); zconflval.string = text; return T_WORD_QUOTE; } YY_BREAK -case 55: +case 56: YY_RULE_SETUP +#line 166 "scripts/kconfig/zconf.l" { append_string(zconftext, zconfleng); } YY_BREAK -case 56: -/* rule 56 can match eol */ +case 57: +/* rule 57 can match eol */ *yy_cp = (yy_hold_char); /* undo effects of setting up zconftext */ (yy_c_buf_p) = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up zconftext again */ YY_RULE_SETUP +#line 169 "scripts/kconfig/zconf.l" { append_string(zconftext + 1, zconfleng - 1); zconflval.string = text; return T_WORD_QUOTE; } YY_BREAK -case 57: +case 58: YY_RULE_SETUP +#line 174 "scripts/kconfig/zconf.l" { append_string(zconftext + 1, zconfleng - 1); } YY_BREAK -case 58: +case 59: YY_RULE_SETUP +#line 177 "scripts/kconfig/zconf.l" { if (str == zconftext[0]) { BEGIN(PARAM); @@ -2541,9 +2677,10 @@ append_string(zconftext, 1); } YY_BREAK -case 59: -/* rule 59 can match eol */ +case 60: +/* rule 60 can match eol */ YY_RULE_SETUP +#line 185 "scripts/kconfig/zconf.l" { printf("%s:%d:warning: multi-line strings not supported\n", zconf_curname(), zconf_lineno()); current_file->lineno++; @@ -2552,13 +2689,16 @@ } YY_BREAK case YY_STATE_EOF(STRING): +#line 191 "scripts/kconfig/zconf.l" { BEGIN(INITIAL); } YY_BREAK -case 60: + +case 61: YY_RULE_SETUP +#line 197 "scripts/kconfig/zconf.l" { ts = 0; for (i = 0; i < zconfleng; i++) { @@ -2582,28 +2722,31 @@ } } YY_BREAK -case 61: -/* rule 61 can match eol */ +case 62: +/* rule 62 can match eol */ *yy_cp = (yy_hold_char); /* undo effects of setting up zconftext */ (yy_c_buf_p) = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up zconftext again */ YY_RULE_SETUP +#line 219 "scripts/kconfig/zconf.l" { current_file->lineno++; zconf_endhelp(); return T_HELPTEXT; } YY_BREAK -case 62: -/* rule 62 can match eol */ +case 63: +/* rule 63 can match eol */ YY_RULE_SETUP +#line 224 "scripts/kconfig/zconf.l" { current_file->lineno++; append_string("\n", 1); } YY_BREAK -case 63: +case 64: YY_RULE_SETUP +#line 228 "scripts/kconfig/zconf.l" { append_string(zconftext, zconfleng); if (!first_ts) @@ -2611,6 +2754,7 @@ } YY_BREAK case YY_STATE_EOF(HELP): +#line 233 "scripts/kconfig/zconf.l" { zconf_endhelp(); return T_HELPTEXT; @@ -2619,6 +2763,7 @@ case YY_STATE_EOF(INITIAL): case YY_STATE_EOF(COMMAND): +#line 239 "scripts/kconfig/zconf.l" { if (current_buf) { zconf_endfile(); @@ -2628,10 +2773,12 @@ yyterminate(); } YY_BREAK -case 64: +case 65: YY_RULE_SETUP +#line 248 "scripts/kconfig/zconf.l" YY_FATAL_ERROR( "flex scanner jammed" ); YY_BREAK +#line 2782 "scripts/kconfig/lex.zconf.c" case YY_END_OF_BUFFER: { @@ -3338,10 +3485,10 @@ * @note If you want to scan bytes that may contain NUL values, then use * zconf_scan_bytes() instead. */ -YY_BUFFER_STATE zconf_scan_string (yyconst char * str ) +YY_BUFFER_STATE zconf_scan_string (yyconst char * yy_str ) { - return zconf_scan_bytes(str,strlen(str) ); + return zconf_scan_bytes(yy_str,strlen(yy_str) ); } /** Setup the input buffer state to scan the given bytes. The next call to zconflex() will @@ -3566,6 +3713,8 @@ #undef YY_DECL_IS_OURS #undef YY_DECL #endif +#line 248 "scripts/kconfig/zconf.l" + void zconf_starthelp(void) { @@ -3580,6 +3729,7 @@ BEGIN(INITIAL); } + /* * Try to open specified file with following names: * ./name diff -uNr linux.org/scripts/kconfig/rules/arch.sh linux-2.6.13.2/scripts/kconfig/rules/arch.sh --- linux.org/scripts/kconfig/rules/arch.sh 1970-01-01 01:00:00.000000000 +0100 +++ linux-2.6.13.2/scripts/kconfig/rules/arch.sh 2005-09-26 19:37:23.000000000 +0200 @@ -0,0 +1,8 @@ +#!/bin/sh + +if uname -m | sed -e s/i.86/i386/ -e s/sun4u/sparc64/ -e s/arm.*/arm/ -e s/sa110/arm/ | grep -sqE "$1" + then + echo "y\n" +else + echo "n\n" +fi diff -uNr linux.org/scripts/kconfig/rules/cpugrep.sh linux-2.6.13.2/scripts/kconfig/rules/cpugrep.sh --- linux.org/scripts/kconfig/rules/cpugrep.sh 1970-01-01 01:00:00.000000000 +0100 +++ linux-2.6.13.2/scripts/kconfig/rules/cpugrep.sh 2005-09-26 19:37:23.000000000 +0200 @@ -0,0 +1,11 @@ +#!/bin/sh + +if grep -sq "$1" /proc/cpuinfo + then + echo "y\n" + + else + echo "n\n" + +fi + diff -uNr linux.org/scripts/kconfig/rules/hw_egrep.sh linux-2.6.13.2/scripts/kconfig/rules/hw_egrep.sh --- linux.org/scripts/kconfig/rules/hw_egrep.sh 1970-01-01 01:00:00.000000000 +0100 +++ linux-2.6.13.2/scripts/kconfig/rules/hw_egrep.sh 2005-09-26 19:37:23.000000000 +0200 @@ -0,0 +1,11 @@ +#!/bin/sh + +if lspci | grep -sqE "$1" + then + echo "y\n" +elif grep -sqE "$1" /var/log/dmesg + then + echo "y\n" +else + echo "n\n" +fi diff -uNr linux.org/scripts/kconfig/rules/hw_grep.sh linux-2.6.13.2/scripts/kconfig/rules/hw_grep.sh --- linux.org/scripts/kconfig/rules/hw_grep.sh 1970-01-01 01:00:00.000000000 +0100 +++ linux-2.6.13.2/scripts/kconfig/rules/hw_grep.sh 2005-09-26 19:37:23.000000000 +0200 @@ -0,0 +1,11 @@ +#!/bin/sh + +if lspci | grep -sq "$1" + then + echo "y\n" +elif grep -sq "$1" /var/log/dmesg + then + echo "y\n" +else + echo "n\n" +fi diff -uNr linux.org/scripts/kconfig/zconf.l linux-2.6.13.2/scripts/kconfig/zconf.l --- linux.org/scripts/kconfig/zconf.l 2005-09-23 09:27:39.000000000 +0200 +++ linux-2.6.13.2/scripts/kconfig/zconf.l 2005-09-26 19:34:47.000000000 +0200 @@ -117,6 +117,7 @@ "select" BEGIN(PARAM); return T_SELECT; "enable" BEGIN(PARAM); return T_SELECT; "range" BEGIN(PARAM); return T_RANGE; + "autorule" BEGIN(PARAM); return T_AUTORULE; {n}+ { alloc_string(yytext, yyleng); zconflval.string = text; diff -uNr linux.org/scripts/kconfig/zconf.tab.c_shipped linux-2.6.13.2/scripts/kconfig/zconf.tab.c_shipped --- linux.org/scripts/kconfig/zconf.tab.c_shipped 2005-09-23 09:27:39.000000000 +0200 +++ linux-2.6.13.2/scripts/kconfig/zconf.tab.c_shipped 2005-09-26 19:34:47.000000000 +0200 @@ -1,7 +1,7 @@ -/* A Bison parser, made by GNU Bison 1.875a. */ +/* A Bison parser, made by GNU Bison 1.875d. */ /* Skeleton parser for Yacc-like parsing with Bison, - Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003 Free Software Foundation, Inc. + Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -97,10 +97,11 @@ T_ON = 290, T_SELECT = 291, T_RANGE = 292, - T_OR = 293, - T_AND = 294, - T_EQUAL = 295, - T_NOT = 296 + T_AUTORULE = 293, + T_OR = 294, + T_AND = 295, + T_EQUAL = 296, + T_NOT = 297 }; #endif #define T_MAINMENU 258 @@ -138,16 +139,17 @@ #define T_ON 290 #define T_SELECT 291 #define T_RANGE 292 -#define T_OR 293 -#define T_AND 294 -#define T_EQUAL 295 -#define T_NOT 296 +#define T_AUTORULE 293 +#define T_OR 294 +#define T_AND 295 +#define T_EQUAL 296 +#define T_NOT 297 /* Copy the first part of user declarations. */ - +#line 1 "scripts/kconfig/zconf.y" /* * Copyright (C) 2002 Roman Zippel @@ -182,7 +184,7 @@ /* Enabling traces. */ #ifndef YYDEBUG -# define YYDEBUG 0 +# define YYDEBUG 1 #endif /* Enabling verbose error messages. */ @@ -194,7 +196,7 @@ #endif #if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED) - +#line 35 "scripts/kconfig/zconf.y" typedef union YYSTYPE { int token; char *string; @@ -203,7 +205,7 @@ struct menu *menu; } YYSTYPE; /* Line 191 of yacc.c. */ - +#line 209 "scripts/kconfig/zconf.tab.c" # define yystype YYSTYPE /* obsolescent; will be withdrawn */ # define YYSTYPE_IS_DECLARED 1 # define YYSTYPE_IS_TRIVIAL 1 @@ -212,29 +214,36 @@ /* Copy the second part of user declarations. */ - +#line 92 "scripts/kconfig/zconf.y" #define LKC_DIRECT_LINK #include "lkc.h" /* Line 214 of yacc.c. */ - +#line 225 "scripts/kconfig/zconf.tab.c" #if ! defined (yyoverflow) || YYERROR_VERBOSE +# ifndef YYFREE +# define YYFREE free +# endif +# ifndef YYMALLOC +# define YYMALLOC malloc +# endif + /* The parser invokes alloca or malloc; define the necessary symbols. */ -# if YYSTACK_USE_ALLOCA -# define YYSTACK_ALLOC alloca +# ifdef YYSTACK_USE_ALLOCA +# if YYSTACK_USE_ALLOCA +# define YYSTACK_ALLOC alloca +# endif # else -# ifndef YYSTACK_USE_ALLOCA -# if defined (alloca) || defined (_ALLOCA_H) -# define YYSTACK_ALLOC alloca -# else -# ifdef __GNUC__ -# define YYSTACK_ALLOC __builtin_alloca -# endif +# if defined (alloca) || defined (_ALLOCA_H) +# define YYSTACK_ALLOC alloca +# else +# ifdef __GNUC__ +# define YYSTACK_ALLOC __builtin_alloca # endif # endif # endif @@ -247,20 +256,20 @@ # include /* INFRINGES ON USER NAME SPACE */ # define YYSIZE_T size_t # endif -# define YYSTACK_ALLOC malloc -# define YYSTACK_FREE free +# define YYSTACK_ALLOC YYMALLOC +# define YYSTACK_FREE YYFREE # endif #endif /* ! defined (yyoverflow) || YYERROR_VERBOSE */ #if (! defined (yyoverflow) \ && (! defined (__cplusplus) \ - || (YYSTYPE_IS_TRIVIAL))) + || (defined (YYSTYPE_IS_TRIVIAL) && YYSTYPE_IS_TRIVIAL))) /* A type that is properly aligned for any stack member. */ union yyalloc { - short yyss; + short int yyss; YYSTYPE yyvs; }; @@ -270,13 +279,13 @@ /* The size of an array large to enough to hold all stacks, each with N elements. */ # define YYSTACK_BYTES(N) \ - ((N) * (sizeof (short) + sizeof (YYSTYPE)) \ + ((N) * (sizeof (short int) + sizeof (YYSTYPE)) \ + YYSTACK_GAP_MAXIMUM) /* Copy COUNT objects from FROM to TO. The source and destination do not overlap. */ # ifndef YYCOPY -# if 1 < __GNUC__ +# if defined (__GNUC__) && 1 < __GNUC__ # define YYCOPY(To, From, Count) \ __builtin_memcpy (To, From, (Count) * sizeof (*(From))) # else @@ -312,26 +321,26 @@ #if defined (__STDC__) || defined (__cplusplus) typedef signed char yysigned_char; #else - typedef short yysigned_char; + typedef short int yysigned_char; #endif /* YYFINAL -- State number of the termination state. */ #define YYFINAL 2 /* YYLAST -- Last index in YYTABLE. */ -#define YYLAST 201 +#define YYLAST 205 /* YYNTOKENS -- Number of terminals. */ -#define YYNTOKENS 42 +#define YYNTOKENS 43 /* YYNNTS -- Number of nonterminals. */ -#define YYNNTS 41 +#define YYNNTS 42 /* YYNRULES -- Number of rules. */ -#define YYNRULES 104 +#define YYNRULES 106 /* YYNRULES -- Number of states. */ -#define YYNSTATES 182 +#define YYNSTATES 187 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */ #define YYUNDEFTOK 2 -#define YYMAXUTOK 296 +#define YYMAXUTOK 297 #define YYTRANSLATE(YYX) \ ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) @@ -368,78 +377,79 @@ 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, - 35, 36, 37, 38, 39, 40, 41 + 35, 36, 37, 38, 39, 40, 41, 42 }; #if YYDEBUG /* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in YYRHS. */ -static const unsigned short yyprhs[] = +static const unsigned short int yyprhs[] = { 0, 0, 3, 4, 7, 9, 11, 13, 17, 19, 21, 23, 26, 28, 30, 32, 34, 36, 38, 42, - 45, 49, 52, 53, 56, 59, 62, 65, 69, 74, - 78, 83, 87, 91, 95, 100, 105, 110, 116, 119, - 122, 124, 128, 131, 132, 135, 138, 141, 144, 149, - 153, 157, 160, 165, 166, 169, 173, 175, 179, 182, - 183, 186, 189, 192, 196, 199, 201, 205, 208, 209, - 212, 215, 218, 222, 226, 228, 232, 235, 238, 241, - 242, 245, 248, 253, 257, 261, 262, 265, 267, 269, - 272, 275, 278, 280, 282, 283, 286, 288, 292, 296, - 300, 303, 307, 311, 313 + 45, 49, 52, 53, 56, 59, 62, 65, 68, 72, + 77, 81, 86, 90, 94, 98, 103, 108, 113, 119, + 122, 125, 127, 131, 134, 135, 138, 141, 144, 147, + 152, 156, 160, 163, 168, 169, 172, 176, 178, 182, + 185, 186, 189, 192, 195, 199, 202, 204, 208, 211, + 212, 215, 218, 221, 225, 229, 231, 235, 238, 241, + 244, 249, 250, 253, 256, 261, 265, 269, 270, 273, + 275, 277, 280, 283, 286, 288, 290, 291, 294, 296, + 300, 304, 308, 311, 315, 319, 321 }; /* YYRHS -- A `-1'-separated list of the rules' RHS. */ static const yysigned_char yyrhs[] = { - 43, 0, -1, -1, 43, 44, -1, 45, -1, 55, - -1, 66, -1, 3, 77, 79, -1, 5, -1, 15, - -1, 8, -1, 1, 79, -1, 61, -1, 71, -1, - 47, -1, 49, -1, 69, -1, 79, -1, 10, 28, - 32, -1, 46, 50, -1, 11, 28, 32, -1, 48, - 50, -1, -1, 50, 51, -1, 50, 75, -1, 50, - 73, -1, 50, 32, -1, 21, 76, 32, -1, 22, - 81, 80, 32, -1, 23, 76, 32, -1, 24, 81, - 80, 32, -1, 26, 76, 32, -1, 27, 76, 32, - -1, 25, 76, 32, -1, 19, 77, 80, 32, -1, - 20, 81, 80, 32, -1, 36, 28, 80, 32, -1, - 37, 82, 82, 80, 32, -1, 7, 32, -1, 52, - 56, -1, 78, -1, 53, 58, 54, -1, 53, 58, - -1, -1, 56, 57, -1, 56, 75, -1, 56, 73, - -1, 56, 32, -1, 19, 77, 80, 32, -1, 21, - 76, 32, -1, 23, 76, 32, -1, 18, 32, -1, - 20, 28, 80, 32, -1, -1, 58, 45, -1, 14, - 81, 32, -1, 78, -1, 59, 62, 60, -1, 59, - 62, -1, -1, 62, 45, -1, 62, 66, -1, 62, - 55, -1, 4, 77, 32, -1, 63, 74, -1, 78, - -1, 64, 67, 65, -1, 64, 67, -1, -1, 67, - 45, -1, 67, 66, -1, 67, 55, -1, 67, 1, - 32, -1, 6, 77, 32, -1, 68, -1, 9, 77, - 32, -1, 70, 74, -1, 12, 32, -1, 72, 13, - -1, -1, 74, 75, -1, 74, 32, -1, 16, 35, - 81, 32, -1, 16, 81, 32, -1, 17, 81, 32, - -1, -1, 77, 80, -1, 28, -1, 29, -1, 5, - 79, -1, 8, 79, -1, 15, 79, -1, 32, -1, - 31, -1, -1, 14, 81, -1, 82, -1, 82, 40, - 82, -1, 82, 30, 82, -1, 34, 81, 33, -1, - 41, 81, -1, 81, 38, 81, -1, 81, 39, 81, - -1, 28, -1, 29, -1 + 44, 0, -1, -1, 44, 45, -1, 46, -1, 56, + -1, 67, -1, 3, 79, 81, -1, 5, -1, 15, + -1, 8, -1, 1, 81, -1, 62, -1, 72, -1, + 48, -1, 50, -1, 70, -1, 81, -1, 10, 28, + 32, -1, 47, 51, -1, 11, 28, 32, -1, 49, + 51, -1, -1, 51, 52, -1, 51, 77, -1, 51, + 75, -1, 51, 74, -1, 51, 32, -1, 21, 78, + 32, -1, 22, 83, 82, 32, -1, 23, 78, 32, + -1, 24, 83, 82, 32, -1, 26, 78, 32, -1, + 27, 78, 32, -1, 25, 78, 32, -1, 19, 79, + 82, 32, -1, 20, 83, 82, 32, -1, 36, 28, + 82, 32, -1, 37, 84, 84, 82, 32, -1, 7, + 32, -1, 53, 57, -1, 80, -1, 54, 59, 55, + -1, 54, 59, -1, -1, 57, 58, -1, 57, 77, + -1, 57, 74, -1, 57, 32, -1, 19, 79, 82, + 32, -1, 21, 78, 32, -1, 23, 78, 32, -1, + 18, 32, -1, 20, 28, 82, 32, -1, -1, 59, + 46, -1, 14, 83, 32, -1, 80, -1, 60, 63, + 61, -1, 60, 63, -1, -1, 63, 46, -1, 63, + 67, -1, 63, 56, -1, 4, 79, 32, -1, 64, + 76, -1, 80, -1, 65, 68, 66, -1, 65, 68, + -1, -1, 68, 46, -1, 68, 67, -1, 68, 56, + -1, 68, 1, 32, -1, 6, 79, 32, -1, 69, + -1, 9, 79, 32, -1, 71, 76, -1, 12, 32, + -1, 73, 13, -1, 38, 79, 79, 32, -1, -1, + 76, 77, -1, 76, 32, -1, 16, 35, 83, 32, + -1, 16, 83, 32, -1, 17, 83, 32, -1, -1, + 79, 82, -1, 28, -1, 29, -1, 5, 81, -1, + 8, 81, -1, 15, 81, -1, 32, -1, 31, -1, + -1, 14, 83, -1, 84, -1, 84, 41, 84, -1, + 84, 30, 84, -1, 34, 83, 33, -1, 42, 83, + -1, 83, 39, 83, -1, 83, 40, 83, -1, 28, + -1, 29, -1 }; /* YYRLINE[YYN] -- source line where rule number YYN was defined. */ -static const unsigned short yyrline[] = +static const unsigned short int yyrline[] = { - 0, 94, 94, 95, 98, 99, 100, 101, 102, 103, - 104, 105, 109, 110, 111, 112, 113, 114, 120, 128, - 134, 142, 152, 154, 155, 156, 157, 160, 166, 173, - 179, 186, 192, 198, 204, 210, 216, 222, 230, 239, - 245, 254, 255, 261, 263, 264, 265, 266, 269, 275, - 281, 287, 293, 299, 301, 306, 315, 324, 325, 331, - 333, 334, 335, 340, 347, 353, 362, 363, 369, 371, - 372, 373, 374, 377, 383, 390, 397, 404, 410, 417, - 418, 419, 422, 427, 432, 440, 442, 447, 448, 451, - 452, 453, 457, 457, 459, 460, 463, 464, 465, 466, - 467, 468, 469, 472, 473 + 0, 97, 97, 98, 101, 102, 103, 104, 105, 106, + 107, 108, 112, 113, 114, 115, 116, 117, 123, 131, + 137, 145, 155, 157, 158, 159, 160, 161, 164, 170, + 177, 183, 190, 196, 202, 208, 214, 220, 226, 234, + 243, 249, 258, 259, 265, 267, 268, 269, 270, 273, + 279, 285, 291, 297, 303, 305, 310, 319, 328, 329, + 335, 337, 338, 339, 344, 351, 357, 366, 367, 373, + 375, 376, 377, 378, 381, 387, 394, 401, 408, 414, + 421, 430, 431, 432, 435, 440, 445, 453, 455, 460, + 461, 464, 465, 466, 470, 470, 472, 473, 476, 477, + 478, 479, 480, 481, 482, 485, 486 }; #endif @@ -448,52 +458,53 @@ First, the terminals, then, starting at YYNTOKENS, nonterminals. */ static const char *const yytname[] = { - "$end", "error", "$undefined", "T_MAINMENU", "T_MENU", "T_ENDMENU", - "T_SOURCE", "T_CHOICE", "T_ENDCHOICE", "T_COMMENT", "T_CONFIG", - "T_MENUCONFIG", "T_HELP", "T_HELPTEXT", "T_IF", "T_ENDIF", "T_DEPENDS", - "T_REQUIRES", "T_OPTIONAL", "T_PROMPT", "T_DEFAULT", "T_TRISTATE", - "T_DEF_TRISTATE", "T_BOOLEAN", "T_DEF_BOOLEAN", "T_STRING", "T_INT", - "T_HEX", "T_WORD", "T_WORD_QUOTE", "T_UNEQUAL", "T_EOF", "T_EOL", - "T_CLOSE_PAREN", "T_OPEN_PAREN", "T_ON", "T_SELECT", "T_RANGE", "T_OR", - "T_AND", "T_EQUAL", "T_NOT", "$accept", "input", "block", - "common_block", "config_entry_start", "config_stmt", - "menuconfig_entry_start", "menuconfig_stmt", "config_option_list", - "config_option", "choice", "choice_entry", "choice_end", "choice_stmt", - "choice_option_list", "choice_option", "choice_block", "if", "if_end", - "if_stmt", "if_block", "menu", "menu_entry", "menu_end", "menu_stmt", - "menu_block", "source", "source_stmt", "comment", "comment_stmt", - "help_start", "help", "depends_list", "depends", "prompt_stmt_opt", - "prompt", "end", "nl_or_eof", "if_expr", "expr", "symbol", 0 + "$end", "error", "$undefined", "T_MAINMENU", "T_MENU", "T_ENDMENU", + "T_SOURCE", "T_CHOICE", "T_ENDCHOICE", "T_COMMENT", "T_CONFIG", + "T_MENUCONFIG", "T_HELP", "T_HELPTEXT", "T_IF", "T_ENDIF", "T_DEPENDS", + "T_REQUIRES", "T_OPTIONAL", "T_PROMPT", "T_DEFAULT", "T_TRISTATE", + "T_DEF_TRISTATE", "T_BOOLEAN", "T_DEF_BOOLEAN", "T_STRING", "T_INT", + "T_HEX", "T_WORD", "T_WORD_QUOTE", "T_UNEQUAL", "T_EOF", "T_EOL", + "T_CLOSE_PAREN", "T_OPEN_PAREN", "T_ON", "T_SELECT", "T_RANGE", + "T_AUTORULE", "T_OR", "T_AND", "T_EQUAL", "T_NOT", "$accept", "input", + "block", "common_block", "config_entry_start", "config_stmt", + "menuconfig_entry_start", "menuconfig_stmt", "config_option_list", + "config_option", "choice", "choice_entry", "choice_end", "choice_stmt", + "choice_option_list", "choice_option", "choice_block", "if", "if_end", + "if_stmt", "if_block", "menu", "menu_entry", "menu_end", "menu_stmt", + "menu_block", "source", "source_stmt", "comment", "comment_stmt", + "help_start", "help", "autorule", "depends_list", "depends", + "prompt_stmt_opt", "prompt", "end", "nl_or_eof", "if_expr", "expr", + "symbol", 0 }; #endif # ifdef YYPRINT /* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to token YYLEX-NUM. */ -static const unsigned short yytoknum[] = +static const unsigned short int yytoknum[] = { 0, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, - 295, 296 + 295, 296, 297 }; # endif /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ static const unsigned char yyr1[] = { - 0, 42, 43, 43, 44, 44, 44, 44, 44, 44, - 44, 44, 45, 45, 45, 45, 45, 45, 46, 47, - 48, 49, 50, 50, 50, 50, 50, 51, 51, 51, - 51, 51, 51, 51, 51, 51, 51, 51, 52, 53, - 54, 55, 55, 56, 56, 56, 56, 56, 57, 57, - 57, 57, 57, 58, 58, 59, 60, 61, 61, 62, - 62, 62, 62, 63, 64, 65, 66, 66, 67, 67, - 67, 67, 67, 68, 69, 70, 71, 72, 73, 74, - 74, 74, 75, 75, 75, 76, 76, 77, 77, 78, - 78, 78, 79, 79, 80, 80, 81, 81, 81, 81, - 81, 81, 81, 82, 82 + 0, 43, 44, 44, 45, 45, 45, 45, 45, 45, + 45, 45, 46, 46, 46, 46, 46, 46, 47, 48, + 49, 50, 51, 51, 51, 51, 51, 51, 52, 52, + 52, 52, 52, 52, 52, 52, 52, 52, 52, 53, + 54, 55, 56, 56, 57, 57, 57, 57, 57, 58, + 58, 58, 58, 58, 59, 59, 60, 61, 62, 62, + 63, 63, 63, 63, 64, 65, 66, 67, 67, 68, + 68, 68, 68, 68, 69, 70, 71, 72, 73, 74, + 75, 76, 76, 76, 77, 77, 77, 78, 78, 79, + 79, 80, 80, 80, 81, 81, 82, 82, 83, 83, + 83, 83, 83, 83, 83, 84, 84 }; /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */ @@ -501,15 +512,15 @@ { 0, 2, 0, 2, 1, 1, 1, 3, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 3, 2, - 3, 2, 0, 2, 2, 2, 2, 3, 4, 3, - 4, 3, 3, 3, 4, 4, 4, 5, 2, 2, - 1, 3, 2, 0, 2, 2, 2, 2, 4, 3, - 3, 2, 4, 0, 2, 3, 1, 3, 2, 0, - 2, 2, 2, 3, 2, 1, 3, 2, 0, 2, - 2, 2, 3, 3, 1, 3, 2, 2, 2, 0, - 2, 2, 4, 3, 3, 0, 2, 1, 1, 2, - 2, 2, 1, 1, 0, 2, 1, 3, 3, 3, - 2, 3, 3, 1, 1 + 3, 2, 0, 2, 2, 2, 2, 2, 3, 4, + 3, 4, 3, 3, 3, 4, 4, 4, 5, 2, + 2, 1, 3, 2, 0, 2, 2, 2, 2, 4, + 3, 3, 2, 4, 0, 2, 3, 1, 3, 2, + 0, 2, 2, 2, 3, 2, 1, 3, 2, 0, + 2, 2, 2, 3, 3, 1, 3, 2, 2, 2, + 4, 0, 2, 2, 4, 3, 3, 0, 2, 1, + 1, 2, 2, 2, 1, 1, 0, 2, 1, 3, + 3, 3, 2, 3, 3, 1, 1 }; /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state @@ -518,150 +529,150 @@ static const unsigned char yydefact[] = { 2, 0, 1, 0, 0, 0, 8, 0, 0, 10, - 0, 0, 0, 0, 9, 93, 92, 3, 4, 22, - 14, 22, 15, 43, 53, 5, 59, 12, 79, 68, - 6, 74, 16, 79, 13, 17, 11, 87, 88, 0, - 0, 0, 38, 0, 0, 0, 103, 104, 0, 0, - 0, 96, 19, 21, 39, 42, 58, 64, 0, 76, - 7, 63, 73, 75, 18, 20, 0, 100, 55, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 85, 0, - 85, 0, 85, 85, 85, 26, 0, 0, 23, 0, - 25, 24, 0, 0, 0, 85, 85, 47, 44, 46, - 45, 0, 0, 0, 54, 41, 40, 60, 62, 57, - 61, 56, 81, 80, 0, 69, 71, 66, 70, 65, - 99, 101, 102, 98, 97, 77, 0, 0, 0, 94, - 94, 0, 94, 94, 0, 94, 0, 0, 0, 94, - 0, 78, 51, 94, 94, 0, 0, 89, 90, 91, - 72, 0, 83, 84, 0, 0, 0, 27, 86, 0, - 29, 0, 33, 31, 32, 0, 94, 0, 0, 49, - 50, 82, 95, 34, 35, 28, 30, 36, 0, 48, - 52, 37 + 0, 0, 0, 0, 9, 95, 94, 3, 4, 22, + 14, 22, 15, 44, 54, 5, 60, 12, 81, 69, + 6, 75, 16, 81, 13, 17, 11, 89, 90, 0, + 0, 0, 39, 0, 0, 0, 105, 106, 0, 0, + 0, 98, 19, 21, 40, 43, 59, 65, 0, 77, + 7, 64, 74, 76, 18, 20, 0, 102, 56, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 87, 0, + 87, 0, 87, 87, 87, 27, 0, 0, 0, 23, + 0, 26, 25, 24, 0, 0, 0, 87, 87, 48, + 45, 47, 46, 0, 0, 0, 55, 42, 41, 61, + 63, 58, 62, 57, 83, 82, 0, 70, 72, 67, + 71, 66, 101, 103, 104, 100, 99, 78, 0, 0, + 0, 96, 96, 0, 96, 96, 0, 96, 0, 0, + 0, 96, 0, 0, 79, 52, 96, 96, 0, 0, + 91, 92, 93, 73, 0, 85, 86, 0, 0, 0, + 28, 88, 0, 30, 0, 34, 32, 33, 0, 96, + 0, 0, 0, 50, 51, 84, 97, 35, 36, 29, + 31, 37, 0, 80, 49, 53, 38 }; /* YYDEFGOTO[NTERM-NUM]. */ -static const short yydefgoto[] = +static const short int yydefgoto[] = { - -1, 1, 17, 18, 19, 20, 21, 22, 52, 88, - 23, 24, 105, 25, 54, 98, 55, 26, 109, 27, - 56, 28, 29, 117, 30, 58, 31, 32, 33, 34, - 89, 90, 57, 91, 131, 132, 106, 35, 155, 50, - 51 + -1, 1, 17, 18, 19, 20, 21, 22, 52, 89, + 23, 24, 107, 25, 54, 100, 55, 26, 111, 27, + 56, 28, 29, 119, 30, 58, 31, 32, 33, 34, + 90, 91, 92, 57, 93, 133, 134, 108, 35, 158, + 50, 51 }; /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing STATE-NUM. */ -#define YYPACT_NINF -99 -static const short yypact[] = +#define YYPACT_NINF -121 +static const short int yypact[] = { - -99, 48, -99, 38, 46, 46, -99, 46, -29, -99, - 46, -17, -3, -11, -99, -99, -99, -99, -99, -99, - -99, -99, -99, -99, -99, -99, -99, -99, -99, -99, - -99, -99, -99, -99, -99, -99, -99, -99, -99, 38, - 12, 15, -99, 18, 51, 62, -99, -99, -11, -11, - 4, -24, 138, 138, 160, 121, 110, -4, 81, -4, - -99, -99, -99, -99, -99, -99, -19, -99, -99, -11, - -11, 70, 70, 73, 32, -11, 46, -11, 46, -11, - 46, -11, 46, 46, 46, -99, 36, 70, -99, 95, - -99, -99, 96, 46, 106, 46, 46, -99, -99, -99, - -99, 38, 38, 38, -99, -99, -99, -99, -99, -99, - -99, -99, -99, -99, 112, -99, -99, -99, -99, -99, - -99, 117, -99, -99, -99, -99, -11, 33, 65, 131, - 1, 119, 131, 1, 136, 1, 153, 154, 155, 131, - 70, -99, -99, 131, 131, 156, 157, -99, -99, -99, - -99, 101, -99, -99, -11, 158, 159, -99, -99, 161, - -99, 162, -99, -99, -99, 163, 131, 164, 165, -99, - -99, -99, 99, -99, -99, -99, -99, -99, 166, -99, - -99, -99 + -121, 47, -121, 70, 115, 115, -121, 115, -21, -121, + 115, -24, -12, 31, -121, -121, -121, -121, -121, -121, + -121, -121, -121, -121, -121, -121, -121, -121, -121, -121, + -121, -121, -121, -121, -121, -121, -121, -121, -121, 70, + 0, 5, -121, 10, 39, 42, -121, -121, 31, 31, + -9, -28, 134, 134, 157, 117, 104, 3, 89, 3, + -121, -121, -121, -121, -121, -121, 6, -121, -121, 31, + 31, 139, 139, 45, 41, 31, 115, 31, 115, 31, + 115, 31, 115, 115, 115, -121, 35, 139, 115, -121, + 111, -121, -121, -121, 85, 115, 124, 115, 115, -121, + -121, -121, -121, 70, 70, 70, -121, -121, -121, -121, + -121, -121, -121, -121, -121, -121, 97, -121, -121, -121, + -121, -121, -121, 94, -121, -121, -121, -121, 31, 98, + 101, 169, 4, 152, 169, 4, 153, 4, 156, 158, + 159, 169, 139, 115, -121, -121, 169, 169, 160, 161, + -121, -121, -121, -121, 147, -121, -121, 31, 162, 163, + -121, -121, 164, -121, 165, -121, -121, -121, 166, 169, + 167, 168, 170, -121, -121, -121, 142, -121, -121, -121, + -121, -121, 171, -121, -121, -121, -121 }; /* YYPGOTO[NTERM-NUM]. */ -static const short yypgoto[] = +static const short int yypgoto[] = { - -99, -99, -99, 111, -99, -99, -99, -99, 178, -99, - -99, -99, -99, 91, -99, -99, -99, -99, -99, -99, - -99, -99, -99, -99, 115, -99, -99, -99, -99, -99, - -99, 146, 168, 89, 27, 0, 126, -1, -98, -48, - -63 + -121, -121, -121, 30, -121, -121, -121, -121, 180, -121, + -121, -121, -121, -34, -121, -121, -121, -121, -121, -121, + -121, -121, -121, -121, 106, -121, -121, -121, -121, -121, + -121, 150, -121, 172, 88, -16, -4, 107, 2, -120, + -41, -62 }; /* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If positive, shift that token. If negative, reduce the rule which number is the opposite. If zero, do what YYDEFACT says. If YYTABLE_NINF, syntax error. */ -#define YYTABLE_NINF -68 -static const short yytable[] = +#define YYTABLE_NINF -69 +static const short int yytable[] = { - 66, 67, 36, 42, 39, 40, 71, 41, 123, 124, - 43, 44, 74, 75, 120, 154, 72, 46, 47, 69, - 70, 121, 122, 48, 140, 45, 127, 128, 112, 130, - 49, 133, 156, 135, 158, 159, 68, 161, 60, 69, - 70, 165, 69, 70, 61, 167, 168, 62, 2, 3, - 63, 4, 5, 6, 7, 8, 9, 10, 11, 12, - 46, 47, 13, 14, 139, 152, 48, 126, 178, 15, - 16, 69, 70, 49, 37, 38, 129, 166, 151, 15, - 16, -67, 114, 64, -67, 5, 101, 7, 8, 102, - 10, 11, 12, 143, 65, 13, 103, 153, 46, 47, - 147, 148, 149, 69, 70, 125, 172, 134, 141, 136, - 137, 138, 15, 16, 5, 101, 7, 8, 102, 10, - 11, 12, 145, 146, 13, 103, 101, 7, 142, 102, - 10, 11, 12, 171, 144, 13, 103, 69, 70, 69, - 70, 15, 16, 100, 150, 154, 113, 108, 113, 116, - 73, 157, 15, 16, 74, 75, 70, 76, 77, 78, - 79, 80, 81, 82, 83, 84, 104, 107, 160, 115, - 85, 110, 73, 118, 86, 87, 74, 75, 92, 93, - 94, 95, 111, 96, 119, 162, 163, 164, 169, 170, - 173, 174, 97, 175, 176, 177, 179, 180, 181, 53, - 99, 59 + 39, 40, 71, 41, 44, 36, 43, 66, 67, 125, + 126, 42, 159, 72, 161, 162, 45, 164, 157, 74, + 75, 168, 110, 68, 118, 142, 171, 172, 123, 124, + 69, 70, 61, 129, 130, 114, 132, 62, 135, 122, + 137, 60, 63, 69, 70, 69, 70, 2, 3, 182, + 4, 5, 6, 7, 8, 9, 10, 11, 12, 46, + 47, 13, 14, 141, 136, 48, 138, 139, 140, 46, + 47, 64, 131, 49, 65, 48, 128, 127, 15, 16, + 169, 148, 149, 49, 143, 106, 109, 154, 117, -68, + 116, 146, -68, 5, 103, 7, 8, 104, 10, 11, + 12, 15, 16, 13, 105, 150, 151, 152, 5, 103, + 7, 8, 104, 10, 11, 12, 176, 145, 13, 105, + 15, 16, 103, 7, 144, 104, 10, 11, 12, 153, + 155, 13, 105, 156, 70, 15, 16, 69, 70, 170, + 69, 70, 102, 37, 38, 115, 73, 115, 15, 16, + 74, 75, 147, 76, 77, 78, 79, 80, 81, 82, + 83, 84, 112, 113, 120, 121, 85, 46, 47, 73, + 86, 87, 88, 74, 75, 94, 95, 96, 97, 175, + 98, 69, 70, 157, 160, 163, 69, 70, 165, 99, + 166, 167, 173, 174, 177, 178, 179, 180, 181, 183, + 184, 53, 185, 186, 101, 59 }; static const unsigned char yycheck[] = { - 48, 49, 3, 32, 4, 5, 30, 7, 71, 72, - 10, 28, 16, 17, 33, 14, 40, 28, 29, 38, - 39, 69, 70, 34, 87, 28, 74, 75, 32, 77, - 41, 79, 130, 81, 132, 133, 32, 135, 39, 38, - 39, 139, 38, 39, 32, 143, 144, 32, 0, 1, - 32, 3, 4, 5, 6, 7, 8, 9, 10, 11, - 28, 29, 14, 15, 28, 32, 34, 35, 166, 31, - 32, 38, 39, 41, 28, 29, 76, 140, 126, 31, - 32, 0, 1, 32, 3, 4, 5, 6, 7, 8, - 9, 10, 11, 93, 32, 14, 15, 32, 28, 29, - 101, 102, 103, 38, 39, 32, 154, 80, 13, 82, - 83, 84, 31, 32, 4, 5, 6, 7, 8, 9, - 10, 11, 95, 96, 14, 15, 5, 6, 32, 8, - 9, 10, 11, 32, 28, 14, 15, 38, 39, 38, - 39, 31, 32, 54, 32, 14, 57, 56, 59, 58, - 12, 32, 31, 32, 16, 17, 39, 19, 20, 21, - 22, 23, 24, 25, 26, 27, 55, 56, 32, 58, - 32, 56, 12, 58, 36, 37, 16, 17, 18, 19, - 20, 21, 56, 23, 58, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 21, - 54, 33 + 4, 5, 30, 7, 28, 3, 10, 48, 49, 71, + 72, 32, 132, 41, 134, 135, 28, 137, 14, 16, + 17, 141, 56, 32, 58, 87, 146, 147, 69, 70, + 39, 40, 32, 74, 75, 32, 77, 32, 79, 33, + 81, 39, 32, 39, 40, 39, 40, 0, 1, 169, + 3, 4, 5, 6, 7, 8, 9, 10, 11, 28, + 29, 14, 15, 28, 80, 34, 82, 83, 84, 28, + 29, 32, 76, 42, 32, 34, 35, 32, 31, 32, + 142, 97, 98, 42, 88, 55, 56, 128, 58, 0, + 1, 95, 3, 4, 5, 6, 7, 8, 9, 10, + 11, 31, 32, 14, 15, 103, 104, 105, 4, 5, + 6, 7, 8, 9, 10, 11, 157, 32, 14, 15, + 31, 32, 5, 6, 13, 8, 9, 10, 11, 32, + 32, 14, 15, 32, 40, 31, 32, 39, 40, 143, + 39, 40, 54, 28, 29, 57, 12, 59, 31, 32, + 16, 17, 28, 19, 20, 21, 22, 23, 24, 25, + 26, 27, 56, 56, 58, 58, 32, 28, 29, 12, + 36, 37, 38, 16, 17, 18, 19, 20, 21, 32, + 23, 39, 40, 14, 32, 32, 39, 40, 32, 32, + 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, + 32, 21, 32, 32, 54, 33 }; /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing symbol of state STATE-NUM. */ static const unsigned char yystos[] = { - 0, 43, 0, 1, 3, 4, 5, 6, 7, 8, - 9, 10, 11, 14, 15, 31, 32, 44, 45, 46, - 47, 48, 49, 52, 53, 55, 59, 61, 63, 64, - 66, 68, 69, 70, 71, 79, 79, 28, 29, 77, - 77, 77, 32, 77, 28, 28, 28, 29, 34, 41, - 81, 82, 50, 50, 56, 58, 62, 74, 67, 74, - 79, 32, 32, 32, 32, 32, 81, 81, 32, 38, - 39, 30, 40, 12, 16, 17, 19, 20, 21, 22, - 23, 24, 25, 26, 27, 32, 36, 37, 51, 72, - 73, 75, 18, 19, 20, 21, 23, 32, 57, 73, - 75, 5, 8, 15, 45, 54, 78, 45, 55, 60, - 66, 78, 32, 75, 1, 45, 55, 65, 66, 78, - 33, 81, 81, 82, 82, 32, 35, 81, 81, 77, - 81, 76, 77, 81, 76, 81, 76, 76, 76, 28, - 82, 13, 32, 77, 28, 76, 76, 79, 79, 79, - 32, 81, 32, 32, 14, 80, 80, 32, 80, 80, - 32, 80, 32, 32, 32, 80, 82, 80, 80, 32, - 32, 32, 81, 32, 32, 32, 32, 32, 80, 32, - 32, 32 + 0, 44, 0, 1, 3, 4, 5, 6, 7, 8, + 9, 10, 11, 14, 15, 31, 32, 45, 46, 47, + 48, 49, 50, 53, 54, 56, 60, 62, 64, 65, + 67, 69, 70, 71, 72, 81, 81, 28, 29, 79, + 79, 79, 32, 79, 28, 28, 28, 29, 34, 42, + 83, 84, 51, 51, 57, 59, 63, 76, 68, 76, + 81, 32, 32, 32, 32, 32, 83, 83, 32, 39, + 40, 30, 41, 12, 16, 17, 19, 20, 21, 22, + 23, 24, 25, 26, 27, 32, 36, 37, 38, 52, + 73, 74, 75, 77, 18, 19, 20, 21, 23, 32, + 58, 74, 77, 5, 8, 15, 46, 55, 80, 46, + 56, 61, 67, 80, 32, 77, 1, 46, 56, 66, + 67, 80, 33, 83, 83, 84, 84, 32, 35, 83, + 83, 79, 83, 78, 79, 83, 78, 83, 78, 78, + 78, 28, 84, 79, 13, 32, 79, 28, 78, 78, + 81, 81, 81, 32, 83, 32, 32, 14, 82, 82, + 32, 82, 82, 32, 82, 32, 32, 32, 82, 84, + 79, 82, 82, 32, 32, 32, 83, 32, 32, 32, + 32, 32, 82, 32, 32, 32, 32 }; #if ! defined (YYSIZE_T) && defined (__SIZE_TYPE__) @@ -687,7 +698,7 @@ #define YYACCEPT goto yyacceptlab #define YYABORT goto yyabortlab -#define YYERROR goto yyerrlab1 +#define YYERROR goto yyerrorlab /* Like YYERROR except do call yyerror. This remains here temporarily @@ -722,11 +733,11 @@ are run). */ #ifndef YYLLOC_DEFAULT -# define YYLLOC_DEFAULT(Current, Rhs, N) \ - Current.first_line = Rhs[1].first_line; \ - Current.first_column = Rhs[1].first_column; \ - Current.last_line = Rhs[N].last_line; \ - Current.last_column = Rhs[N].last_column; +# define YYLLOC_DEFAULT(Current, Rhs, N) \ + ((Current).first_line = (Rhs)[1].first_line, \ + (Current).first_column = (Rhs)[1].first_column, \ + (Current).last_line = (Rhs)[N].last_line, \ + (Current).last_column = (Rhs)[N].last_column) #endif /* YYLEX -- calling `yylex' with the right arguments. */ @@ -770,17 +781,17 @@ /*------------------------------------------------------------------. | yy_stack_print -- Print the state stack from its BOTTOM up to its | -| TOP (cinluded). | +| TOP (included). | `------------------------------------------------------------------*/ #if defined (__STDC__) || defined (__cplusplus) static void -yy_stack_print (short *bottom, short *top) +yy_stack_print (short int *bottom, short int *top) #else static void yy_stack_print (bottom, top) - short *bottom; - short *top; + short int *bottom; + short int *top; #endif { YYFPRINTF (stderr, "Stack now"); @@ -810,9 +821,9 @@ #endif { int yyi; - unsigned int yylineno = yyrline[yyrule]; + unsigned int yylno = yyrline[yyrule]; YYFPRINTF (stderr, "Reducing stack by rule %d (line %u), ", - yyrule - 1, yylineno); + yyrule - 1, yylno); /* Print the symbols being reduced, and their result. */ for (yyi = yyprhs[yyrule]; 0 <= yyrhs[yyi]; yyi++) YYFPRINTF (stderr, "%s ", yytname [yyrhs[yyi]]); @@ -849,7 +860,7 @@ SIZE_MAX < YYSTACK_BYTES (YYMAXDEPTH) evaluated with infinite-precision integer arithmetic. */ -#if YYMAXDEPTH == 0 +#if defined (YYMAXDEPTH) && YYMAXDEPTH == 0 # undef YYMAXDEPTH #endif @@ -1047,9 +1058,9 @@ to reallocate them elsewhere. */ /* The state stack. */ - short yyssa[YYINITDEPTH]; - short *yyss = yyssa; - register short *yyssp; + short int yyssa[YYINITDEPTH]; + short int *yyss = yyssa; + register short int *yyssp; /* The semantic value stack. */ YYSTYPE yyvsa[YYINITDEPTH]; @@ -1086,6 +1097,7 @@ yyssp = yyss; yyvsp = yyvs; + goto yysetstate; /*------------------------------------------------------------. @@ -1111,7 +1123,7 @@ these so that the &'s don't force the real ones into memory. */ YYSTYPE *yyvs1 = yyvs; - short *yyss1 = yyss; + short int *yyss1 = yyss; /* Each stack pointer address is followed by the size of the @@ -1139,7 +1151,7 @@ yystacksize = YYMAXDEPTH; { - short *yyss1 = yyss; + short int *yyss1 = yyss; union yyalloc *yyptr = (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize)); if (! yyptr) @@ -1272,27 +1284,27 @@ switch (yyn) { case 8: - +#line 105 "scripts/kconfig/zconf.y" { zconfprint("unexpected 'endmenu' statement"); ;} break; case 9: - +#line 106 "scripts/kconfig/zconf.y" { zconfprint("unexpected 'endif' statement"); ;} break; case 10: - +#line 107 "scripts/kconfig/zconf.y" { zconfprint("unexpected 'endchoice' statement"); ;} break; case 11: - +#line 108 "scripts/kconfig/zconf.y" { zconfprint("syntax error"); yyerrok; ;} break; case 18: - +#line 124 "scripts/kconfig/zconf.y" { struct symbol *sym = sym_lookup(yyvsp[-1].string, 0); sym->flags |= SYMBOL_OPTIONAL; @@ -1302,7 +1314,7 @@ break; case 19: - +#line 132 "scripts/kconfig/zconf.y" { menu_end_entry(); printd(DEBUG_PARSE, "%s:%d:endconfig\n", zconf_curname(), zconf_lineno()); @@ -1310,7 +1322,7 @@ break; case 20: - +#line 138 "scripts/kconfig/zconf.y" { struct symbol *sym = sym_lookup(yyvsp[-1].string, 0); sym->flags |= SYMBOL_OPTIONAL; @@ -1320,7 +1332,7 @@ break; case 21: - +#line 146 "scripts/kconfig/zconf.y" { if (current_entry->prompt) current_entry->prompt->type = P_MENU; @@ -1331,16 +1343,16 @@ ;} break; - case 27: - + case 28: +#line 165 "scripts/kconfig/zconf.y" { menu_set_type(S_TRISTATE); printd(DEBUG_PARSE, "%s:%d:tristate\n", zconf_curname(), zconf_lineno()); ;} break; - case 28: - + case 29: +#line 171 "scripts/kconfig/zconf.y" { menu_add_expr(P_DEFAULT, yyvsp[-2].expr, yyvsp[-1].expr); menu_set_type(S_TRISTATE); @@ -1348,16 +1360,16 @@ ;} break; - case 29: - + case 30: +#line 178 "scripts/kconfig/zconf.y" { menu_set_type(S_BOOLEAN); printd(DEBUG_PARSE, "%s:%d:boolean\n", zconf_curname(), zconf_lineno()); ;} break; - case 30: - + case 31: +#line 184 "scripts/kconfig/zconf.y" { menu_add_expr(P_DEFAULT, yyvsp[-2].expr, yyvsp[-1].expr); menu_set_type(S_BOOLEAN); @@ -1365,64 +1377,64 @@ ;} break; - case 31: - + case 32: +#line 191 "scripts/kconfig/zconf.y" { menu_set_type(S_INT); printd(DEBUG_PARSE, "%s:%d:int\n", zconf_curname(), zconf_lineno()); ;} break; - case 32: - + case 33: +#line 197 "scripts/kconfig/zconf.y" { menu_set_type(S_HEX); printd(DEBUG_PARSE, "%s:%d:hex\n", zconf_curname(), zconf_lineno()); ;} break; - case 33: - + case 34: +#line 203 "scripts/kconfig/zconf.y" { menu_set_type(S_STRING); printd(DEBUG_PARSE, "%s:%d:string\n", zconf_curname(), zconf_lineno()); ;} break; - case 34: - + case 35: +#line 209 "scripts/kconfig/zconf.y" { menu_add_prompt(P_PROMPT, yyvsp[-2].string, yyvsp[-1].expr); printd(DEBUG_PARSE, "%s:%d:prompt\n", zconf_curname(), zconf_lineno()); ;} break; - case 35: - + case 36: +#line 215 "scripts/kconfig/zconf.y" { menu_add_expr(P_DEFAULT, yyvsp[-2].expr, yyvsp[-1].expr); printd(DEBUG_PARSE, "%s:%d:default\n", zconf_curname(), zconf_lineno()); ;} break; - case 36: - + case 37: +#line 221 "scripts/kconfig/zconf.y" { menu_add_symbol(P_SELECT, sym_lookup(yyvsp[-2].string, 0), yyvsp[-1].expr); printd(DEBUG_PARSE, "%s:%d:select\n", zconf_curname(), zconf_lineno()); ;} break; - case 37: - + case 38: +#line 227 "scripts/kconfig/zconf.y" { menu_add_expr(P_RANGE, expr_alloc_comp(E_RANGE,yyvsp[-3].symbol, yyvsp[-2].symbol), yyvsp[-1].expr); printd(DEBUG_PARSE, "%s:%d:range\n", zconf_curname(), zconf_lineno()); ;} break; - case 38: - + case 39: +#line 235 "scripts/kconfig/zconf.y" { struct symbol *sym = sym_lookup(NULL, 0); sym->flags |= SYMBOL_CHOICE; @@ -1432,16 +1444,16 @@ ;} break; - case 39: - + case 40: +#line 244 "scripts/kconfig/zconf.y" { menu_end_entry(); menu_add_menu(); ;} break; - case 40: - + case 41: +#line 250 "scripts/kconfig/zconf.y" { if (zconf_endtoken(yyvsp[0].token, T_CHOICE, T_ENDCHOICE)) { menu_end_menu(); @@ -1450,56 +1462,56 @@ ;} break; - case 42: - + case 43: +#line 260 "scripts/kconfig/zconf.y" { printf("%s:%d: missing 'endchoice' for this 'choice' statement\n", current_menu->file->name, current_menu->lineno); zconfnerrs++; ;} break; - case 48: - + case 49: +#line 274 "scripts/kconfig/zconf.y" { menu_add_prompt(P_PROMPT, yyvsp[-2].string, yyvsp[-1].expr); printd(DEBUG_PARSE, "%s:%d:prompt\n", zconf_curname(), zconf_lineno()); ;} break; - case 49: - + case 50: +#line 280 "scripts/kconfig/zconf.y" { menu_set_type(S_TRISTATE); printd(DEBUG_PARSE, "%s:%d:tristate\n", zconf_curname(), zconf_lineno()); ;} break; - case 50: - + case 51: +#line 286 "scripts/kconfig/zconf.y" { menu_set_type(S_BOOLEAN); printd(DEBUG_PARSE, "%s:%d:boolean\n", zconf_curname(), zconf_lineno()); ;} break; - case 51: - + case 52: +#line 292 "scripts/kconfig/zconf.y" { current_entry->sym->flags |= SYMBOL_OPTIONAL; printd(DEBUG_PARSE, "%s:%d:optional\n", zconf_curname(), zconf_lineno()); ;} break; - case 52: - + case 53: +#line 298 "scripts/kconfig/zconf.y" { menu_add_symbol(P_DEFAULT, sym_lookup(yyvsp[-2].string, 0), yyvsp[-1].expr); printd(DEBUG_PARSE, "%s:%d:default\n", zconf_curname(), zconf_lineno()); ;} break; - case 55: - + case 56: +#line 311 "scripts/kconfig/zconf.y" { printd(DEBUG_PARSE, "%s:%d:if\n", zconf_curname(), zconf_lineno()); menu_add_entry(NULL); @@ -1509,8 +1521,8 @@ ;} break; - case 56: - + case 57: +#line 320 "scripts/kconfig/zconf.y" { if (zconf_endtoken(yyvsp[0].token, T_IF, T_ENDIF)) { menu_end_menu(); @@ -1519,16 +1531,16 @@ ;} break; - case 58: - + case 59: +#line 330 "scripts/kconfig/zconf.y" { printf("%s:%d: missing 'endif' for this 'if' statement\n", current_menu->file->name, current_menu->lineno); zconfnerrs++; ;} break; - case 63: - + case 64: +#line 345 "scripts/kconfig/zconf.y" { menu_add_entry(NULL); menu_add_prop(P_MENU, yyvsp[-1].string, NULL, NULL); @@ -1536,16 +1548,16 @@ ;} break; - case 64: - + case 65: +#line 352 "scripts/kconfig/zconf.y" { menu_end_entry(); menu_add_menu(); ;} break; - case 65: - + case 66: +#line 358 "scripts/kconfig/zconf.y" { if (zconf_endtoken(yyvsp[0].token, T_MENU, T_ENDMENU)) { menu_end_menu(); @@ -1554,36 +1566,36 @@ ;} break; - case 67: - + case 68: +#line 368 "scripts/kconfig/zconf.y" { printf("%s:%d: missing 'endmenu' for this 'menu' statement\n", current_menu->file->name, current_menu->lineno); zconfnerrs++; ;} break; - case 72: - + case 73: +#line 378 "scripts/kconfig/zconf.y" { zconfprint("invalid menu option"); yyerrok; ;} break; - case 73: - + case 74: +#line 382 "scripts/kconfig/zconf.y" { yyval.string = yyvsp[-1].string; printd(DEBUG_PARSE, "%s:%d:source %s\n", zconf_curname(), zconf_lineno(), yyvsp[-1].string); ;} break; - case 74: - + case 75: +#line 388 "scripts/kconfig/zconf.y" { zconf_nextfile(yyvsp[0].string); ;} break; - case 75: - + case 76: +#line 395 "scripts/kconfig/zconf.y" { menu_add_entry(NULL); menu_add_prop(P_COMMENT, yyvsp[-1].string, NULL, NULL); @@ -1591,134 +1603,143 @@ ;} break; - case 76: - + case 77: +#line 402 "scripts/kconfig/zconf.y" { menu_end_entry(); ;} break; - case 77: - + case 78: +#line 409 "scripts/kconfig/zconf.y" { printd(DEBUG_PARSE, "%s:%d:help\n", zconf_curname(), zconf_lineno()); zconf_starthelp(); ;} break; - case 78: - + case 79: +#line 415 "scripts/kconfig/zconf.y" { current_entry->sym->help = yyvsp[0].string; ;} break; - case 82: + case 80: +#line 422 "scripts/kconfig/zconf.y" + { + printd(DEBUG_PARSE, "%s:%d:autorule\n", zconf_curname(), zconf_lineno()); + current_entry->sym->autorule = yyvsp[-2].string; + current_entry->sym->autopara = yyvsp[-1].string; +;} + break; + case 84: +#line 436 "scripts/kconfig/zconf.y" { menu_add_dep(yyvsp[-1].expr); printd(DEBUG_PARSE, "%s:%d:depends on\n", zconf_curname(), zconf_lineno()); ;} break; - case 83: - + case 85: +#line 441 "scripts/kconfig/zconf.y" { menu_add_dep(yyvsp[-1].expr); printd(DEBUG_PARSE, "%s:%d:depends\n", zconf_curname(), zconf_lineno()); ;} break; - case 84: - + case 86: +#line 446 "scripts/kconfig/zconf.y" { menu_add_dep(yyvsp[-1].expr); printd(DEBUG_PARSE, "%s:%d:requires\n", zconf_curname(), zconf_lineno()); ;} break; - case 86: - + case 88: +#line 456 "scripts/kconfig/zconf.y" { menu_add_prop(P_PROMPT, yyvsp[-1].string, NULL, yyvsp[0].expr); ;} break; - case 89: - + case 91: +#line 464 "scripts/kconfig/zconf.y" { yyval.token = T_ENDMENU; ;} break; - case 90: - + case 92: +#line 465 "scripts/kconfig/zconf.y" { yyval.token = T_ENDCHOICE; ;} break; - case 91: - + case 93: +#line 466 "scripts/kconfig/zconf.y" { yyval.token = T_ENDIF; ;} break; - case 94: - + case 96: +#line 472 "scripts/kconfig/zconf.y" { yyval.expr = NULL; ;} break; - case 95: - + case 97: +#line 473 "scripts/kconfig/zconf.y" { yyval.expr = yyvsp[0].expr; ;} break; - case 96: - + case 98: +#line 476 "scripts/kconfig/zconf.y" { yyval.expr = expr_alloc_symbol(yyvsp[0].symbol); ;} break; - case 97: - + case 99: +#line 477 "scripts/kconfig/zconf.y" { yyval.expr = expr_alloc_comp(E_EQUAL, yyvsp[-2].symbol, yyvsp[0].symbol); ;} break; - case 98: - + case 100: +#line 478 "scripts/kconfig/zconf.y" { yyval.expr = expr_alloc_comp(E_UNEQUAL, yyvsp[-2].symbol, yyvsp[0].symbol); ;} break; - case 99: - + case 101: +#line 479 "scripts/kconfig/zconf.y" { yyval.expr = yyvsp[-1].expr; ;} break; - case 100: - + case 102: +#line 480 "scripts/kconfig/zconf.y" { yyval.expr = expr_alloc_one(E_NOT, yyvsp[0].expr); ;} break; - case 101: - + case 103: +#line 481 "scripts/kconfig/zconf.y" { yyval.expr = expr_alloc_two(E_OR, yyvsp[-2].expr, yyvsp[0].expr); ;} break; - case 102: - + case 104: +#line 482 "scripts/kconfig/zconf.y" { yyval.expr = expr_alloc_two(E_AND, yyvsp[-2].expr, yyvsp[0].expr); ;} break; - case 103: - + case 105: +#line 485 "scripts/kconfig/zconf.y" { yyval.symbol = sym_lookup(yyvsp[0].string, 0); free(yyvsp[0].string); ;} break; - case 104: - + case 106: +#line 486 "scripts/kconfig/zconf.y" { yyval.symbol = sym_lookup(yyvsp[0].string, 1); free(yyvsp[0].string); ;} break; } -/* Line 999 of yacc.c. */ - +/* Line 1010 of yacc.c. */ +#line 1743 "scripts/kconfig/zconf.tab.c" yyvsp -= yylen; yyssp -= yylen; @@ -1759,18 +1780,33 @@ { YYSIZE_T yysize = 0; int yytype = YYTRANSLATE (yychar); + const char* yyprefix; char *yymsg; - int yyx, yycount; + int yyx; - yycount = 0; /* Start YYX at -YYN if negative to avoid negative indexes in YYCHECK. */ - for (yyx = yyn < 0 ? -yyn : 0; - yyx < (int) (sizeof (yytname) / sizeof (char *)); yyx++) + int yyxbegin = yyn < 0 ? -yyn : 0; + + /* Stay within bounds of both yycheck and yytname. */ + int yychecklim = YYLAST - yyn; + int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS; + int yycount = 0; + + yyprefix = ", expecting "; + for (yyx = yyxbegin; yyx < yyxend; ++yyx) if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR) - yysize += yystrlen (yytname[yyx]) + 15, yycount++; - yysize += yystrlen ("syntax error, unexpected ") + 1; - yysize += yystrlen (yytname[yytype]); + { + yysize += yystrlen (yyprefix) + yystrlen (yytname [yyx]); + yycount += 1; + if (yycount == 5) + { + yysize = 0; + break; + } + } + yysize += (sizeof ("syntax error, unexpected ") + + yystrlen (yytname[yytype])); yymsg = (char *) YYSTACK_ALLOC (yysize); if (yymsg != 0) { @@ -1779,16 +1815,13 @@ if (yycount < 5) { - yycount = 0; - for (yyx = yyn < 0 ? -yyn : 0; - yyx < (int) (sizeof (yytname) / sizeof (char *)); - yyx++) + yyprefix = ", expecting "; + for (yyx = yyxbegin; yyx < yyxend; ++yyx) if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR) { - const char *yyq = ! yycount ? ", expecting " : " or "; - yyp = yystpcpy (yyp, yyq); + yyp = yystpcpy (yyp, yyprefix); yyp = yystpcpy (yyp, yytname[yyx]); - yycount++; + yyprefix = " or "; } } yyerror (yymsg); @@ -1809,25 +1842,27 @@ /* If just tried and failed to reuse lookahead token after an error, discard it. */ - /* Return failure if at end of input. */ - if (yychar == YYEOF) + if (yychar <= YYEOF) { - /* Pop the error token. */ - YYPOPSTACK; - /* Pop the rest of the stack. */ - while (yyss < yyssp) - { - YYDSYMPRINTF ("Error: popping", yystos[*yyssp], yyvsp, yylsp); - yydestruct (yystos[*yyssp], yyvsp); - YYPOPSTACK; - } - YYABORT; + /* If at end of input, pop the error token, + then the rest of the stack, then return failure. */ + if (yychar == YYEOF) + for (;;) + { + YYPOPSTACK; + if (yyssp == yyss) + YYABORT; + YYDSYMPRINTF ("Error: popping", yystos[*yyssp], yyvsp, yylsp); + yydestruct (yystos[*yyssp], yyvsp); + } } + else + { + YYDSYMPRINTF ("Error: discarding", yytoken, &yylval, &yylloc); + yydestruct (yytoken, &yylval); + yychar = YYEMPTY; - YYDSYMPRINTF ("Error: discarding", yytoken, &yylval, &yylloc); - yydestruct (yytoken, &yylval); - yychar = YYEMPTY; - + } } /* Else will try to reuse lookahead token after shifting the error @@ -1835,9 +1870,27 @@ goto yyerrlab1; -/*----------------------------------------------------. -| yyerrlab1 -- error raised explicitly by an action. | -`----------------------------------------------------*/ +/*---------------------------------------------------. +| yyerrorlab -- error raised explicitly by YYERROR. | +`---------------------------------------------------*/ +yyerrorlab: + +#ifdef __GNUC__ + /* Pacify GCC when the user code never invokes YYERROR and the label + yyerrorlab therefore never appears in user code. */ + if (0) + goto yyerrorlab; +#endif + + yyvsp -= yylen; + yyssp -= yylen; + yystate = *yyssp; + goto yyerrlab1; + + +/*-------------------------------------------------------------. +| yyerrlab1 -- common code for both syntax error and YYERROR. | +`-------------------------------------------------------------*/ yyerrlab1: yyerrstatus = 3; /* Each real token shifted decrements this. */ @@ -1861,9 +1914,8 @@ YYDSYMPRINTF ("Error: popping", yystos[*yyssp], yyvsp, yylsp); yydestruct (yystos[yystate], yyvsp); - yyvsp--; - yystate = *--yyssp; - + YYPOPSTACK; + yystate = *yyssp; YY_STACK_PRINT (yyss, yyssp); } @@ -1912,7 +1964,7 @@ } - +#line 489 "scripts/kconfig/zconf.y" void conf_parse(const char *name) @@ -2127,4 +2179,3 @@ #include "symbol.c" #include "menu.c" - diff -uNr linux.org/scripts/kconfig/zconf.y linux-2.6.13.2/scripts/kconfig/zconf.y --- linux.org/scripts/kconfig/zconf.y 2005-09-23 09:27:39.000000000 +0200 +++ linux-2.6.13.2/scripts/kconfig/zconf.y 2005-09-26 19:34:47.000000000 +0200 @@ -75,6 +75,7 @@ %token T_ON %token T_SELECT %token T_RANGE +%token T_AUTORULE %left T_OR %left T_AND @@ -155,6 +156,7 @@ /* empty */ | config_option_list config_option | config_option_list depends + | config_option_list autorule | config_option_list help | config_option_list T_EOL ; @@ -414,6 +416,15 @@ current_entry->sym->help = $2; }; +/* autorule option */ + +autorule: T_AUTORULE prompt prompt T_EOL +{ + printd(DEBUG_PARSE, "%s:%d:autorule\n", zconf_curname(), zconf_lineno()); + current_entry->sym->autorule = $2; + current_entry->sym->autopara = $3; +}; + /* depends option */ depends_list: /* empty */ diff -uNr linux.org/sound/Kconfig linux-2.6.13.2/sound/Kconfig --- linux.org/sound/Kconfig 2005-09-23 09:27:39.000000000 +0200 +++ linux-2.6.13.2/sound/Kconfig 2005-09-26 19:35:56.000000000 +0200 @@ -5,6 +5,7 @@ config SOUND tristate "Sound card support" + autorule hw_egrep.sh "audio" help If you have a sound card in your computer, i.e. if it can say more than an occasional beep, say Y. Be sure to have all the information @@ -42,6 +43,7 @@ config SND tristate "Advanced Linux Sound Architecture" depends on SOUND + autorule hw_egrep.sh "audio" help Say 'Y' or 'M' to enable ALSA (Advanced Linux Sound Architecture), the new base sound system.