Merge branch 'libkeymap'
diff --git a/.gitignore b/.gitignore
index 2f86825..93712e4 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,7 +1,11 @@
*~
+*.a
*.o
*.1
+*.l[ao]
*.8
+.deps
+.libs
autom4te.cache
Makefile.in
!po/Makefile.in
@@ -16,9 +20,9 @@
stamp-h1
depcomp
install-sh
+libtool
missing
Makefile
-src/.deps
src/chvt
src/clrunimap
src/deallocvt
@@ -49,7 +53,11 @@
src/showkey
src/spawn_console
src/spawn_login
-src/loadkeys.h
-src/loadkeys.c
-src/loadkeys.analyze.h
-src/loadkeys.analyze.c
+src/libkeymap/analyze.c
+src/libkeymap/analyze.h
+src/libkeymap/parser.c
+src/libkeymap/parser.h
+tests/libkeymap-init
+tests/libkeymap-keys
+tests/libkeymap-kmap
+tests/libkeymap-parse
diff --git a/Makefile.am b/Makefile.am
index 7c1f631..89c7e83 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -1,6 +1,28 @@
+AM_DISTCHECK_CONFIGURE_FLAGS = \
+ --enable-libkeymap \
+ --enable-optional-progs
+
ACLOCAL_AMFLAGS = -I m4
EXTRA_DIST = \
CREDITS \
- contrib doc rc
-SUBDIRS = src man data po
+ contrib docs rc
+
+SUBDIRS = src data po tests docs
+
+kbd-$(VERSION).tar.xz:
+ make distcheck
+
+kbd-$(VERSION).tar.sign:
+ xz -d -c kbd-$(VERSION).tar.xz | \
+ gpg --armor --detach-sign \
+ --default-key $(GPG_KEY) \
+ --output kbd-$(VERSION).tar.sign
+
+tar: kbd-$(VERSION).tar.xz kbd-$(VERSION).tar.sign
+
+tar-sync: kbd-$(VERSION).tar.xz kbd-$(VERSION).tar.sign
+ kup put \
+ kbd-$(VERSION).tar.xz \
+ kbd-$(VERSION).tar.sign \
+ /pub/linux/utils/kbd/
diff --git a/config.h.in b/config.h.in
index 8c144f9..2be195d 100644
--- a/config.h.in
+++ b/config.h.in
@@ -21,6 +21,9 @@
*/
#undef HAVE_DIRENT_H
+/* Define to 1 if you have the <dlfcn.h> header file. */
+#undef HAVE_DLFCN_H
+
/* Define to 1 if you have the <fcntl.h> header file. */
#undef HAVE_FCNTL_H
@@ -148,6 +151,10 @@
slash. */
#undef LSTAT_FOLLOWS_SLASHED_SYMLINK
+/* Define to the sub-directory in which libtool stores uninstalled libraries.
+ */
+#undef LT_OBJDIR
+
/* Define to 1 if your C compiler doesn't accept -c and -o together. */
#undef NO_MINUS_C_MINUS_O
diff --git a/configure.ac b/configure.ac
index f1e50f8..8368997 100644
--- a/configure.ac
+++ b/configure.ac
@@ -7,10 +7,12 @@
AC_CONFIG_AUX_DIR(config)
AC_CONFIG_MACRO_DIR([m4])
-AM_INIT_AUTOMAKE([1.9 -Wall])
-AC_CONFIG_SRCDIR([src/loadkeys.y])
+AM_INIT_AUTOMAKE([1.9 -Wall color-tests dist-xz])
+AC_CONFIG_SRCDIR([src/loadkeys.c])
AC_CONFIG_HEADERS(config.h)
+PKG_CHECK_MODULES([CHECK], [check >= 0.9.4])
+
m4_ifndef([AM_SILENT_RULES], [m4_define([AM_SILENT_RULES],[])])
AM_SILENT_RULES([yes])
@@ -25,6 +27,10 @@
AC_PROG_MAKE_SET
AC_CANONICAL_HOST
+dnl older versions of automake didn't include this macro
+m4_ifdef([AM_PROG_AR], [AM_PROG_AR])
+LT_INIT
+
AM_GNU_GETTEXT_VERSION([0.14.1])
AM_GNU_GETTEXT([external])
ALL_LINGUAS=`cd $srcdir/po > /dev/null && echo *.po | sed 's/\.po//g'`
@@ -85,6 +91,11 @@
[OPTIONAL_PROGS=$enableval],[OPTIONAL_PROGS=no])
AM_CONDITIONAL(OPTIONAL_PROGS, test "$OPTIONAL_PROGS" = "yes")
+AC_ARG_ENABLE(libkeymap,
+ AS_HELP_STRING(--enable-libkeymap, [Build and install a libkeymap]),
+ [BUILD_LIBKEYMAP=$enableval],[BUILD_LIBKEYMAP=no])
+AM_CONDITIONAL(BUILD_LIBKEYMAP, test "$BUILD_LIBKEYMAP" = "yes")
+
AC_ARG_ENABLE(vlock,
AS_HELP_STRING(--disable-vlock, [do not build vlock]),
[VLOCK_PROG=no],[VLOCK_PROG=yes])
@@ -105,22 +116,30 @@
AC_SUBST(PAM_LIBS, "-lpam -lpam_misc")
fi
+AC_CHECK_PROG([HAVE_DOXYGEN], [doxygen], [yes], [no])
+AM_CONDITIONAL(HAVE_DOXYGEN, test "$HAVE_DOXYGEN" = "yes")
+
AC_CONFIG_FILES([Makefile
data/Makefile
- man/Makefile
- man/man1/Makefile
- man/man1/dumpkeys.1
- man/man1/loadkeys.1
- man/man1misc/Makefile
- man/man5/Makefile
- man/man8/Makefile
- man/man8/loadunimap.8
- man/man8/mapscrn.8
- man/man8/setfont.8
- man/man8misc/Makefile
+ docs/Makefile
+ docs/man/Makefile
+ docs/man/man1/Makefile
+ docs/man/man1/dumpkeys.1
+ docs/man/man1/loadkeys.1
+ docs/man/man1misc/Makefile
+ docs/man/man5/Makefile
+ docs/man/man8/Makefile
+ docs/man/man8/loadunimap.8
+ docs/man/man8/mapscrn.8
+ docs/man/man8/setfont.8
+ docs/man/man8misc/Makefile
+ docs/reference/Makefile
+ docs/reference/libkeymap/Makefile
po/Makefile.in
src/Makefile
- src/vlock/Makefile])
+ src/libkeymap/Makefile
+ src/vlock/Makefile
+ tests/Makefile])
AC_OUTPUT
AC_MSG_RESULT([
@@ -139,4 +158,5 @@
resizecons: ${RESIZECONS_PROGS}
optional progs: ${OPTIONAL_PROGS}
vlock: ${VLOCK_PROG}
+ libkeymap: ${BUILD_LIBKEYMAP}
])
diff --git a/docs/Makefile.am b/docs/Makefile.am
new file mode 100644
index 0000000..4f61461
--- /dev/null
+++ b/docs/Makefile.am
@@ -0,0 +1 @@
+SUBDIRS = man reference
diff --git a/doc/A20/A20.html b/docs/doc/A20/A20.html
similarity index 100%
rename from doc/A20/A20.html
rename to docs/doc/A20/A20.html
diff --git a/doc/A20/xfix-286mode2 b/docs/doc/A20/xfix-286mode2
similarity index 100%
rename from doc/A20/xfix-286mode2
rename to docs/doc/A20/xfix-286mode2
diff --git a/doc/README.Crosser b/docs/doc/README.Crosser
similarity index 100%
rename from doc/README.Crosser
rename to docs/doc/README.Crosser
diff --git a/doc/TODO b/docs/doc/TODO
similarity index 100%
rename from doc/TODO
rename to docs/doc/TODO
diff --git a/doc/as400.kbd b/docs/doc/as400.kbd
similarity index 100%
rename from doc/as400.kbd
rename to docs/doc/as400.kbd
diff --git a/doc/cirrus.videomodes b/docs/doc/cirrus.videomodes
similarity index 100%
rename from doc/cirrus.videomodes
rename to docs/doc/cirrus.videomodes
diff --git a/doc/console.docs b/docs/doc/console.docs
similarity index 100%
rename from doc/console.docs
rename to docs/doc/console.docs
diff --git a/doc/cp1252.txt b/docs/doc/cp1252.txt
similarity index 100%
rename from doc/cp1252.txt
rename to docs/doc/cp1252.txt
diff --git a/doc/dvorak/ANSI-dvorak.gif b/docs/doc/dvorak/ANSI-dvorak.gif
similarity index 100%
rename from doc/dvorak/ANSI-dvorak.gif
rename to docs/doc/dvorak/ANSI-dvorak.gif
Binary files differ
diff --git a/doc/dvorak/dvorak-l.xmodmap b/docs/doc/dvorak/dvorak-l.xmodmap
similarity index 100%
rename from doc/dvorak/dvorak-l.xmodmap
rename to docs/doc/dvorak/dvorak-l.xmodmap
diff --git a/doc/dvorak/dvorak-r.xmodmap b/docs/doc/dvorak/dvorak-r.xmodmap
similarity index 100%
rename from doc/dvorak/dvorak-r.xmodmap
rename to docs/doc/dvorak/dvorak-r.xmodmap
diff --git a/doc/dvorak/dvorak.diffs b/docs/doc/dvorak/dvorak.diffs
similarity index 100%
rename from doc/dvorak/dvorak.diffs
rename to docs/doc/dvorak/dvorak.diffs
diff --git a/doc/dvorak/dvorak.txt b/docs/doc/dvorak/dvorak.txt
similarity index 100%
rename from doc/dvorak/dvorak.txt
rename to docs/doc/dvorak/dvorak.txt
diff --git a/doc/dvorak/dvorak.xmodmap b/docs/doc/dvorak/dvorak.xmodmap
similarity index 100%
rename from doc/dvorak/dvorak.xmodmap
rename to docs/doc/dvorak/dvorak.xmodmap
diff --git a/doc/font-formats/font-formats-1.html b/docs/doc/font-formats/font-formats-1.html
similarity index 100%
rename from doc/font-formats/font-formats-1.html
rename to docs/doc/font-formats/font-formats-1.html
diff --git a/doc/font-formats/font-formats-2.html b/docs/doc/font-formats/font-formats-2.html
similarity index 100%
rename from doc/font-formats/font-formats-2.html
rename to docs/doc/font-formats/font-formats-2.html
diff --git a/doc/font-formats/font-formats-3.html b/docs/doc/font-formats/font-formats-3.html
similarity index 100%
rename from doc/font-formats/font-formats-3.html
rename to docs/doc/font-formats/font-formats-3.html
diff --git a/doc/font-formats/font-formats-4.html b/docs/doc/font-formats/font-formats-4.html
similarity index 100%
rename from doc/font-formats/font-formats-4.html
rename to docs/doc/font-formats/font-formats-4.html
diff --git a/doc/font-formats/font-formats-5.html b/docs/doc/font-formats/font-formats-5.html
similarity index 100%
rename from doc/font-formats/font-formats-5.html
rename to docs/doc/font-formats/font-formats-5.html
diff --git a/doc/font-formats/font-formats.html b/docs/doc/font-formats/font-formats.html
similarity index 100%
rename from doc/font-formats/font-formats.html
rename to docs/doc/font-formats/font-formats.html
diff --git a/doc/font-formats/font-formats.sgml b/docs/doc/font-formats/font-formats.sgml
similarity index 100%
rename from doc/font-formats/font-formats.sgml
rename to docs/doc/font-formats/font-formats.sgml
diff --git a/doc/iso8859-1.txt b/docs/doc/iso8859-1.txt
similarity index 100%
rename from doc/iso8859-1.txt
rename to docs/doc/iso8859-1.txt
diff --git a/doc/iso8859-10.txt b/docs/doc/iso8859-10.txt
similarity index 100%
rename from doc/iso8859-10.txt
rename to docs/doc/iso8859-10.txt
diff --git a/doc/iso8859-11.txt b/docs/doc/iso8859-11.txt
similarity index 100%
rename from doc/iso8859-11.txt
rename to docs/doc/iso8859-11.txt
diff --git a/doc/iso8859-13.txt b/docs/doc/iso8859-13.txt
similarity index 100%
rename from doc/iso8859-13.txt
rename to docs/doc/iso8859-13.txt
diff --git a/doc/iso8859-14.txt b/docs/doc/iso8859-14.txt
similarity index 100%
rename from doc/iso8859-14.txt
rename to docs/doc/iso8859-14.txt
diff --git a/doc/iso8859-15.txt b/docs/doc/iso8859-15.txt
similarity index 100%
rename from doc/iso8859-15.txt
rename to docs/doc/iso8859-15.txt
diff --git a/doc/iso8859-2.txt b/docs/doc/iso8859-2.txt
similarity index 100%
rename from doc/iso8859-2.txt
rename to docs/doc/iso8859-2.txt
diff --git a/doc/iso8859-3.txt b/docs/doc/iso8859-3.txt
similarity index 100%
rename from doc/iso8859-3.txt
rename to docs/doc/iso8859-3.txt
diff --git a/doc/iso8859-4.txt b/docs/doc/iso8859-4.txt
similarity index 100%
rename from doc/iso8859-4.txt
rename to docs/doc/iso8859-4.txt
diff --git a/doc/iso8859-5.txt b/docs/doc/iso8859-5.txt
similarity index 100%
rename from doc/iso8859-5.txt
rename to docs/doc/iso8859-5.txt
diff --git a/doc/iso8859-6.txt b/docs/doc/iso8859-6.txt
similarity index 100%
rename from doc/iso8859-6.txt
rename to docs/doc/iso8859-6.txt
diff --git a/doc/iso8859-7.txt b/docs/doc/iso8859-7.txt
similarity index 100%
rename from doc/iso8859-7.txt
rename to docs/doc/iso8859-7.txt
diff --git a/doc/iso8859-8.txt b/docs/doc/iso8859-8.txt
similarity index 100%
rename from doc/iso8859-8.txt
rename to docs/doc/iso8859-8.txt
diff --git a/doc/iso8859-9.txt b/docs/doc/iso8859-9.txt
similarity index 100%
rename from doc/iso8859-9.txt
rename to docs/doc/iso8859-9.txt
diff --git a/doc/iso8859.info b/docs/doc/iso8859.info
similarity index 100%
rename from doc/iso8859.info
rename to docs/doc/iso8859.info
diff --git a/doc/kbd.FAQ-1.html b/docs/doc/kbd.FAQ-1.html
similarity index 100%
rename from doc/kbd.FAQ-1.html
rename to docs/doc/kbd.FAQ-1.html
diff --git a/doc/kbd.FAQ-10.html b/docs/doc/kbd.FAQ-10.html
similarity index 100%
rename from doc/kbd.FAQ-10.html
rename to docs/doc/kbd.FAQ-10.html
diff --git a/doc/kbd.FAQ-11.html b/docs/doc/kbd.FAQ-11.html
similarity index 100%
rename from doc/kbd.FAQ-11.html
rename to docs/doc/kbd.FAQ-11.html
diff --git a/doc/kbd.FAQ-12.html b/docs/doc/kbd.FAQ-12.html
similarity index 100%
rename from doc/kbd.FAQ-12.html
rename to docs/doc/kbd.FAQ-12.html
diff --git a/doc/kbd.FAQ-13.html b/docs/doc/kbd.FAQ-13.html
similarity index 100%
rename from doc/kbd.FAQ-13.html
rename to docs/doc/kbd.FAQ-13.html
diff --git a/doc/kbd.FAQ-14.html b/docs/doc/kbd.FAQ-14.html
similarity index 100%
rename from doc/kbd.FAQ-14.html
rename to docs/doc/kbd.FAQ-14.html
diff --git a/doc/kbd.FAQ-15.html b/docs/doc/kbd.FAQ-15.html
similarity index 100%
rename from doc/kbd.FAQ-15.html
rename to docs/doc/kbd.FAQ-15.html
diff --git a/doc/kbd.FAQ-16.html b/docs/doc/kbd.FAQ-16.html
similarity index 100%
rename from doc/kbd.FAQ-16.html
rename to docs/doc/kbd.FAQ-16.html
diff --git a/doc/kbd.FAQ-17.html b/docs/doc/kbd.FAQ-17.html
similarity index 100%
rename from doc/kbd.FAQ-17.html
rename to docs/doc/kbd.FAQ-17.html
diff --git a/doc/kbd.FAQ-18.html b/docs/doc/kbd.FAQ-18.html
similarity index 100%
rename from doc/kbd.FAQ-18.html
rename to docs/doc/kbd.FAQ-18.html
diff --git a/doc/kbd.FAQ-19.html b/docs/doc/kbd.FAQ-19.html
similarity index 100%
rename from doc/kbd.FAQ-19.html
rename to docs/doc/kbd.FAQ-19.html
diff --git a/doc/kbd.FAQ-2.html b/docs/doc/kbd.FAQ-2.html
similarity index 100%
rename from doc/kbd.FAQ-2.html
rename to docs/doc/kbd.FAQ-2.html
diff --git a/doc/kbd.FAQ-20.html b/docs/doc/kbd.FAQ-20.html
similarity index 100%
rename from doc/kbd.FAQ-20.html
rename to docs/doc/kbd.FAQ-20.html
diff --git a/doc/kbd.FAQ-21.html b/docs/doc/kbd.FAQ-21.html
similarity index 100%
rename from doc/kbd.FAQ-21.html
rename to docs/doc/kbd.FAQ-21.html
diff --git a/doc/kbd.FAQ-22.html b/docs/doc/kbd.FAQ-22.html
similarity index 100%
rename from doc/kbd.FAQ-22.html
rename to docs/doc/kbd.FAQ-22.html
diff --git a/doc/kbd.FAQ-23.html b/docs/doc/kbd.FAQ-23.html
similarity index 100%
rename from doc/kbd.FAQ-23.html
rename to docs/doc/kbd.FAQ-23.html
diff --git a/doc/kbd.FAQ-3.html b/docs/doc/kbd.FAQ-3.html
similarity index 100%
rename from doc/kbd.FAQ-3.html
rename to docs/doc/kbd.FAQ-3.html
diff --git a/doc/kbd.FAQ-4.html b/docs/doc/kbd.FAQ-4.html
similarity index 100%
rename from doc/kbd.FAQ-4.html
rename to docs/doc/kbd.FAQ-4.html
diff --git a/doc/kbd.FAQ-5.html b/docs/doc/kbd.FAQ-5.html
similarity index 100%
rename from doc/kbd.FAQ-5.html
rename to docs/doc/kbd.FAQ-5.html
diff --git a/doc/kbd.FAQ-6.html b/docs/doc/kbd.FAQ-6.html
similarity index 100%
rename from doc/kbd.FAQ-6.html
rename to docs/doc/kbd.FAQ-6.html
diff --git a/doc/kbd.FAQ-7.html b/docs/doc/kbd.FAQ-7.html
similarity index 100%
rename from doc/kbd.FAQ-7.html
rename to docs/doc/kbd.FAQ-7.html
diff --git a/doc/kbd.FAQ-8.html b/docs/doc/kbd.FAQ-8.html
similarity index 100%
rename from doc/kbd.FAQ-8.html
rename to docs/doc/kbd.FAQ-8.html
diff --git a/doc/kbd.FAQ-9.html b/docs/doc/kbd.FAQ-9.html
similarity index 100%
rename from doc/kbd.FAQ-9.html
rename to docs/doc/kbd.FAQ-9.html
diff --git a/doc/kbd.FAQ.html b/docs/doc/kbd.FAQ.html
similarity index 100%
rename from doc/kbd.FAQ.html
rename to docs/doc/kbd.FAQ.html
diff --git a/doc/kbd.FAQ.sgml b/docs/doc/kbd.FAQ.sgml
similarity index 100%
rename from doc/kbd.FAQ.sgml
rename to docs/doc/kbd.FAQ.sgml
diff --git a/doc/kbd.FAQ.txt b/docs/doc/kbd.FAQ.txt
similarity index 100%
rename from doc/kbd.FAQ.txt
rename to docs/doc/kbd.FAQ.txt
diff --git a/doc/keysyms.h.info b/docs/doc/keysyms.h.info
similarity index 100%
rename from doc/keysyms.h.info
rename to docs/doc/keysyms.h.info
diff --git a/doc/n474.doc b/docs/doc/n474.doc
similarity index 100%
rename from doc/n474.doc
rename to docs/doc/n474.doc
Binary files differ
diff --git a/doc/repeat/set_kbd_repeat-1 b/docs/doc/repeat/set_kbd_repeat-1
similarity index 100%
rename from doc/repeat/set_kbd_repeat-1
rename to docs/doc/repeat/set_kbd_repeat-1
diff --git a/doc/repeat/set_kbd_repeat-2 b/docs/doc/repeat/set_kbd_repeat-2
similarity index 100%
rename from doc/repeat/set_kbd_repeat-2
rename to docs/doc/repeat/set_kbd_repeat-2
diff --git a/doc/scancodes/README b/docs/doc/scancodes/README
similarity index 100%
rename from doc/scancodes/README
rename to docs/doc/scancodes/README
diff --git a/doc/utf/README b/docs/doc/utf/README
similarity index 100%
rename from doc/utf/README
rename to docs/doc/utf/README
diff --git a/doc/utf/ethiopic b/docs/doc/utf/ethiopic
similarity index 100%
rename from doc/utf/ethiopic
rename to docs/doc/utf/ethiopic
diff --git a/doc/utf/utfdemo b/docs/doc/utf/utfdemo
similarity index 100%
rename from doc/utf/utfdemo
rename to docs/doc/utf/utfdemo
diff --git a/doc/utf/utflist b/docs/doc/utf/utflist
similarity index 100%
rename from doc/utf/utflist
rename to docs/doc/utf/utflist
diff --git "a/doc/utf/\342\231\252\342\231\254" "b/docs/doc/utf/\342\231\252\342\231\254"
similarity index 100%
rename from "doc/utf/\342\231\252\342\231\254"
rename to "docs/doc/utf/\342\231\252\342\231\254"
diff --git a/man/Makefile.am b/docs/man/Makefile.am
similarity index 100%
rename from man/Makefile.am
rename to docs/man/Makefile.am
diff --git a/man/man1/Makefile.am b/docs/man/man1/Makefile.am
similarity index 100%
rename from man/man1/Makefile.am
rename to docs/man/man1/Makefile.am
diff --git a/man/man1/chvt.1 b/docs/man/man1/chvt.1
similarity index 100%
rename from man/man1/chvt.1
rename to docs/man/man1/chvt.1
diff --git a/man/man1/deallocvt.1 b/docs/man/man1/deallocvt.1
similarity index 100%
rename from man/man1/deallocvt.1
rename to docs/man/man1/deallocvt.1
diff --git a/man/man1/dumpkeys.1.in b/docs/man/man1/dumpkeys.1.in
similarity index 100%
rename from man/man1/dumpkeys.1.in
rename to docs/man/man1/dumpkeys.1.in
diff --git a/man/man1/fgconsole.1 b/docs/man/man1/fgconsole.1
similarity index 100%
rename from man/man1/fgconsole.1
rename to docs/man/man1/fgconsole.1
diff --git a/man/man1/kbd_mode.1 b/docs/man/man1/kbd_mode.1
similarity index 100%
rename from man/man1/kbd_mode.1
rename to docs/man/man1/kbd_mode.1
diff --git a/man/man1/loadkeys.1.in b/docs/man/man1/loadkeys.1.in
similarity index 100%
rename from man/man1/loadkeys.1.in
rename to docs/man/man1/loadkeys.1.in
diff --git a/man/man1/openvt.1 b/docs/man/man1/openvt.1
similarity index 100%
rename from man/man1/openvt.1
rename to docs/man/man1/openvt.1
diff --git a/man/man1/psfaddtable.1 b/docs/man/man1/psfaddtable.1
similarity index 100%
rename from man/man1/psfaddtable.1
rename to docs/man/man1/psfaddtable.1
diff --git a/man/man1/psfgettable.1 b/docs/man/man1/psfgettable.1
similarity index 100%
rename from man/man1/psfgettable.1
rename to docs/man/man1/psfgettable.1
diff --git a/man/man1/psfstriptable.1 b/docs/man/man1/psfstriptable.1
similarity index 100%
rename from man/man1/psfstriptable.1
rename to docs/man/man1/psfstriptable.1
diff --git a/man/man1/psfxtable.1 b/docs/man/man1/psfxtable.1
similarity index 100%
rename from man/man1/psfxtable.1
rename to docs/man/man1/psfxtable.1
diff --git a/man/man1/setleds.1 b/docs/man/man1/setleds.1
similarity index 100%
rename from man/man1/setleds.1
rename to docs/man/man1/setleds.1
diff --git a/man/man1/setmetamode.1 b/docs/man/man1/setmetamode.1
similarity index 100%
rename from man/man1/setmetamode.1
rename to docs/man/man1/setmetamode.1
diff --git a/man/man1/showkey.1 b/docs/man/man1/showkey.1
similarity index 100%
rename from man/man1/showkey.1
rename to docs/man/man1/showkey.1
diff --git a/man/man1/unicode_start.1 b/docs/man/man1/unicode_start.1
similarity index 100%
rename from man/man1/unicode_start.1
rename to docs/man/man1/unicode_start.1
diff --git a/man/man1/unicode_stop.1 b/docs/man/man1/unicode_stop.1
similarity index 100%
rename from man/man1/unicode_stop.1
rename to docs/man/man1/unicode_stop.1
diff --git a/man/man1/vlock.1 b/docs/man/man1/vlock.1
similarity index 100%
rename from man/man1/vlock.1
rename to docs/man/man1/vlock.1
diff --git a/man/man1misc/Makefile.am b/docs/man/man1misc/Makefile.am
similarity index 100%
rename from man/man1misc/Makefile.am
rename to docs/man/man1misc/Makefile.am
diff --git a/man/man1misc/codepage.1 b/docs/man/man1misc/codepage.1
similarity index 100%
rename from man/man1misc/codepage.1
rename to docs/man/man1misc/codepage.1
diff --git a/man/man1misc/screendump.1 b/docs/man/man1misc/screendump.1
similarity index 100%
rename from man/man1misc/screendump.1
rename to docs/man/man1misc/screendump.1
diff --git a/man/man1misc/splitfont.1 b/docs/man/man1misc/splitfont.1
similarity index 100%
rename from man/man1misc/splitfont.1
rename to docs/man/man1misc/splitfont.1
diff --git a/man/man5/Makefile.am b/docs/man/man5/Makefile.am
similarity index 100%
rename from man/man5/Makefile.am
rename to docs/man/man5/Makefile.am
diff --git a/man/man5/keymaps.5 b/docs/man/man5/keymaps.5
similarity index 100%
rename from man/man5/keymaps.5
rename to docs/man/man5/keymaps.5
diff --git a/man/man8/Makefile.am b/docs/man/man8/Makefile.am
similarity index 100%
rename from man/man8/Makefile.am
rename to docs/man/man8/Makefile.am
diff --git a/man/man8/getkeycodes.8 b/docs/man/man8/getkeycodes.8
similarity index 100%
rename from man/man8/getkeycodes.8
rename to docs/man/man8/getkeycodes.8
diff --git a/man/man8/kbdrate.8 b/docs/man/man8/kbdrate.8
similarity index 100%
rename from man/man8/kbdrate.8
rename to docs/man/man8/kbdrate.8
diff --git a/man/man8/loadunimap.8.in b/docs/man/man8/loadunimap.8.in
similarity index 100%
rename from man/man8/loadunimap.8.in
rename to docs/man/man8/loadunimap.8.in
diff --git a/man/man8/mapscrn.8.in b/docs/man/man8/mapscrn.8.in
similarity index 100%
rename from man/man8/mapscrn.8.in
rename to docs/man/man8/mapscrn.8.in
diff --git a/man/man8/resizecons.8 b/docs/man/man8/resizecons.8
similarity index 100%
rename from man/man8/resizecons.8
rename to docs/man/man8/resizecons.8
diff --git a/man/man8/setfont.8.in b/docs/man/man8/setfont.8.in
similarity index 100%
rename from man/man8/setfont.8.in
rename to docs/man/man8/setfont.8.in
diff --git a/man/man8/setkeycodes.8 b/docs/man/man8/setkeycodes.8
similarity index 100%
rename from man/man8/setkeycodes.8
rename to docs/man/man8/setkeycodes.8
diff --git a/man/man8/setvtrgb.8 b/docs/man/man8/setvtrgb.8
similarity index 100%
rename from man/man8/setvtrgb.8
rename to docs/man/man8/setvtrgb.8
diff --git a/man/man8/showconsolefont.8 b/docs/man/man8/showconsolefont.8
similarity index 100%
rename from man/man8/showconsolefont.8
rename to docs/man/man8/showconsolefont.8
diff --git a/man/man8misc/Makefile.am b/docs/man/man8misc/Makefile.am
similarity index 100%
rename from man/man8misc/Makefile.am
rename to docs/man/man8misc/Makefile.am
diff --git a/man/man8misc/clrunimap.8 b/docs/man/man8misc/clrunimap.8
similarity index 100%
rename from man/man8misc/clrunimap.8
rename to docs/man/man8misc/clrunimap.8
diff --git a/man/man8misc/getunimap.8 b/docs/man/man8misc/getunimap.8
similarity index 100%
rename from man/man8misc/getunimap.8
rename to docs/man/man8misc/getunimap.8
diff --git a/man/man8misc/mk_modmap.8 b/docs/man/man8misc/mk_modmap.8
similarity index 100%
rename from man/man8misc/mk_modmap.8
rename to docs/man/man8misc/mk_modmap.8
diff --git a/man/man8misc/setlogcons.8 b/docs/man/man8misc/setlogcons.8
similarity index 100%
rename from man/man8misc/setlogcons.8
rename to docs/man/man8misc/setlogcons.8
diff --git a/man/man8misc/setvesablank.8 b/docs/man/man8misc/setvesablank.8
similarity index 100%
rename from man/man8misc/setvesablank.8
rename to docs/man/man8misc/setvesablank.8
diff --git a/man/man8misc/vcstime.8 b/docs/man/man8misc/vcstime.8
similarity index 100%
rename from man/man8misc/vcstime.8
rename to docs/man/man8misc/vcstime.8
diff --git a/docs/reference/Makefile.am b/docs/reference/Makefile.am
new file mode 100644
index 0000000..075ede3
--- /dev/null
+++ b/docs/reference/Makefile.am
@@ -0,0 +1,5 @@
+if BUILD_LIBKEYMAP
+if HAVE_DOXYGEN
+SUBDIRS = libkeymap
+endif
+endif
diff --git a/docs/reference/libkeymap/Doxyfile.in b/docs/reference/libkeymap/Doxyfile.in
new file mode 100644
index 0000000..dcd4090
--- /dev/null
+++ b/docs/reference/libkeymap/Doxyfile.in
@@ -0,0 +1,1786 @@
+# Doxyfile 1.7.6.1
+
+# This file describes the settings to be used by the documentation system
+# doxygen (www.doxygen.org) for a project.
+#
+# All text after a hash (#) is considered a comment and will be ignored.
+# The format is:
+# TAG = value [value, ...]
+# For lists items can also be appended using:
+# TAG += value [value, ...]
+# Values that contain spaces should be placed between quotes (" ").
+
+#---------------------------------------------------------------------------
+# Project related configuration options
+#---------------------------------------------------------------------------
+
+# This tag specifies the encoding used for all characters in the config file
+# that follow. The default is UTF-8 which is also the encoding used for all
+# text before the first occurrence of this tag. Doxygen uses libiconv (or the
+# iconv built into libc) for the transcoding. See
+# http://www.gnu.org/software/libiconv for the list of possible encodings.
+
+DOXYFILE_ENCODING = UTF-8
+
+# The PROJECT_NAME tag is a single word (or sequence of words) that should
+# identify the project. Note that if you do not use Doxywizard you need
+# to put quotes around the project name if it contains spaces.
+
+PROJECT_NAME = "@MODULE@"
+
+# The PROJECT_NUMBER tag can be used to enter a project or revision number.
+# This could be handy for archiving the generated documentation or
+# if some version control system is used.
+
+PROJECT_NUMBER = @VERSION@
+
+# Using the PROJECT_BRIEF tag one can provide an optional one line description
+# for a project that appears at the top of each page and should give viewer
+# a quick idea about the purpose of the project. Keep the description short.
+
+PROJECT_BRIEF = "Library to manage the Linux keymaps"
+
+# With the PROJECT_LOGO tag one can specify an logo or icon that is
+# included in the documentation. The maximum height of the logo should not
+# exceed 55 pixels and the maximum width should not exceed 200 pixels.
+# Doxygen will copy the logo to the output directory.
+
+PROJECT_LOGO =
+
+# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute)
+# base path where the generated documentation will be put.
+# If a relative path is entered, it will be relative to the location
+# where doxygen was started. If left blank the current directory will be used.
+
+OUTPUT_DIRECTORY = @BUILDDIR@
+
+# If the CREATE_SUBDIRS tag is set to YES, then doxygen will create
+# 4096 sub-directories (in 2 levels) under the output directory of each output
+# format and will distribute the generated files over these directories.
+# Enabling this option can be useful when feeding doxygen a huge amount of
+# source files, where putting all generated files in the same directory would
+# otherwise cause performance problems for the file system.
+
+CREATE_SUBDIRS = NO
+
+# The OUTPUT_LANGUAGE tag is used to specify the language in which all
+# documentation generated by doxygen is written. Doxygen will use this
+# information to generate all constant output in the proper language.
+# The default language is English, other supported languages are:
+# Afrikaans, Arabic, Brazilian, Catalan, Chinese, Chinese-Traditional,
+# Croatian, Czech, Danish, Dutch, Esperanto, Farsi, Finnish, French, German,
+# Greek, Hungarian, Italian, Japanese, Japanese-en (Japanese with English
+# messages), Korean, Korean-en, Lithuanian, Norwegian, Macedonian, Persian,
+# Polish, Portuguese, Romanian, Russian, Serbian, Serbian-Cyrillic, Slovak,
+# Slovene, Spanish, Swedish, Ukrainian, and Vietnamese.
+
+OUTPUT_LANGUAGE = English
+
+# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will
+# include brief member descriptions after the members that are listed in
+# the file and class documentation (similar to JavaDoc).
+# Set to NO to disable this.
+
+BRIEF_MEMBER_DESC = YES
+
+# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend
+# the brief description of a member or function before the detailed description.
+# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the
+# brief descriptions will be completely suppressed.
+
+REPEAT_BRIEF = YES
+
+# This tag implements a quasi-intelligent brief description abbreviator
+# that is used to form the text in various listings. Each string
+# in this list, if found as the leading text of the brief description, will be
+# stripped from the text and the result after processing the whole list, is
+# used as the annotated text. Otherwise, the brief description is used as-is.
+# If left blank, the following values are used ("$name" is automatically
+# replaced with the name of the entity): "The $name class" "The $name widget"
+# "The $name file" "is" "provides" "specifies" "contains"
+# "represents" "a" "an" "the"
+
+ABBREVIATE_BRIEF =
+
+# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then
+# Doxygen will generate a detailed section even if there is only a brief
+# description.
+
+ALWAYS_DETAILED_SEC = NO
+
+# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all
+# inherited members of a class in the documentation of that class as if those
+# members were ordinary class members. Constructors, destructors and assignment
+# operators of the base classes will not be shown.
+
+INLINE_INHERITED_MEMB = NO
+
+# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full
+# path before files name in the file list and in the header files. If set
+# to NO the shortest path that makes the file name unique will be used.
+
+FULL_PATH_NAMES = YES
+
+# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag
+# can be used to strip a user-defined part of the path. Stripping is
+# only done if one of the specified strings matches the left-hand part of
+# the path. The tag can be used to show relative paths in the file list.
+# If left blank the directory from which doxygen is run is used as the
+# path to strip.
+
+STRIP_FROM_PATH = @TOPDIR@
+
+# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of
+# the path mentioned in the documentation of a class, which tells
+# the reader which header file to include in order to use a class.
+# If left blank only the name of the header file containing the class
+# definition is used. Otherwise one should specify the include paths that
+# are normally passed to the compiler using the -I flag.
+
+STRIP_FROM_INC_PATH =
+
+# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter
+# (but less readable) file names. This can be useful if your file system
+# doesn't support long names like on DOS, Mac, or CD-ROM.
+
+SHORT_NAMES = NO
+
+# If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen
+# will interpret the first line (until the first dot) of a JavaDoc-style
+# comment as the brief description. If set to NO, the JavaDoc
+# comments will behave just like regular Qt-style comments
+# (thus requiring an explicit @brief command for a brief description.)
+
+JAVADOC_AUTOBRIEF = NO
+
+# If the QT_AUTOBRIEF tag is set to YES then Doxygen will
+# interpret the first line (until the first dot) of a Qt-style
+# comment as the brief description. If set to NO, the comments
+# will behave just like regular Qt-style comments (thus requiring
+# an explicit \brief command for a brief description.)
+
+QT_AUTOBRIEF = NO
+
+# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen
+# treat a multi-line C++ special comment block (i.e. a block of //! or ///
+# comments) as a brief description. This used to be the default behaviour.
+# The new default is to treat a multi-line C++ comment block as a detailed
+# description. Set this tag to YES if you prefer the old behaviour instead.
+
+MULTILINE_CPP_IS_BRIEF = NO
+
+# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented
+# member inherits the documentation from any documented member that it
+# re-implements.
+
+INHERIT_DOCS = YES
+
+# If the SEPARATE_MEMBER_PAGES tag is set to YES, then doxygen will produce
+# a new page for each member. If set to NO, the documentation of a member will
+# be part of the file/class/namespace that contains it.
+
+SEPARATE_MEMBER_PAGES = NO
+
+# The TAB_SIZE tag can be used to set the number of spaces in a tab.
+# Doxygen uses this value to replace tabs by spaces in code fragments.
+
+TAB_SIZE = 8
+
+# This tag can be used to specify a number of aliases that acts
+# as commands in the documentation. An alias has the form "name=value".
+# For example adding "sideeffect=\par Side Effects:\n" will allow you to
+# put the command \sideeffect (or @sideeffect) in the documentation, which
+# will result in a user-defined paragraph with heading "Side Effects:".
+# You can put \n's in the value part of an alias to insert newlines.
+
+ALIASES =
+
+# This tag can be used to specify a number of word-keyword mappings (TCL only).
+# A mapping has the form "name=value". For example adding
+# "class=itcl::class" will allow you to use the command class in the
+# itcl::class meaning.
+
+TCL_SUBST =
+
+# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C
+# sources only. Doxygen will then generate output that is more tailored for C.
+# For instance, some of the names that are used will be different. The list
+# of all members will be omitted, etc.
+
+OPTIMIZE_OUTPUT_FOR_C = YES
+
+# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java
+# sources only. Doxygen will then generate output that is more tailored for
+# Java. For instance, namespaces will be presented as packages, qualified
+# scopes will look different, etc.
+
+OPTIMIZE_OUTPUT_JAVA = NO
+
+# Set the OPTIMIZE_FOR_FORTRAN tag to YES if your project consists of Fortran
+# sources only. Doxygen will then generate output that is more tailored for
+# Fortran.
+
+OPTIMIZE_FOR_FORTRAN = NO
+
+# Set the OPTIMIZE_OUTPUT_VHDL tag to YES if your project consists of VHDL
+# sources. Doxygen will then generate output that is tailored for
+# VHDL.
+
+OPTIMIZE_OUTPUT_VHDL = NO
+
+# Doxygen selects the parser to use depending on the extension of the files it
+# parses. With this tag you can assign which parser to use for a given extension.
+# Doxygen has a built-in mapping, but you can override or extend it using this
+# tag. The format is ext=language, where ext is a file extension, and language
+# is one of the parsers supported by doxygen: IDL, Java, Javascript, CSharp, C,
+# C++, D, PHP, Objective-C, Python, Fortran, VHDL, C, C++. For instance to make
+# doxygen treat .inc files as Fortran files (default is PHP), and .f files as C
+# (default is Fortran), use: inc=Fortran f=C. Note that for custom extensions
+# you also need to set FILE_PATTERNS otherwise the files are not read by doxygen.
+
+EXTENSION_MAPPING =
+
+# If you use STL classes (i.e. std::string, std::vector, etc.) but do not want
+# to include (a tag file for) the STL sources as input, then you should
+# set this tag to YES in order to let doxygen match functions declarations and
+# definitions whose arguments contain STL classes (e.g. func(std::string); v.s.
+# func(std::string) {}). This also makes the inheritance and collaboration
+# diagrams that involve STL classes more complete and accurate.
+
+BUILTIN_STL_SUPPORT = NO
+
+# If you use Microsoft's C++/CLI language, you should set this option to YES to
+# enable parsing support.
+
+CPP_CLI_SUPPORT = NO
+
+# Set the SIP_SUPPORT tag to YES if your project consists of sip sources only.
+# Doxygen will parse them like normal C++ but will assume all classes use public
+# instead of private inheritance when no explicit protection keyword is present.
+
+SIP_SUPPORT = NO
+
+# For Microsoft's IDL there are propget and propput attributes to indicate getter
+# and setter methods for a property. Setting this option to YES (the default)
+# will make doxygen replace the get and set methods by a property in the
+# documentation. This will only work if the methods are indeed getting or
+# setting a simple type. If this is not the case, or you want to show the
+# methods anyway, you should set this option to NO.
+
+IDL_PROPERTY_SUPPORT = YES
+
+# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC
+# tag is set to YES, then doxygen will reuse the documentation of the first
+# member in the group (if any) for the other members of the group. By default
+# all members of a group must be documented explicitly.
+
+DISTRIBUTE_GROUP_DOC = NO
+
+# Set the SUBGROUPING tag to YES (the default) to allow class member groups of
+# the same type (for instance a group of public functions) to be put as a
+# subgroup of that type (e.g. under the Public Functions section). Set it to
+# NO to prevent subgrouping. Alternatively, this can be done per class using
+# the \nosubgrouping command.
+
+SUBGROUPING = YES
+
+# When the INLINE_GROUPED_CLASSES tag is set to YES, classes, structs and
+# unions are shown inside the group in which they are included (e.g. using
+# @ingroup) instead of on a separate page (for HTML and Man pages) or
+# section (for LaTeX and RTF).
+
+INLINE_GROUPED_CLASSES = NO
+
+# When the INLINE_SIMPLE_STRUCTS tag is set to YES, structs, classes, and
+# unions with only public data fields will be shown inline in the documentation
+# of the scope in which they are defined (i.e. file, namespace, or group
+# documentation), provided this scope is documented. If set to NO (the default),
+# structs, classes, and unions are shown on a separate page (for HTML and Man
+# pages) or section (for LaTeX and RTF).
+
+INLINE_SIMPLE_STRUCTS = NO
+
+# When TYPEDEF_HIDES_STRUCT is enabled, a typedef of a struct, union, or enum
+# is documented as struct, union, or enum with the name of the typedef. So
+# typedef struct TypeS {} TypeT, will appear in the documentation as a struct
+# with name TypeT. When disabled the typedef will appear as a member of a file,
+# namespace, or class. And the struct will be named TypeS. This can typically
+# be useful for C code in case the coding convention dictates that all compound
+# types are typedef'ed and only the typedef is referenced, never the tag name.
+
+TYPEDEF_HIDES_STRUCT = NO
+
+# The SYMBOL_CACHE_SIZE determines the size of the internal cache use to
+# determine which symbols to keep in memory and which to flush to disk.
+# When the cache is full, less often used symbols will be written to disk.
+# For small to medium size projects (<1000 input files) the default value is
+# probably good enough. For larger projects a too small cache size can cause
+# doxygen to be busy swapping symbols to and from disk most of the time
+# causing a significant performance penalty.
+# If the system has enough physical memory increasing the cache will improve the
+# performance by keeping more symbols in memory. Note that the value works on
+# a logarithmic scale so increasing the size by one will roughly double the
+# memory usage. The cache size is given by this formula:
+# 2^(16+SYMBOL_CACHE_SIZE). The valid range is 0..9, the default is 0,
+# corresponding to a cache size of 2^16 = 65536 symbols.
+
+SYMBOL_CACHE_SIZE = 0
+
+# Similar to the SYMBOL_CACHE_SIZE the size of the symbol lookup cache can be
+# set using LOOKUP_CACHE_SIZE. This cache is used to resolve symbols given
+# their name and scope. Since this can be an expensive process and often the
+# same symbol appear multiple times in the code, doxygen keeps a cache of
+# pre-resolved symbols. If the cache is too small doxygen will become slower.
+# If the cache is too large, memory is wasted. The cache size is given by this
+# formula: 2^(16+LOOKUP_CACHE_SIZE). The valid range is 0..9, the default is 0,
+# corresponding to a cache size of 2^16 = 65536 symbols.
+
+LOOKUP_CACHE_SIZE = 0
+
+#---------------------------------------------------------------------------
+# Build related configuration options
+#---------------------------------------------------------------------------
+
+# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in
+# documentation are documented, even if no documentation was available.
+# Private class members and static file members will be hidden unless
+# the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES
+
+EXTRACT_ALL = YES
+
+# If the EXTRACT_PRIVATE tag is set to YES all private members of a class
+# will be included in the documentation.
+
+EXTRACT_PRIVATE = NO
+
+# If the EXTRACT_STATIC tag is set to YES all static members of a file
+# will be included in the documentation.
+
+EXTRACT_STATIC = NO
+
+# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs)
+# defined locally in source files will be included in the documentation.
+# If set to NO only classes defined in header files are included.
+
+EXTRACT_LOCAL_CLASSES = NO
+
+# This flag is only useful for Objective-C code. When set to YES local
+# methods, which are defined in the implementation section but not in
+# the interface are included in the documentation.
+# If set to NO (the default) only methods in the interface are included.
+
+EXTRACT_LOCAL_METHODS = NO
+
+# If this flag is set to YES, the members of anonymous namespaces will be
+# extracted and appear in the documentation as a namespace called
+# 'anonymous_namespace{file}', where file will be replaced with the base
+# name of the file that contains the anonymous namespace. By default
+# anonymous namespaces are hidden.
+
+EXTRACT_ANON_NSPACES = NO
+
+# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all
+# undocumented members of documented classes, files or namespaces.
+# If set to NO (the default) these members will be included in the
+# various overviews, but no documentation section is generated.
+# This option has no effect if EXTRACT_ALL is enabled.
+
+HIDE_UNDOC_MEMBERS = YES
+
+# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all
+# undocumented classes that are normally visible in the class hierarchy.
+# If set to NO (the default) these classes will be included in the various
+# overviews. This option has no effect if EXTRACT_ALL is enabled.
+
+HIDE_UNDOC_CLASSES = NO
+
+# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all
+# friend (class|struct|union) declarations.
+# If set to NO (the default) these declarations will be included in the
+# documentation.
+
+HIDE_FRIEND_COMPOUNDS = NO
+
+# If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any
+# documentation blocks found inside the body of a function.
+# If set to NO (the default) these blocks will be appended to the
+# function's detailed documentation block.
+
+HIDE_IN_BODY_DOCS = NO
+
+# The INTERNAL_DOCS tag determines if documentation
+# that is typed after a \internal command is included. If the tag is set
+# to NO (the default) then the documentation will be excluded.
+# Set it to YES to include the internal documentation.
+
+INTERNAL_DOCS = NO
+
+# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate
+# file names in lower-case letters. If set to YES upper-case letters are also
+# allowed. This is useful if you have classes or files whose names only differ
+# in case and if your file system supports case sensitive file names. Windows
+# and Mac users are advised to set this option to NO.
+
+CASE_SENSE_NAMES = YES
+
+# If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen
+# will show members with their full class and namespace scopes in the
+# documentation. If set to YES the scope will be hidden.
+
+HIDE_SCOPE_NAMES = YES
+
+# If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen
+# will put a list of the files that are included by a file in the documentation
+# of that file.
+
+SHOW_INCLUDE_FILES = YES
+
+# If the FORCE_LOCAL_INCLUDES tag is set to YES then Doxygen
+# will list include files with double quotes in the documentation
+# rather than with sharp brackets.
+
+FORCE_LOCAL_INCLUDES = NO
+
+# If the INLINE_INFO tag is set to YES (the default) then a tag [inline]
+# is inserted in the documentation for inline members.
+
+INLINE_INFO = YES
+
+# If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen
+# will sort the (detailed) documentation of file and class members
+# alphabetically by member name. If set to NO the members will appear in
+# declaration order.
+
+SORT_MEMBER_DOCS = NO
+
+# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the
+# brief documentation of file, namespace and class members alphabetically
+# by member name. If set to NO (the default) the members will appear in
+# declaration order.
+
+SORT_BRIEF_DOCS = NO
+
+# If the SORT_MEMBERS_CTORS_1ST tag is set to YES then doxygen
+# will sort the (brief and detailed) documentation of class members so that
+# constructors and destructors are listed first. If set to NO (the default)
+# the constructors will appear in the respective orders defined by
+# SORT_MEMBER_DOCS and SORT_BRIEF_DOCS.
+# This tag will be ignored for brief docs if SORT_BRIEF_DOCS is set to NO
+# and ignored for detailed docs if SORT_MEMBER_DOCS is set to NO.
+
+SORT_MEMBERS_CTORS_1ST = NO
+
+# If the SORT_GROUP_NAMES tag is set to YES then doxygen will sort the
+# hierarchy of group names into alphabetical order. If set to NO (the default)
+# the group names will appear in their defined order.
+
+SORT_GROUP_NAMES = NO
+
+# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be
+# sorted by fully-qualified names, including namespaces. If set to
+# NO (the default), the class list will be sorted only by class name,
+# not including the namespace part.
+# Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES.
+# Note: This option applies only to the class list, not to the
+# alphabetical list.
+
+SORT_BY_SCOPE_NAME = NO
+
+# If the STRICT_PROTO_MATCHING option is enabled and doxygen fails to
+# do proper type resolution of all parameters of a function it will reject a
+# match between the prototype and the implementation of a member function even
+# if there is only one candidate or it is obvious which candidate to choose
+# by doing a simple string match. By disabling STRICT_PROTO_MATCHING doxygen
+# will still accept a match between prototype and implementation in such cases.
+
+STRICT_PROTO_MATCHING = NO
+
+# The GENERATE_TODOLIST tag can be used to enable (YES) or
+# disable (NO) the todo list. This list is created by putting \todo
+# commands in the documentation.
+
+GENERATE_TODOLIST = YES
+
+# The GENERATE_TESTLIST tag can be used to enable (YES) or
+# disable (NO) the test list. This list is created by putting \test
+# commands in the documentation.
+
+GENERATE_TESTLIST = YES
+
+# The GENERATE_BUGLIST tag can be used to enable (YES) or
+# disable (NO) the bug list. This list is created by putting \bug
+# commands in the documentation.
+
+GENERATE_BUGLIST = YES
+
+# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or
+# disable (NO) the deprecated list. This list is created by putting
+# \deprecated commands in the documentation.
+
+GENERATE_DEPRECATEDLIST= YES
+
+# The ENABLED_SECTIONS tag can be used to enable conditional
+# documentation sections, marked by \if sectionname ... \endif.
+
+ENABLED_SECTIONS =
+
+# The MAX_INITIALIZER_LINES tag determines the maximum number of lines
+# the initial value of a variable or macro consists of for it to appear in
+# the documentation. If the initializer consists of more lines than specified
+# here it will be hidden. Use a value of 0 to hide initializers completely.
+# The appearance of the initializer of individual variables and macros in the
+# documentation can be controlled using \showinitializer or \hideinitializer
+# command in the documentation regardless of this setting.
+
+MAX_INITIALIZER_LINES = 30
+
+# Set the SHOW_USED_FILES tag to NO to disable the list of files generated
+# at the bottom of the documentation of classes and structs. If set to YES the
+# list will mention the files that were used to generate the documentation.
+
+SHOW_USED_FILES = YES
+
+# If the sources in your project are distributed over multiple directories
+# then setting the SHOW_DIRECTORIES tag to YES will show the directory hierarchy
+# in the documentation. The default is NO.
+
+SHOW_DIRECTORIES = NO
+
+# Set the SHOW_FILES tag to NO to disable the generation of the Files page.
+# This will remove the Files entry from the Quick Index and from the
+# Folder Tree View (if specified). The default is YES.
+
+SHOW_FILES = YES
+
+# Set the SHOW_NAMESPACES tag to NO to disable the generation of the
+# Namespaces page.
+# This will remove the Namespaces entry from the Quick Index
+# and from the Folder Tree View (if specified). The default is YES.
+
+SHOW_NAMESPACES = YES
+
+# The FILE_VERSION_FILTER tag can be used to specify a program or script that
+# doxygen should invoke to get the current version for each file (typically from
+# the version control system). Doxygen will invoke the program by executing (via
+# popen()) the command <command> <input-file>, where <command> is the value of
+# the FILE_VERSION_FILTER tag, and <input-file> is the name of an input file
+# provided by doxygen. Whatever the program writes to standard output
+# is used as the file version. See the manual for examples.
+
+FILE_VERSION_FILTER =
+
+# The LAYOUT_FILE tag can be used to specify a layout file which will be parsed
+# by doxygen. The layout file controls the global structure of the generated
+# output files in an output format independent way. The create the layout file
+# that represents doxygen's defaults, run doxygen with the -l option.
+# You can optionally specify a file name after the option, if omitted
+# DoxygenLayout.xml will be used as the name of the layout file.
+
+LAYOUT_FILE =
+
+# The CITE_BIB_FILES tag can be used to specify one or more bib files
+# containing the references data. This must be a list of .bib files. The
+# .bib extension is automatically appended if omitted. Using this command
+# requires the bibtex tool to be installed. See also
+# http://en.wikipedia.org/wiki/BibTeX for more info. For LaTeX the style
+# of the bibliography can be controlled using LATEX_BIB_STYLE. To use this
+# feature you need bibtex and perl available in the search path.
+
+CITE_BIB_FILES =
+
+#---------------------------------------------------------------------------
+# configuration options related to warning and progress messages
+#---------------------------------------------------------------------------
+
+# The QUIET tag can be used to turn on/off the messages that are generated
+# by doxygen. Possible values are YES and NO. If left blank NO is used.
+
+QUIET = NO
+
+# The WARNINGS tag can be used to turn on/off the warning messages that are
+# generated by doxygen. Possible values are YES and NO. If left blank
+# NO is used.
+
+WARNINGS = YES
+
+# If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings
+# for undocumented members. If EXTRACT_ALL is set to YES then this flag will
+# automatically be disabled.
+
+WARN_IF_UNDOCUMENTED = YES
+
+# If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for
+# potential errors in the documentation, such as not documenting some
+# parameters in a documented function, or documenting parameters that
+# don't exist or using markup commands wrongly.
+
+WARN_IF_DOC_ERROR = YES
+
+# The WARN_NO_PARAMDOC option can be enabled to get warnings for
+# functions that are documented, but have no documentation for their parameters
+# or return value. If set to NO (the default) doxygen will only warn about
+# wrong or incomplete parameter documentation, but not about the absence of
+# documentation.
+
+WARN_NO_PARAMDOC = NO
+
+# The WARN_FORMAT tag determines the format of the warning messages that
+# doxygen can produce. The string should contain the $file, $line, and $text
+# tags, which will be replaced by the file and line number from which the
+# warning originated and the warning text. Optionally the format may contain
+# $version, which will be replaced by the version of the file (if it could
+# be obtained via FILE_VERSION_FILTER)
+
+WARN_FORMAT = "$file:$line: $text"
+
+# The WARN_LOGFILE tag can be used to specify a file to which warning
+# and error messages should be written. If left blank the output is written
+# to stderr.
+
+WARN_LOGFILE =
+
+#---------------------------------------------------------------------------
+# configuration options related to the input files
+#---------------------------------------------------------------------------
+
+# The INPUT tag can be used to specify the files and/or directories that contain
+# documented source files. You may enter file names like "myfile.cpp" or
+# directories like "/usr/src/myproject". Separate the files or directories
+# with spaces.
+
+INPUT = @SOURCEDIR@/keymap
+
+# This tag can be used to specify the character encoding of the source files
+# that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is
+# also the default input encoding. Doxygen uses libiconv (or the iconv built
+# into libc) for the transcoding. See http://www.gnu.org/software/libiconv for
+# the list of possible encodings.
+
+INPUT_ENCODING = UTF-8
+
+# If the value of the INPUT tag contains directories, you can use the
+# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp
+# and *.h) to filter out the source-files in the directories. If left
+# blank the following patterns are tested:
+# *.c *.cc *.cxx *.cpp *.c++ *.d *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh
+# *.hxx *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.dox *.py
+# *.f90 *.f *.for *.vhd *.vhdl
+
+FILE_PATTERNS =
+
+# The RECURSIVE tag can be used to turn specify whether or not subdirectories
+# should be searched for input files as well. Possible values are YES and NO.
+# If left blank NO is used.
+
+RECURSIVE = YES
+
+# The EXCLUDE tag can be used to specify files and/or directories that should be
+# excluded from the INPUT source files. This way you can easily exclude a
+# subdirectory from a directory tree whose root is specified with the INPUT tag.
+# Note that relative paths are relative to the directory from which doxygen is
+# run.
+
+EXCLUDE =
+
+# The EXCLUDE_SYMLINKS tag can be used to select whether or not files or
+# directories that are symbolic links (a Unix file system feature) are excluded
+# from the input.
+
+EXCLUDE_SYMLINKS = NO
+
+# If the value of the INPUT tag contains directories, you can use the
+# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude
+# certain files from those directories. Note that the wildcards are matched
+# against the file with absolute path, so to exclude all test directories
+# for example use the pattern */test/*
+
+EXCLUDE_PATTERNS =
+
+# The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names
+# (namespaces, classes, functions, etc.) that should be excluded from the
+# output. The symbol name can be a fully qualified name, a word, or if the
+# wildcard * is used, a substring. Examples: ANamespace, AClass,
+# AClass::ANamespace, ANamespace::*Test
+
+EXCLUDE_SYMBOLS =
+
+# The EXAMPLE_PATH tag can be used to specify one or more files or
+# directories that contain example code fragments that are included (see
+# the \include command).
+
+EXAMPLE_PATH =
+
+# If the value of the EXAMPLE_PATH tag contains directories, you can use the
+# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp
+# and *.h) to filter out the source-files in the directories. If left
+# blank all files are included.
+
+EXAMPLE_PATTERNS =
+
+# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be
+# searched for input files to be used with the \include or \dontinclude
+# commands irrespective of the value of the RECURSIVE tag.
+# Possible values are YES and NO. If left blank NO is used.
+
+EXAMPLE_RECURSIVE = NO
+
+# The IMAGE_PATH tag can be used to specify one or more files or
+# directories that contain image that are included in the documentation (see
+# the \image command).
+
+IMAGE_PATH =
+
+# The INPUT_FILTER tag can be used to specify a program that doxygen should
+# invoke to filter for each input file. Doxygen will invoke the filter program
+# by executing (via popen()) the command <filter> <input-file>, where <filter>
+# is the value of the INPUT_FILTER tag, and <input-file> is the name of an
+# input file. Doxygen will then use the output that the filter program writes
+# to standard output.
+# If FILTER_PATTERNS is specified, this tag will be
+# ignored.
+
+INPUT_FILTER =
+
+# The FILTER_PATTERNS tag can be used to specify filters on a per file pattern
+# basis.
+# Doxygen will compare the file name with each pattern and apply the
+# filter if there is a match.
+# The filters are a list of the form:
+# pattern=filter (like *.cpp=my_cpp_filter). See INPUT_FILTER for further
+# info on how filters are used. If FILTER_PATTERNS is empty or if
+# non of the patterns match the file name, INPUT_FILTER is applied.
+
+FILTER_PATTERNS =
+
+# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using
+# INPUT_FILTER) will be used to filter the input files when producing source
+# files to browse (i.e. when SOURCE_BROWSER is set to YES).
+
+FILTER_SOURCE_FILES = NO
+
+# The FILTER_SOURCE_PATTERNS tag can be used to specify source filters per file
+# pattern. A pattern will override the setting for FILTER_PATTERN (if any)
+# and it is also possible to disable source filtering for a specific pattern
+# using *.ext= (so without naming a filter). This option only has effect when
+# FILTER_SOURCE_FILES is enabled.
+
+FILTER_SOURCE_PATTERNS =
+
+#---------------------------------------------------------------------------
+# configuration options related to source browsing
+#---------------------------------------------------------------------------
+
+# If the SOURCE_BROWSER tag is set to YES then a list of source files will
+# be generated. Documented entities will be cross-referenced with these sources.
+# Note: To get rid of all source code in the generated output, make sure also
+# VERBATIM_HEADERS is set to NO.
+
+SOURCE_BROWSER = NO
+
+# Setting the INLINE_SOURCES tag to YES will include the body
+# of functions and classes directly in the documentation.
+
+INLINE_SOURCES = NO
+
+# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct
+# doxygen to hide any special comment blocks from generated source code
+# fragments. Normal C and C++ comments will always remain visible.
+
+STRIP_CODE_COMMENTS = YES
+
+# If the REFERENCED_BY_RELATION tag is set to YES
+# then for each documented function all documented
+# functions referencing it will be listed.
+
+REFERENCED_BY_RELATION = NO
+
+# If the REFERENCES_RELATION tag is set to YES
+# then for each documented function all documented entities
+# called/used by that function will be listed.
+
+REFERENCES_RELATION = NO
+
+# If the REFERENCES_LINK_SOURCE tag is set to YES (the default)
+# and SOURCE_BROWSER tag is set to YES, then the hyperlinks from
+# functions in REFERENCES_RELATION and REFERENCED_BY_RELATION lists will
+# link to the source code.
+# Otherwise they will link to the documentation.
+
+REFERENCES_LINK_SOURCE = YES
+
+# If the USE_HTAGS tag is set to YES then the references to source code
+# will point to the HTML generated by the htags(1) tool instead of doxygen
+# built-in source browser. The htags tool is part of GNU's global source
+# tagging system (see http://www.gnu.org/software/global/global.html). You
+# will need version 4.8.6 or higher.
+
+USE_HTAGS = NO
+
+# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen
+# will generate a verbatim copy of the header file for each class for
+# which an include is specified. Set to NO to disable this.
+
+VERBATIM_HEADERS = YES
+
+#---------------------------------------------------------------------------
+# configuration options related to the alphabetical class index
+#---------------------------------------------------------------------------
+
+# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index
+# of all compounds will be generated. Enable this if the project
+# contains a lot of classes, structs, unions or interfaces.
+
+ALPHABETICAL_INDEX = YES
+
+# If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then
+# the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns
+# in which this list will be split (can be a number in the range [1..20])
+
+COLS_IN_ALPHA_INDEX = 5
+
+# In case all classes in a project start with a common prefix, all
+# classes will be put under the same header in the alphabetical index.
+# The IGNORE_PREFIX tag can be used to specify one or more prefixes that
+# should be ignored while generating the index headers.
+
+IGNORE_PREFIX =
+
+#---------------------------------------------------------------------------
+# configuration options related to the HTML output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_HTML tag is set to YES (the default) Doxygen will
+# generate HTML output.
+
+GENERATE_HTML = YES
+
+# The HTML_OUTPUT tag is used to specify where the HTML docs will be put.
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be
+# put in front of it. If left blank `html' will be used as the default path.
+
+HTML_OUTPUT = html
+
+# The HTML_FILE_EXTENSION tag can be used to specify the file extension for
+# each generated HTML page (for example: .htm,.php,.asp). If it is left blank
+# doxygen will generate files with .html extension.
+
+HTML_FILE_EXTENSION = .html
+
+# The HTML_HEADER tag can be used to specify a personal HTML header for
+# each generated HTML page. If it is left blank doxygen will generate a
+# standard header. Note that when using a custom header you are responsible
+# for the proper inclusion of any scripts and style sheets that doxygen
+# needs, which is dependent on the configuration options used.
+# It is advised to generate a default header using "doxygen -w html
+# header.html footer.html stylesheet.css YourConfigFile" and then modify
+# that header. Note that the header is subject to change so you typically
+# have to redo this when upgrading to a newer version of doxygen or when
+# changing the value of configuration settings such as GENERATE_TREEVIEW!
+
+HTML_HEADER =
+
+# The HTML_FOOTER tag can be used to specify a personal HTML footer for
+# each generated HTML page. If it is left blank doxygen will generate a
+# standard footer.
+
+HTML_FOOTER =
+
+# If the HTML_TIMESTAMP tag is set to YES then the generated HTML
+# documentation will contain the timesstamp.
+
+HTML_TIMESTAMP = NO
+
+# The HTML_STYLESHEET tag can be used to specify a user-defined cascading
+# style sheet that is used by each HTML page. It can be used to
+# fine-tune the look of the HTML output. If the tag is left blank doxygen
+# will generate a default style sheet. Note that doxygen will try to copy
+# the style sheet file to the HTML output directory, so don't put your own
+# style sheet in the HTML output directory as well, or it will be erased!
+
+HTML_STYLESHEET =
+
+# The HTML_EXTRA_FILES tag can be used to specify one or more extra images or
+# other source files which should be copied to the HTML output directory. Note
+# that these files will be copied to the base HTML output directory. Use the
+# $relpath$ marker in the HTML_HEADER and/or HTML_FOOTER files to load these
+# files. In the HTML_STYLESHEET file, use the file name only. Also note that
+# the files will be copied as-is; there are no commands or markers available.
+
+HTML_EXTRA_FILES =
+
+# The HTML_COLORSTYLE_HUE tag controls the color of the HTML output.
+# Doxygen will adjust the colors in the style sheet and background images
+# according to this color. Hue is specified as an angle on a colorwheel,
+# see http://en.wikipedia.org/wiki/Hue for more information.
+# For instance the value 0 represents red, 60 is yellow, 120 is green,
+# 180 is cyan, 240 is blue, 300 purple, and 360 is red again.
+# The allowed range is 0 to 359.
+
+HTML_COLORSTYLE_HUE = 220
+
+# The HTML_COLORSTYLE_SAT tag controls the purity (or saturation) of
+# the colors in the HTML output. For a value of 0 the output will use
+# grayscales only. A value of 255 will produce the most vivid colors.
+
+HTML_COLORSTYLE_SAT = 100
+
+# The HTML_COLORSTYLE_GAMMA tag controls the gamma correction applied to
+# the luminance component of the colors in the HTML output. Values below
+# 100 gradually make the output lighter, whereas values above 100 make
+# the output darker. The value divided by 100 is the actual gamma applied,
+# so 80 represents a gamma of 0.8, The value 220 represents a gamma of 2.2,
+# and 100 does not change the gamma.
+
+HTML_COLORSTYLE_GAMMA = 80
+
+# If the HTML_TIMESTAMP tag is set to YES then the footer of each generated HTML
+# page will contain the date and time when the page was generated. Setting
+# this to NO can help when comparing the output of multiple runs.
+
+HTML_TIMESTAMP = YES
+
+# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes,
+# files or namespaces will be aligned in HTML using tables. If set to
+# NO a bullet list will be used.
+
+HTML_ALIGN_MEMBERS = YES
+
+# If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML
+# documentation will contain sections that can be hidden and shown after the
+# page has loaded. For this to work a browser that supports
+# JavaScript and DHTML is required (for instance Mozilla 1.0+, Firefox
+# Netscape 6.0+, Internet explorer 5.0+, Konqueror, or Safari).
+
+HTML_DYNAMIC_SECTIONS = NO
+
+# If the GENERATE_DOCSET tag is set to YES, additional index files
+# will be generated that can be used as input for Apple's Xcode 3
+# integrated development environment, introduced with OSX 10.5 (Leopard).
+# To create a documentation set, doxygen will generate a Makefile in the
+# HTML output directory. Running make will produce the docset in that
+# directory and running "make install" will install the docset in
+# ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find
+# it at startup.
+# See http://developer.apple.com/tools/creatingdocsetswithdoxygen.html
+# for more information.
+
+GENERATE_DOCSET = NO
+
+# When GENERATE_DOCSET tag is set to YES, this tag determines the name of the
+# feed. A documentation feed provides an umbrella under which multiple
+# documentation sets from a single provider (such as a company or product suite)
+# can be grouped.
+
+DOCSET_FEEDNAME = "Doxygen generated docs"
+
+# When GENERATE_DOCSET tag is set to YES, this tag specifies a string that
+# should uniquely identify the documentation set bundle. This should be a
+# reverse domain-name style string, e.g. com.mycompany.MyDocSet. Doxygen
+# will append .docset to the name.
+
+DOCSET_BUNDLE_ID = org.doxygen.Project
+
+# When GENERATE_PUBLISHER_ID tag specifies a string that should uniquely identify
+# the documentation publisher. This should be a reverse domain-name style
+# string, e.g. com.mycompany.MyDocSet.documentation.
+
+DOCSET_PUBLISHER_ID = org.doxygen.Publisher
+
+# The GENERATE_PUBLISHER_NAME tag identifies the documentation publisher.
+
+DOCSET_PUBLISHER_NAME = Publisher
+
+# If the GENERATE_HTMLHELP tag is set to YES, additional index files
+# will be generated that can be used as input for tools like the
+# Microsoft HTML help workshop to generate a compiled HTML help file (.chm)
+# of the generated HTML documentation.
+
+GENERATE_HTMLHELP = NO
+
+# If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can
+# be used to specify the file name of the resulting .chm file. You
+# can add a path in front of the file if the result should not be
+# written to the html output directory.
+
+CHM_FILE =
+
+# If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can
+# be used to specify the location (absolute path including file name) of
+# the HTML help compiler (hhc.exe). If non-empty doxygen will try to run
+# the HTML help compiler on the generated index.hhp.
+
+HHC_LOCATION =
+
+# If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag
+# controls if a separate .chi index file is generated (YES) or that
+# it should be included in the master .chm file (NO).
+
+GENERATE_CHI = NO
+
+# If the GENERATE_HTMLHELP tag is set to YES, the CHM_INDEX_ENCODING
+# is used to encode HtmlHelp index (hhk), content (hhc) and project file
+# content.
+
+CHM_INDEX_ENCODING =
+
+# If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag
+# controls whether a binary table of contents is generated (YES) or a
+# normal table of contents (NO) in the .chm file.
+
+BINARY_TOC = NO
+
+# The TOC_EXPAND flag can be set to YES to add extra items for group members
+# to the contents of the HTML help documentation and to the tree view.
+
+TOC_EXPAND = NO
+
+# If the GENERATE_QHP tag is set to YES and both QHP_NAMESPACE and
+# QHP_VIRTUAL_FOLDER are set, an additional index file will be generated
+# that can be used as input for Qt's qhelpgenerator to generate a
+# Qt Compressed Help (.qch) of the generated HTML documentation.
+
+GENERATE_QHP = NO
+
+# If the QHG_LOCATION tag is specified, the QCH_FILE tag can
+# be used to specify the file name of the resulting .qch file.
+# The path specified is relative to the HTML output folder.
+
+QCH_FILE =
+
+# The QHP_NAMESPACE tag specifies the namespace to use when generating
+# Qt Help Project output. For more information please see
+# http://doc.trolltech.com/qthelpproject.html#namespace
+
+QHP_NAMESPACE = org.doxygen.Project
+
+# The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating
+# Qt Help Project output. For more information please see
+# http://doc.trolltech.com/qthelpproject.html#virtual-folders
+
+QHP_VIRTUAL_FOLDER = doc
+
+# If QHP_CUST_FILTER_NAME is set, it specifies the name of a custom filter to
+# add. For more information please see
+# http://doc.trolltech.com/qthelpproject.html#custom-filters
+
+QHP_CUST_FILTER_NAME =
+
+# The QHP_CUST_FILT_ATTRS tag specifies the list of the attributes of the
+# custom filter to add. For more information please see
+# <a href="http://doc.trolltech.com/qthelpproject.html#custom-filters">
+# Qt Help Project / Custom Filters</a>.
+
+QHP_CUST_FILTER_ATTRS =
+
+# The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this
+# project's
+# filter section matches.
+# <a href="http://doc.trolltech.com/qthelpproject.html#filter-attributes">
+# Qt Help Project / Filter Attributes</a>.
+
+QHP_SECT_FILTER_ATTRS =
+
+# If the GENERATE_QHP tag is set to YES, the QHG_LOCATION tag can
+# be used to specify the location of Qt's qhelpgenerator.
+# If non-empty doxygen will try to run qhelpgenerator on the generated
+# .qhp file.
+
+QHG_LOCATION =
+
+# If the GENERATE_ECLIPSEHELP tag is set to YES, additional index files
+# will be generated, which together with the HTML files, form an Eclipse help
+# plugin. To install this plugin and make it available under the help contents
+# menu in Eclipse, the contents of the directory containing the HTML and XML
+# files needs to be copied into the plugins directory of eclipse. The name of
+# the directory within the plugins directory should be the same as
+# the ECLIPSE_DOC_ID value. After copying Eclipse needs to be restarted before
+# the help appears.
+
+GENERATE_ECLIPSEHELP = NO
+
+# A unique identifier for the eclipse help plugin. When installing the plugin
+# the directory name containing the HTML and XML files should also have
+# this name.
+
+ECLIPSE_DOC_ID = org.doxygen.Project
+
+# The DISABLE_INDEX tag can be used to turn on/off the condensed index (tabs)
+# at top of each HTML page. The value NO (the default) enables the index and
+# the value YES disables it. Since the tabs have the same information as the
+# navigation tree you can set this option to NO if you already set
+# GENERATE_TREEVIEW to YES.
+
+DISABLE_INDEX = NO
+
+# The GENERATE_TREEVIEW tag is used to specify whether a tree-like index
+# structure should be generated to display hierarchical information.
+# If the tag value is set to YES, a side panel will be generated
+# containing a tree-like index structure (just like the one that
+# is generated for HTML Help). For this to work a browser that supports
+# JavaScript, DHTML, CSS and frames is required (i.e. any modern browser).
+# Windows users are probably better off using the HTML help feature.
+# Since the tree basically has the same information as the tab index you
+# could consider to set DISABLE_INDEX to NO when enabling this option.
+
+GENERATE_TREEVIEW = NO
+
+# The ENUM_VALUES_PER_LINE tag can be used to set the number of enum values
+# (range [0,1..20]) that doxygen will group on one line in the generated HTML
+# documentation. Note that a value of 0 will completely suppress the enum
+# values from appearing in the overview section.
+
+ENUM_VALUES_PER_LINE = 1
+
+# By enabling USE_INLINE_TREES, doxygen will generate the Groups, Directories,
+# and Class Hierarchy pages using a tree view instead of an ordered list.
+
+USE_INLINE_TREES = NO
+
+# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be
+# used to set the initial width (in pixels) of the frame in which the tree
+# is shown.
+
+TREEVIEW_WIDTH = 250
+
+# When the EXT_LINKS_IN_WINDOW option is set to YES doxygen will open
+# links to external symbols imported via tag files in a separate window.
+
+EXT_LINKS_IN_WINDOW = NO
+
+# Use this tag to change the font size of Latex formulas included
+# as images in the HTML documentation. The default is 10. Note that
+# when you change the font size after a successful doxygen run you need
+# to manually remove any form_*.png images from the HTML output directory
+# to force them to be regenerated.
+
+FORMULA_FONTSIZE = 10
+
+# Use the FORMULA_TRANPARENT tag to determine whether or not the images
+# generated for formulas are transparent PNGs. Transparent PNGs are
+# not supported properly for IE 6.0, but are supported on all modern browsers.
+# Note that when changing this option you need to delete any form_*.png files
+# in the HTML output before the changes have effect.
+
+FORMULA_TRANSPARENT = YES
+
+# Enable the USE_MATHJAX option to render LaTeX formulas using MathJax
+# (see http://www.mathjax.org) which uses client side Javascript for the
+# rendering instead of using prerendered bitmaps. Use this if you do not
+# have LaTeX installed or if you want to formulas look prettier in the HTML
+# output. When enabled you also need to install MathJax separately and
+# configure the path to it using the MATHJAX_RELPATH option.
+
+USE_MATHJAX = NO
+
+# When MathJax is enabled you need to specify the location relative to the
+# HTML output directory using the MATHJAX_RELPATH option. The destination
+# directory should contain the MathJax.js script. For instance, if the mathjax
+# directory is located at the same level as the HTML output directory, then
+# MATHJAX_RELPATH should be ../mathjax. The default value points to the
+# mathjax.org site, so you can quickly see the result without installing
+# MathJax, but it is strongly recommended to install a local copy of MathJax
+# before deployment.
+
+MATHJAX_RELPATH = http://www.mathjax.org/mathjax
+
+# The MATHJAX_EXTENSIONS tag can be used to specify one or MathJax extension
+# names that should be enabled during MathJax rendering.
+
+MATHJAX_EXTENSIONS =
+
+# When the SEARCHENGINE tag is enabled doxygen will generate a search box
+# for the HTML output. The underlying search engine uses javascript
+# and DHTML and should work on any modern browser. Note that when using
+# HTML help (GENERATE_HTMLHELP), Qt help (GENERATE_QHP), or docsets
+# (GENERATE_DOCSET) there is already a search function so this one should
+# typically be disabled. For large projects the javascript based search engine
+# can be slow, then enabling SERVER_BASED_SEARCH may provide a better solution.
+
+SEARCHENGINE = NO
+
+# When the SERVER_BASED_SEARCH tag is enabled the search engine will be
+# implemented using a PHP enabled web server instead of at the web client
+# using Javascript. Doxygen will generate the search PHP script and index
+# file to put on the web server. The advantage of the server
+# based approach is that it scales better to large projects and allows
+# full text search. The disadvantages are that it is more difficult to setup
+# and does not have live searching capabilities.
+
+SERVER_BASED_SEARCH = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to the LaTeX output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will
+# generate Latex output.
+
+GENERATE_LATEX = NO
+
+# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put.
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be
+# put in front of it. If left blank `latex' will be used as the default path.
+
+LATEX_OUTPUT = latex
+
+# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be
+# invoked. If left blank `latex' will be used as the default command name.
+# Note that when enabling USE_PDFLATEX this option is only used for
+# generating bitmaps for formulas in the HTML output, but not in the
+# Makefile that is written to the output directory.
+
+LATEX_CMD_NAME = latex
+
+# The MAKEINDEX_CMD_NAME tag can be used to specify the command name to
+# generate index for LaTeX. If left blank `makeindex' will be used as the
+# default command name.
+
+MAKEINDEX_CMD_NAME = makeindex
+
+# If the COMPACT_LATEX tag is set to YES Doxygen generates more compact
+# LaTeX documents. This may be useful for small projects and may help to
+# save some trees in general.
+
+COMPACT_LATEX = NO
+
+# The PAPER_TYPE tag can be used to set the paper type that is used
+# by the printer. Possible values are: a4, letter, legal and
+# executive. If left blank a4wide will be used.
+
+PAPER_TYPE = a4
+
+# The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX
+# packages that should be included in the LaTeX output.
+
+EXTRA_PACKAGES =
+
+# The LATEX_HEADER tag can be used to specify a personal LaTeX header for
+# the generated latex document. The header should contain everything until
+# the first chapter. If it is left blank doxygen will generate a
+# standard header. Notice: only use this tag if you know what you are doing!
+
+LATEX_HEADER =
+
+# The LATEX_FOOTER tag can be used to specify a personal LaTeX footer for
+# the generated latex document. The footer should contain everything after
+# the last chapter. If it is left blank doxygen will generate a
+# standard footer. Notice: only use this tag if you know what you are doing!
+
+LATEX_FOOTER =
+
+# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated
+# is prepared for conversion to pdf (using ps2pdf). The pdf file will
+# contain links (just like the HTML output) instead of page references
+# This makes the output suitable for online browsing using a pdf viewer.
+
+PDF_HYPERLINKS = YES
+
+# If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of
+# plain latex in the generated Makefile. Set this option to YES to get a
+# higher quality PDF documentation.
+
+USE_PDFLATEX = YES
+
+# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode.
+# command to the generated LaTeX files. This will instruct LaTeX to keep
+# running if errors occur, instead of asking the user for help.
+# This option is also used when generating formulas in HTML.
+
+LATEX_BATCHMODE = NO
+
+# If LATEX_HIDE_INDICES is set to YES then doxygen will not
+# include the index chapters (such as File Index, Compound Index, etc.)
+# in the output.
+
+LATEX_HIDE_INDICES = NO
+
+# If LATEX_SOURCE_CODE is set to YES then doxygen will include
+# source code with syntax highlighting in the LaTeX output.
+# Note that which sources are shown also depends on other settings
+# such as SOURCE_BROWSER.
+
+LATEX_SOURCE_CODE = NO
+
+# The LATEX_BIB_STYLE tag can be used to specify the style to use for the
+# bibliography, e.g. plainnat, or ieeetr. The default style is "plain". See
+# http://en.wikipedia.org/wiki/BibTeX for more info.
+
+LATEX_BIB_STYLE = plain
+
+#---------------------------------------------------------------------------
+# configuration options related to the RTF output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output
+# The RTF output is optimized for Word 97 and may not look very pretty with
+# other RTF readers or editors.
+
+GENERATE_RTF = NO
+
+# The RTF_OUTPUT tag is used to specify where the RTF docs will be put.
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be
+# put in front of it. If left blank `rtf' will be used as the default path.
+
+RTF_OUTPUT = rtf
+
+# If the COMPACT_RTF tag is set to YES Doxygen generates more compact
+# RTF documents. This may be useful for small projects and may help to
+# save some trees in general.
+
+COMPACT_RTF = NO
+
+# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated
+# will contain hyperlink fields. The RTF file will
+# contain links (just like the HTML output) instead of page references.
+# This makes the output suitable for online browsing using WORD or other
+# programs which support those fields.
+# Note: wordpad (write) and others do not support links.
+
+RTF_HYPERLINKS = NO
+
+# Load style sheet definitions from file. Syntax is similar to doxygen's
+# config file, i.e. a series of assignments. You only have to provide
+# replacements, missing definitions are set to their default value.
+
+RTF_STYLESHEET_FILE =
+
+# Set optional variables used in the generation of an rtf document.
+# Syntax is similar to doxygen's config file.
+
+RTF_EXTENSIONS_FILE =
+
+#---------------------------------------------------------------------------
+# configuration options related to the man page output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_MAN tag is set to YES (the default) Doxygen will
+# generate man pages
+
+GENERATE_MAN = NO
+
+# The MAN_OUTPUT tag is used to specify where the man pages will be put.
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be
+# put in front of it. If left blank `man' will be used as the default path.
+
+MAN_OUTPUT = man
+
+# The MAN_EXTENSION tag determines the extension that is added to
+# the generated man pages (default is the subroutine's section .3)
+
+MAN_EXTENSION = .3
+
+# If the MAN_LINKS tag is set to YES and Doxygen generates man output,
+# then it will generate one additional man file for each entity
+# documented in the real man page(s). These additional files
+# only source the real man page, but without them the man command
+# would be unable to find the correct page. The default is NO.
+
+MAN_LINKS = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to the XML output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_XML tag is set to YES Doxygen will
+# generate an XML file that captures the structure of
+# the code including all documentation.
+
+GENERATE_XML = NO
+
+# The XML_OUTPUT tag is used to specify where the XML pages will be put.
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be
+# put in front of it. If left blank `xml' will be used as the default path.
+
+XML_OUTPUT = xml
+
+# The XML_SCHEMA tag can be used to specify an XML schema,
+# which can be used by a validating XML parser to check the
+# syntax of the XML files.
+
+XML_SCHEMA =
+
+# The XML_DTD tag can be used to specify an XML DTD,
+# which can be used by a validating XML parser to check the
+# syntax of the XML files.
+
+XML_DTD =
+
+# If the XML_PROGRAMLISTING tag is set to YES Doxygen will
+# dump the program listings (including syntax highlighting
+# and cross-referencing information) to the XML output. Note that
+# enabling this will significantly increase the size of the XML output.
+
+XML_PROGRAMLISTING = YES
+
+#---------------------------------------------------------------------------
+# configuration options for the AutoGen Definitions output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will
+# generate an AutoGen Definitions (see autogen.sf.net) file
+# that captures the structure of the code including all
+# documentation. Note that this feature is still experimental
+# and incomplete at the moment.
+
+GENERATE_AUTOGEN_DEF = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to the Perl module output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_PERLMOD tag is set to YES Doxygen will
+# generate a Perl module file that captures the structure of
+# the code including all documentation. Note that this
+# feature is still experimental and incomplete at the
+# moment.
+
+GENERATE_PERLMOD = NO
+
+# If the PERLMOD_LATEX tag is set to YES Doxygen will generate
+# the necessary Makefile rules, Perl scripts and LaTeX code to be able
+# to generate PDF and DVI output from the Perl module output.
+
+PERLMOD_LATEX = NO
+
+# If the PERLMOD_PRETTY tag is set to YES the Perl module output will be
+# nicely formatted so it can be parsed by a human reader.
+# This is useful
+# if you want to understand what is going on.
+# On the other hand, if this
+# tag is set to NO the size of the Perl module output will be much smaller
+# and Perl will parse it just the same.
+
+PERLMOD_PRETTY = YES
+
+# The names of the make variables in the generated doxyrules.make file
+# are prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX.
+# This is useful so different doxyrules.make files included by the same
+# Makefile don't overwrite each other's variables.
+
+PERLMOD_MAKEVAR_PREFIX =
+
+#---------------------------------------------------------------------------
+# Configuration options related to the preprocessor
+#---------------------------------------------------------------------------
+
+# If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will
+# evaluate all C-preprocessor directives found in the sources and include
+# files.
+
+ENABLE_PREPROCESSING = YES
+
+# If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro
+# names in the source code. If set to NO (the default) only conditional
+# compilation will be performed. Macro expansion can be done in a controlled
+# way by setting EXPAND_ONLY_PREDEF to YES.
+
+MACRO_EXPANSION = YES
+
+# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES
+# then the macro expansion is limited to the macros specified with the
+# PREDEFINED and EXPAND_AS_DEFINED tags.
+
+EXPAND_ONLY_PREDEF = YES
+
+# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files
+# pointed to by INCLUDE_PATH will be searched when a #include is found.
+
+SEARCH_INCLUDES = YES
+
+# The INCLUDE_PATH tag can be used to specify one or more directories that
+# contain include files that are not input files but should be processed by
+# the preprocessor.
+
+INCLUDE_PATH =
+
+# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard
+# patterns (like *.h and *.hpp) to filter out the header-files in the
+# directories. If left blank, the patterns specified with FILE_PATTERNS will
+# be used.
+
+INCLUDE_FILE_PATTERNS =
+
+# The PREDEFINED tag can be used to specify one or more macro names that
+# are defined before the preprocessor is started (similar to the -D option of
+# gcc). The argument of the tag is a list of macros of the form: name
+# or name=definition (no spaces). If the definition and the = are
+# omitted =1 is assumed. To prevent a macro definition from being
+# undefined via #undef or recursively expanded use the := operator
+# instead of the = operator.
+
+PREDEFINED = DOXYGEN=1 __attribute__(x)=
+
+# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then
+# this tag can be used to specify a list of macro names that should be expanded.
+# The macro definition that is found in the sources will be used.
+# Use the PREDEFINED tag if you want to use a different macro definition that
+# overrules the definition found in the source code.
+
+EXPAND_AS_DEFINED =
+
+# If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then
+# doxygen's preprocessor will remove all references to function-like macros
+# that are alone on a line, have an all uppercase name, and do not end with a
+# semicolon, because these will confuse the parser if not removed.
+
+SKIP_FUNCTION_MACROS = YES
+
+#---------------------------------------------------------------------------
+# Configuration::additions related to external references
+#---------------------------------------------------------------------------
+
+# The TAGFILES option can be used to specify one or more tagfiles.
+# Optionally an initial location of the external documentation
+# can be added for each tagfile. The format of a tag file without
+# this location is as follows:
+#
+# TAGFILES = file1 file2 ...
+# Adding location for the tag files is done as follows:
+#
+# TAGFILES = file1=loc1 "file2 = loc2" ...
+# where "loc1" and "loc2" can be relative or absolute paths or
+# URLs. If a location is present for each tag, the installdox tool
+# does not have to be run to correct the links.
+# Note that each tag file must have a unique name
+# (where the name does NOT include the path)
+# If a tag file is not located in the directory in which doxygen
+# is run, you must also specify the path to the tagfile here.
+
+TAGFILES =
+
+# When a file name is specified after GENERATE_TAGFILE, doxygen will create
+# a tag file that is based on the input files it reads.
+
+GENERATE_TAGFILE =
+
+# If the ALLEXTERNALS tag is set to YES all external classes will be listed
+# in the class index. If set to NO only the inherited external classes
+# will be listed.
+
+ALLEXTERNALS = NO
+
+# If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed
+# in the modules index. If set to NO, only the current project's groups will
+# be listed.
+
+EXTERNAL_GROUPS = YES
+
+# The PERL_PATH should be the absolute path and name of the perl script
+# interpreter (i.e. the result of `which perl').
+
+PERL_PATH = /usr/bin/perl
+
+#---------------------------------------------------------------------------
+# Configuration options related to the dot tool
+#---------------------------------------------------------------------------
+
+# If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will
+# generate a inheritance diagram (in HTML, RTF and LaTeX) for classes with base
+# or super classes. Setting the tag to NO turns the diagrams off. Note that
+# this option also works with HAVE_DOT disabled, but it is recommended to
+# install and use dot, since it yields more powerful graphs.
+
+CLASS_DIAGRAMS = YES
+
+# You can define message sequence charts within doxygen comments using the \msc
+# command. Doxygen will then run the mscgen tool (see
+# http://www.mcternan.me.uk/mscgen/) to produce the chart and insert it in the
+# documentation. The MSCGEN_PATH tag allows you to specify the directory where
+# the mscgen tool resides. If left empty the tool is assumed to be found in the
+# default search path.
+
+MSCGEN_PATH =
+
+# If set to YES, the inheritance and collaboration graphs will hide
+# inheritance and usage relations if the target is undocumented
+# or is not a class.
+
+HIDE_UNDOC_RELATIONS = YES
+
+# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is
+# available from the path. This tool is part of Graphviz, a graph visualization
+# toolkit from AT&T and Lucent Bell Labs. The other options in this section
+# have no effect if this option is set to NO (the default)
+
+HAVE_DOT = NO
+
+# The DOT_NUM_THREADS specifies the number of dot invocations doxygen is
+# allowed to run in parallel. When set to 0 (the default) doxygen will
+# base this on the number of processors available in the system. You can set it
+# explicitly to a value larger than 0 to get control over the balance
+# between CPU load and processing speed.
+
+DOT_NUM_THREADS = 0
+
+# By default doxygen will use the Helvetica font for all dot files that
+# doxygen generates. When you want a differently looking font you can specify
+# the font name using DOT_FONTNAME. You need to make sure dot is able to find
+# the font, which can be done by putting it in a standard location or by setting
+# the DOTFONTPATH environment variable or by setting DOT_FONTPATH to the
+# directory containing the font.
+
+DOT_FONTNAME = Helvetica
+
+# The DOT_FONTSIZE tag can be used to set the size of the font of dot graphs.
+# The default size is 10pt.
+
+DOT_FONTSIZE = 10
+
+# By default doxygen will tell dot to use the Helvetica font.
+# If you specify a different font using DOT_FONTNAME you can use DOT_FONTPATH to
+# set the path where dot can find it.
+
+DOT_FONTPATH =
+
+# If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen
+# will generate a graph for each documented class showing the direct and
+# indirect inheritance relations. Setting this tag to YES will force the
+# CLASS_DIAGRAMS tag to NO.
+
+CLASS_GRAPH = YES
+
+# If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen
+# will generate a graph for each documented class showing the direct and
+# indirect implementation dependencies (inheritance, containment, and
+# class references variables) of the class with other documented classes.
+
+COLLABORATION_GRAPH = YES
+
+# If the GROUP_GRAPHS and HAVE_DOT tags are set to YES then doxygen
+# will generate a graph for groups, showing the direct groups dependencies
+
+GROUP_GRAPHS = YES
+
+# If the UML_LOOK tag is set to YES doxygen will generate inheritance and
+# collaboration diagrams in a style similar to the OMG's Unified Modeling
+# Language.
+
+UML_LOOK = NO
+
+# If set to YES, the inheritance and collaboration graphs will show the
+# relations between templates and their instances.
+
+TEMPLATE_RELATIONS = NO
+
+# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT
+# tags are set to YES then doxygen will generate a graph for each documented
+# file showing the direct and indirect include dependencies of the file with
+# other documented files.
+
+INCLUDE_GRAPH = YES
+
+# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and
+# HAVE_DOT tags are set to YES then doxygen will generate a graph for each
+# documented header file showing the documented files that directly or
+# indirectly include this file.
+
+INCLUDED_BY_GRAPH = YES
+
+# If the CALL_GRAPH and HAVE_DOT options are set to YES then
+# doxygen will generate a call dependency graph for every global function
+# or class method. Note that enabling this option will significantly increase
+# the time of a run. So in most cases it will be better to enable call graphs
+# for selected functions only using the \callgraph command.
+
+CALL_GRAPH = NO
+
+# If the CALLER_GRAPH and HAVE_DOT tags are set to YES then
+# doxygen will generate a caller dependency graph for every global function
+# or class method. Note that enabling this option will significantly increase
+# the time of a run. So in most cases it will be better to enable caller
+# graphs for selected functions only using the \callergraph command.
+
+CALLER_GRAPH = NO
+
+# If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen
+# will generate a graphical hierarchy of all classes instead of a textual one.
+
+GRAPHICAL_HIERARCHY = YES
+
+# If the DIRECTORY_GRAPH, SHOW_DIRECTORIES and HAVE_DOT tags are set to YES
+# then doxygen will show the dependencies a directory has on other directories
+# in a graphical way. The dependency relations are determined by the #include
+# relations between the files in the directories.
+
+DIRECTORY_GRAPH = YES
+
+# The DOT_IMAGE_FORMAT tag can be used to set the image format of the images
+# generated by dot. Possible values are svg, png, jpg, or gif.
+# If left blank png will be used. If you choose svg you need to set
+# HTML_FILE_EXTENSION to xhtml in order to make the SVG files
+# visible in IE 9+ (other browsers do not have this requirement).
+
+DOT_IMAGE_FORMAT = png
+
+# If DOT_IMAGE_FORMAT is set to svg, then this option can be set to YES to
+# enable generation of interactive SVG images that allow zooming and panning.
+# Note that this requires a modern browser other than Internet Explorer.
+# Tested and working are Firefox, Chrome, Safari, and Opera. For IE 9+ you
+# need to set HTML_FILE_EXTENSION to xhtml in order to make the SVG files
+# visible. Older versions of IE do not have SVG support.
+
+INTERACTIVE_SVG = NO
+
+# The tag DOT_PATH can be used to specify the path where the dot tool can be
+# found. If left blank, it is assumed the dot tool can be found in the path.
+
+DOT_PATH =
+
+# The DOTFILE_DIRS tag can be used to specify one or more directories that
+# contain dot files that are included in the documentation (see the
+# \dotfile command).
+
+DOTFILE_DIRS =
+
+# The MSCFILE_DIRS tag can be used to specify one or more directories that
+# contain msc files that are included in the documentation (see the
+# \mscfile command).
+
+MSCFILE_DIRS =
+
+# The DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of
+# nodes that will be shown in the graph. If the number of nodes in a graph
+# becomes larger than this value, doxygen will truncate the graph, which is
+# visualized by representing a node as a red box. Note that doxygen if the
+# number of direct children of the root node in a graph is already larger than
+# DOT_GRAPH_MAX_NODES then the graph will not be shown at all. Also note
+# that the size of a graph can be further restricted by MAX_DOT_GRAPH_DEPTH.
+
+DOT_GRAPH_MAX_NODES = 50
+
+# The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the
+# graphs generated by dot. A depth value of 3 means that only nodes reachable
+# from the root by following a path via at most 3 edges will be shown. Nodes
+# that lay further from the root node will be omitted. Note that setting this
+# option to 1 or 2 may greatly reduce the computation time needed for large
+# code bases. Also note that the size of a graph can be further restricted by
+# DOT_GRAPH_MAX_NODES. Using a depth of 0 means no depth restriction.
+
+MAX_DOT_GRAPH_DEPTH = 0
+
+# Set the DOT_TRANSPARENT tag to YES to generate images with a transparent
+# background. This is disabled by default, because dot on Windows does not
+# seem to support this out of the box. Warning: Depending on the platform used,
+# enabling this option may lead to badly anti-aliased labels on the edges of
+# a graph (i.e. they become hard to read).
+
+DOT_TRANSPARENT = NO
+
+# Set the DOT_MULTI_TARGETS tag to YES allow dot to generate multiple output
+# files in one run (i.e. multiple -o and -T options on the command line). This
+# makes dot run faster, but since only newer versions of dot (>1.8.10)
+# support this, this feature is disabled by default.
+
+DOT_MULTI_TARGETS = NO
+
+# If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will
+# generate a legend page explaining the meaning of the various boxes and
+# arrows in the dot generated graphs.
+
+GENERATE_LEGEND = YES
+
+# If the DOT_CLEANUP tag is set to YES (the default) Doxygen will
+# remove the intermediate dot files that are used to generate
+# the various graphs.
+
+DOT_CLEANUP = YES
diff --git a/docs/reference/libkeymap/Makefile.am b/docs/reference/libkeymap/Makefile.am
new file mode 100644
index 0000000..b11720c
--- /dev/null
+++ b/docs/reference/libkeymap/Makefile.am
@@ -0,0 +1,18 @@
+DOC_MODULE = libkeymap
+
+EXTRA_DIST = Doxyfile.in
+CLEANFILES = Doxyfile
+
+install-data-hook:
+ sed \
+ -e 's,[@]VERSION[@],$(VERSION),g' \
+ -e 's,[@]MODULE[@],$(DOC_MODULE),g' \
+ -e 's,[@]TOPDIR[@],$(abs_top_srcdir),g' \
+ -e 's,[@]SOURCEDIR[@],$(abs_top_srcdir)/src/$(DOC_MODULE),g' \
+ -e 's,[@]BUILDDIR[@],$(DESTDIR)$(docdir),g' \
+ < $(srcdir)/Doxyfile.in >$(builddir)/Doxyfile
+ mkdir -p -- $(DESTDIR)$(docdir)
+ doxygen $(builddir)/Doxyfile
+
+uninstall-hook:
+ rm -rf -- $(DESTDIR)$(docdir)/html
diff --git a/m4/libtool.m4 b/m4/libtool.m4
new file mode 100644
index 0000000..b25ebd1
--- /dev/null
+++ b/m4/libtool.m4
@@ -0,0 +1,7998 @@
+# libtool.m4 - Configure libtool for the host system. -*-Autoconf-*-
+#
+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
+# 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
+# Written by Gordon Matzigkeit, 1996
+#
+# This file is free software; the Free Software Foundation gives
+# unlimited permission to copy and/or distribute it, with or without
+# modifications, as long as this notice is preserved.
+
+m4_define([_LT_COPYING], [dnl
+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
+# 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
+# Written by Gordon Matzigkeit, 1996
+#
+# This file is part of GNU Libtool.
+#
+# GNU Libtool is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License as
+# published by the Free Software Foundation; either version 2 of
+# the License, or (at your option) any later version.
+#
+# As a special exception to the GNU General Public License,
+# if you distribute this file as part of a program or library that
+# is built using GNU Libtool, you may include this file under the
+# same distribution terms that you use for the rest of that program.
+#
+# GNU Libtool is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with GNU Libtool; see the file COPYING. If not, a copy
+# can be downloaded from http://www.gnu.org/licenses/gpl.html, or
+# obtained by writing to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+])
+
+# serial 57 LT_INIT
+
+
+# LT_PREREQ(VERSION)
+# ------------------
+# Complain and exit if this libtool version is less that VERSION.
+m4_defun([LT_PREREQ],
+[m4_if(m4_version_compare(m4_defn([LT_PACKAGE_VERSION]), [$1]), -1,
+ [m4_default([$3],
+ [m4_fatal([Libtool version $1 or higher is required],
+ 63)])],
+ [$2])])
+
+
+# _LT_CHECK_BUILDDIR
+# ------------------
+# Complain if the absolute build directory name contains unusual characters
+m4_defun([_LT_CHECK_BUILDDIR],
+[case `pwd` in
+ *\ * | *\ *)
+ AC_MSG_WARN([Libtool does not cope well with whitespace in `pwd`]) ;;
+esac
+])
+
+
+# LT_INIT([OPTIONS])
+# ------------------
+AC_DEFUN([LT_INIT],
+[AC_PREREQ([2.58])dnl We use AC_INCLUDES_DEFAULT
+AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl
+AC_BEFORE([$0], [LT_LANG])dnl
+AC_BEFORE([$0], [LT_OUTPUT])dnl
+AC_BEFORE([$0], [LTDL_INIT])dnl
+m4_require([_LT_CHECK_BUILDDIR])dnl
+
+dnl Autoconf doesn't catch unexpanded LT_ macros by default:
+m4_pattern_forbid([^_?LT_[A-Z_]+$])dnl
+m4_pattern_allow([^(_LT_EOF|LT_DLGLOBAL|LT_DLLAZY_OR_NOW|LT_MULTI_MODULE)$])dnl
+dnl aclocal doesn't pull ltoptions.m4, ltsugar.m4, or ltversion.m4
+dnl unless we require an AC_DEFUNed macro:
+AC_REQUIRE([LTOPTIONS_VERSION])dnl
+AC_REQUIRE([LTSUGAR_VERSION])dnl
+AC_REQUIRE([LTVERSION_VERSION])dnl
+AC_REQUIRE([LTOBSOLETE_VERSION])dnl
+m4_require([_LT_PROG_LTMAIN])dnl
+
+_LT_SHELL_INIT([SHELL=${CONFIG_SHELL-/bin/sh}])
+
+dnl Parse OPTIONS
+_LT_SET_OPTIONS([$0], [$1])
+
+# This can be used to rebuild libtool when needed
+LIBTOOL_DEPS="$ltmain"
+
+# Always use our own libtool.
+LIBTOOL='$(SHELL) $(top_builddir)/libtool'
+AC_SUBST(LIBTOOL)dnl
+
+_LT_SETUP
+
+# Only expand once:
+m4_define([LT_INIT])
+])# LT_INIT
+
+# Old names:
+AU_ALIAS([AC_PROG_LIBTOOL], [LT_INIT])
+AU_ALIAS([AM_PROG_LIBTOOL], [LT_INIT])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_PROG_LIBTOOL], [])
+dnl AC_DEFUN([AM_PROG_LIBTOOL], [])
+
+
+# _LT_CC_BASENAME(CC)
+# -------------------
+# Calculate cc_basename. Skip known compiler wrappers and cross-prefix.
+m4_defun([_LT_CC_BASENAME],
+[for cc_temp in $1""; do
+ case $cc_temp in
+ compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;;
+ distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;;
+ \-*) ;;
+ *) break;;
+ esac
+done
+cc_basename=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"`
+])
+
+
+# _LT_FILEUTILS_DEFAULTS
+# ----------------------
+# It is okay to use these file commands and assume they have been set
+# sensibly after `m4_require([_LT_FILEUTILS_DEFAULTS])'.
+m4_defun([_LT_FILEUTILS_DEFAULTS],
+[: ${CP="cp -f"}
+: ${MV="mv -f"}
+: ${RM="rm -f"}
+])# _LT_FILEUTILS_DEFAULTS
+
+
+# _LT_SETUP
+# ---------
+m4_defun([_LT_SETUP],
+[AC_REQUIRE([AC_CANONICAL_HOST])dnl
+AC_REQUIRE([AC_CANONICAL_BUILD])dnl
+AC_REQUIRE([_LT_PREPARE_SED_QUOTE_VARS])dnl
+AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH])dnl
+
+_LT_DECL([], [PATH_SEPARATOR], [1], [The PATH separator for the build system])dnl
+dnl
+_LT_DECL([], [host_alias], [0], [The host system])dnl
+_LT_DECL([], [host], [0])dnl
+_LT_DECL([], [host_os], [0])dnl
+dnl
+_LT_DECL([], [build_alias], [0], [The build system])dnl
+_LT_DECL([], [build], [0])dnl
+_LT_DECL([], [build_os], [0])dnl
+dnl
+AC_REQUIRE([AC_PROG_CC])dnl
+AC_REQUIRE([LT_PATH_LD])dnl
+AC_REQUIRE([LT_PATH_NM])dnl
+dnl
+AC_REQUIRE([AC_PROG_LN_S])dnl
+test -z "$LN_S" && LN_S="ln -s"
+_LT_DECL([], [LN_S], [1], [Whether we need soft or hard links])dnl
+dnl
+AC_REQUIRE([LT_CMD_MAX_LEN])dnl
+_LT_DECL([objext], [ac_objext], [0], [Object file suffix (normally "o")])dnl
+_LT_DECL([], [exeext], [0], [Executable file suffix (normally "")])dnl
+dnl
+m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+m4_require([_LT_CHECK_SHELL_FEATURES])dnl
+m4_require([_LT_PATH_CONVERSION_FUNCTIONS])dnl
+m4_require([_LT_CMD_RELOAD])dnl
+m4_require([_LT_CHECK_MAGIC_METHOD])dnl
+m4_require([_LT_CHECK_SHAREDLIB_FROM_LINKLIB])dnl
+m4_require([_LT_CMD_OLD_ARCHIVE])dnl
+m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl
+m4_require([_LT_WITH_SYSROOT])dnl
+
+_LT_CONFIG_LIBTOOL_INIT([
+# See if we are running on zsh, and set the options which allow our
+# commands through without removal of \ escapes INIT.
+if test -n "\${ZSH_VERSION+set}" ; then
+ setopt NO_GLOB_SUBST
+fi
+])
+if test -n "${ZSH_VERSION+set}" ; then
+ setopt NO_GLOB_SUBST
+fi
+
+_LT_CHECK_OBJDIR
+
+m4_require([_LT_TAG_COMPILER])dnl
+
+case $host_os in
+aix3*)
+ # AIX sometimes has problems with the GCC collect2 program. For some
+ # reason, if we set the COLLECT_NAMES environment variable, the problems
+ # vanish in a puff of smoke.
+ if test "X${COLLECT_NAMES+set}" != Xset; then
+ COLLECT_NAMES=
+ export COLLECT_NAMES
+ fi
+ ;;
+esac
+
+# Global variables:
+ofile=libtool
+can_build_shared=yes
+
+# All known linkers require a `.a' archive for static linking (except MSVC,
+# which needs '.lib').
+libext=a
+
+with_gnu_ld="$lt_cv_prog_gnu_ld"
+
+old_CC="$CC"
+old_CFLAGS="$CFLAGS"
+
+# Set sane defaults for various variables
+test -z "$CC" && CC=cc
+test -z "$LTCC" && LTCC=$CC
+test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS
+test -z "$LD" && LD=ld
+test -z "$ac_objext" && ac_objext=o
+
+_LT_CC_BASENAME([$compiler])
+
+# Only perform the check for file, if the check method requires it
+test -z "$MAGIC_CMD" && MAGIC_CMD=file
+case $deplibs_check_method in
+file_magic*)
+ if test "$file_magic_cmd" = '$MAGIC_CMD'; then
+ _LT_PATH_MAGIC
+ fi
+ ;;
+esac
+
+# Use C for the default configuration in the libtool script
+LT_SUPPORTED_TAG([CC])
+_LT_LANG_C_CONFIG
+_LT_LANG_DEFAULT_CONFIG
+_LT_CONFIG_COMMANDS
+])# _LT_SETUP
+
+
+# _LT_PREPARE_SED_QUOTE_VARS
+# --------------------------
+# Define a few sed substitution that help us do robust quoting.
+m4_defun([_LT_PREPARE_SED_QUOTE_VARS],
+[# Backslashify metacharacters that are still active within
+# double-quoted strings.
+sed_quote_subst='s/\([["`$\\]]\)/\\\1/g'
+
+# Same as above, but do not quote variable references.
+double_quote_subst='s/\([["`\\]]\)/\\\1/g'
+
+# Sed substitution to delay expansion of an escaped shell variable in a
+# double_quote_subst'ed string.
+delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
+
+# Sed substitution to delay expansion of an escaped single quote.
+delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g'
+
+# Sed substitution to avoid accidental globbing in evaled expressions
+no_glob_subst='s/\*/\\\*/g'
+])
+
+# _LT_PROG_LTMAIN
+# ---------------
+# Note that this code is called both from `configure', and `config.status'
+# now that we use AC_CONFIG_COMMANDS to generate libtool. Notably,
+# `config.status' has no value for ac_aux_dir unless we are using Automake,
+# so we pass a copy along to make sure it has a sensible value anyway.
+m4_defun([_LT_PROG_LTMAIN],
+[m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([ltmain.sh])])dnl
+_LT_CONFIG_LIBTOOL_INIT([ac_aux_dir='$ac_aux_dir'])
+ltmain="$ac_aux_dir/ltmain.sh"
+])# _LT_PROG_LTMAIN
+
+
+## ------------------------------------- ##
+## Accumulate code for creating libtool. ##
+## ------------------------------------- ##
+
+# So that we can recreate a full libtool script including additional
+# tags, we accumulate the chunks of code to send to AC_CONFIG_COMMANDS
+# in macros and then make a single call at the end using the `libtool'
+# label.
+
+
+# _LT_CONFIG_LIBTOOL_INIT([INIT-COMMANDS])
+# ----------------------------------------
+# Register INIT-COMMANDS to be passed to AC_CONFIG_COMMANDS later.
+m4_define([_LT_CONFIG_LIBTOOL_INIT],
+[m4_ifval([$1],
+ [m4_append([_LT_OUTPUT_LIBTOOL_INIT],
+ [$1
+])])])
+
+# Initialize.
+m4_define([_LT_OUTPUT_LIBTOOL_INIT])
+
+
+# _LT_CONFIG_LIBTOOL([COMMANDS])
+# ------------------------------
+# Register COMMANDS to be passed to AC_CONFIG_COMMANDS later.
+m4_define([_LT_CONFIG_LIBTOOL],
+[m4_ifval([$1],
+ [m4_append([_LT_OUTPUT_LIBTOOL_COMMANDS],
+ [$1
+])])])
+
+# Initialize.
+m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS])
+
+
+# _LT_CONFIG_SAVE_COMMANDS([COMMANDS], [INIT_COMMANDS])
+# -----------------------------------------------------
+m4_defun([_LT_CONFIG_SAVE_COMMANDS],
+[_LT_CONFIG_LIBTOOL([$1])
+_LT_CONFIG_LIBTOOL_INIT([$2])
+])
+
+
+# _LT_FORMAT_COMMENT([COMMENT])
+# -----------------------------
+# Add leading comment marks to the start of each line, and a trailing
+# full-stop to the whole comment if one is not present already.
+m4_define([_LT_FORMAT_COMMENT],
+[m4_ifval([$1], [
+m4_bpatsubst([m4_bpatsubst([$1], [^ *], [# ])],
+ [['`$\]], [\\\&])]m4_bmatch([$1], [[!?.]$], [], [.])
+)])
+
+
+
+## ------------------------ ##
+## FIXME: Eliminate VARNAME ##
+## ------------------------ ##
+
+
+# _LT_DECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION], [IS-TAGGED?])
+# -------------------------------------------------------------------
+# CONFIGNAME is the name given to the value in the libtool script.
+# VARNAME is the (base) name used in the configure script.
+# VALUE may be 0, 1 or 2 for a computed quote escaped value based on
+# VARNAME. Any other value will be used directly.
+m4_define([_LT_DECL],
+[lt_if_append_uniq([lt_decl_varnames], [$2], [, ],
+ [lt_dict_add_subkey([lt_decl_dict], [$2], [libtool_name],
+ [m4_ifval([$1], [$1], [$2])])
+ lt_dict_add_subkey([lt_decl_dict], [$2], [value], [$3])
+ m4_ifval([$4],
+ [lt_dict_add_subkey([lt_decl_dict], [$2], [description], [$4])])
+ lt_dict_add_subkey([lt_decl_dict], [$2],
+ [tagged?], [m4_ifval([$5], [yes], [no])])])
+])
+
+
+# _LT_TAGDECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION])
+# --------------------------------------------------------
+m4_define([_LT_TAGDECL], [_LT_DECL([$1], [$2], [$3], [$4], [yes])])
+
+
+# lt_decl_tag_varnames([SEPARATOR], [VARNAME1...])
+# ------------------------------------------------
+m4_define([lt_decl_tag_varnames],
+[_lt_decl_filter([tagged?], [yes], $@)])
+
+
+# _lt_decl_filter(SUBKEY, VALUE, [SEPARATOR], [VARNAME1..])
+# ---------------------------------------------------------
+m4_define([_lt_decl_filter],
+[m4_case([$#],
+ [0], [m4_fatal([$0: too few arguments: $#])],
+ [1], [m4_fatal([$0: too few arguments: $#: $1])],
+ [2], [lt_dict_filter([lt_decl_dict], [$1], [$2], [], lt_decl_varnames)],
+ [3], [lt_dict_filter([lt_decl_dict], [$1], [$2], [$3], lt_decl_varnames)],
+ [lt_dict_filter([lt_decl_dict], $@)])[]dnl
+])
+
+
+# lt_decl_quote_varnames([SEPARATOR], [VARNAME1...])
+# --------------------------------------------------
+m4_define([lt_decl_quote_varnames],
+[_lt_decl_filter([value], [1], $@)])
+
+
+# lt_decl_dquote_varnames([SEPARATOR], [VARNAME1...])
+# ---------------------------------------------------
+m4_define([lt_decl_dquote_varnames],
+[_lt_decl_filter([value], [2], $@)])
+
+
+# lt_decl_varnames_tagged([SEPARATOR], [VARNAME1...])
+# ---------------------------------------------------
+m4_define([lt_decl_varnames_tagged],
+[m4_assert([$# <= 2])dnl
+_$0(m4_quote(m4_default([$1], [[, ]])),
+ m4_ifval([$2], [[$2]], [m4_dquote(lt_decl_tag_varnames)]),
+ m4_split(m4_normalize(m4_quote(_LT_TAGS)), [ ]))])
+m4_define([_lt_decl_varnames_tagged],
+[m4_ifval([$3], [lt_combine([$1], [$2], [_], $3)])])
+
+
+# lt_decl_all_varnames([SEPARATOR], [VARNAME1...])
+# ------------------------------------------------
+m4_define([lt_decl_all_varnames],
+[_$0(m4_quote(m4_default([$1], [[, ]])),
+ m4_if([$2], [],
+ m4_quote(lt_decl_varnames),
+ m4_quote(m4_shift($@))))[]dnl
+])
+m4_define([_lt_decl_all_varnames],
+[lt_join($@, lt_decl_varnames_tagged([$1],
+ lt_decl_tag_varnames([[, ]], m4_shift($@))))dnl
+])
+
+
+# _LT_CONFIG_STATUS_DECLARE([VARNAME])
+# ------------------------------------
+# Quote a variable value, and forward it to `config.status' so that its
+# declaration there will have the same value as in `configure'. VARNAME
+# must have a single quote delimited value for this to work.
+m4_define([_LT_CONFIG_STATUS_DECLARE],
+[$1='`$ECHO "$][$1" | $SED "$delay_single_quote_subst"`'])
+
+
+# _LT_CONFIG_STATUS_DECLARATIONS
+# ------------------------------
+# We delimit libtool config variables with single quotes, so when
+# we write them to config.status, we have to be sure to quote all
+# embedded single quotes properly. In configure, this macro expands
+# each variable declared with _LT_DECL (and _LT_TAGDECL) into:
+#
+# <var>='`$ECHO "$<var>" | $SED "$delay_single_quote_subst"`'
+m4_defun([_LT_CONFIG_STATUS_DECLARATIONS],
+[m4_foreach([_lt_var], m4_quote(lt_decl_all_varnames),
+ [m4_n([_LT_CONFIG_STATUS_DECLARE(_lt_var)])])])
+
+
+# _LT_LIBTOOL_TAGS
+# ----------------
+# Output comment and list of tags supported by the script
+m4_defun([_LT_LIBTOOL_TAGS],
+[_LT_FORMAT_COMMENT([The names of the tagged configurations supported by this script])dnl
+available_tags="_LT_TAGS"dnl
+])
+
+
+# _LT_LIBTOOL_DECLARE(VARNAME, [TAG])
+# -----------------------------------
+# Extract the dictionary values for VARNAME (optionally with TAG) and
+# expand to a commented shell variable setting:
+#
+# # Some comment about what VAR is for.
+# visible_name=$lt_internal_name
+m4_define([_LT_LIBTOOL_DECLARE],
+[_LT_FORMAT_COMMENT(m4_quote(lt_dict_fetch([lt_decl_dict], [$1],
+ [description])))[]dnl
+m4_pushdef([_libtool_name],
+ m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [libtool_name])))[]dnl
+m4_case(m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [value])),
+ [0], [_libtool_name=[$]$1],
+ [1], [_libtool_name=$lt_[]$1],
+ [2], [_libtool_name=$lt_[]$1],
+ [_libtool_name=lt_dict_fetch([lt_decl_dict], [$1], [value])])[]dnl
+m4_ifval([$2], [_$2])[]m4_popdef([_libtool_name])[]dnl
+])
+
+
+# _LT_LIBTOOL_CONFIG_VARS
+# -----------------------
+# Produce commented declarations of non-tagged libtool config variables
+# suitable for insertion in the LIBTOOL CONFIG section of the `libtool'
+# script. Tagged libtool config variables (even for the LIBTOOL CONFIG
+# section) are produced by _LT_LIBTOOL_TAG_VARS.
+m4_defun([_LT_LIBTOOL_CONFIG_VARS],
+[m4_foreach([_lt_var],
+ m4_quote(_lt_decl_filter([tagged?], [no], [], lt_decl_varnames)),
+ [m4_n([_LT_LIBTOOL_DECLARE(_lt_var)])])])
+
+
+# _LT_LIBTOOL_TAG_VARS(TAG)
+# -------------------------
+m4_define([_LT_LIBTOOL_TAG_VARS],
+[m4_foreach([_lt_var], m4_quote(lt_decl_tag_varnames),
+ [m4_n([_LT_LIBTOOL_DECLARE(_lt_var, [$1])])])])
+
+
+# _LT_TAGVAR(VARNAME, [TAGNAME])
+# ------------------------------
+m4_define([_LT_TAGVAR], [m4_ifval([$2], [$1_$2], [$1])])
+
+
+# _LT_CONFIG_COMMANDS
+# -------------------
+# Send accumulated output to $CONFIG_STATUS. Thanks to the lists of
+# variables for single and double quote escaping we saved from calls
+# to _LT_DECL, we can put quote escaped variables declarations
+# into `config.status', and then the shell code to quote escape them in
+# for loops in `config.status'. Finally, any additional code accumulated
+# from calls to _LT_CONFIG_LIBTOOL_INIT is expanded.
+m4_defun([_LT_CONFIG_COMMANDS],
+[AC_PROVIDE_IFELSE([LT_OUTPUT],
+ dnl If the libtool generation code has been placed in $CONFIG_LT,
+ dnl instead of duplicating it all over again into config.status,
+ dnl then we will have config.status run $CONFIG_LT later, so it
+ dnl needs to know what name is stored there:
+ [AC_CONFIG_COMMANDS([libtool],
+ [$SHELL $CONFIG_LT || AS_EXIT(1)], [CONFIG_LT='$CONFIG_LT'])],
+ dnl If the libtool generation code is destined for config.status,
+ dnl expand the accumulated commands and init code now:
+ [AC_CONFIG_COMMANDS([libtool],
+ [_LT_OUTPUT_LIBTOOL_COMMANDS], [_LT_OUTPUT_LIBTOOL_COMMANDS_INIT])])
+])#_LT_CONFIG_COMMANDS
+
+
+# Initialize.
+m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS_INIT],
+[
+
+# The HP-UX ksh and POSIX shell print the target directory to stdout
+# if CDPATH is set.
+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
+
+sed_quote_subst='$sed_quote_subst'
+double_quote_subst='$double_quote_subst'
+delay_variable_subst='$delay_variable_subst'
+_LT_CONFIG_STATUS_DECLARATIONS
+LTCC='$LTCC'
+LTCFLAGS='$LTCFLAGS'
+compiler='$compiler_DEFAULT'
+
+# A function that is used when there is no print builtin or printf.
+func_fallback_echo ()
+{
+ eval 'cat <<_LTECHO_EOF
+\$[]1
+_LTECHO_EOF'
+}
+
+# Quote evaled strings.
+for var in lt_decl_all_varnames([[ \
+]], lt_decl_quote_varnames); do
+ case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
+ *[[\\\\\\\`\\"\\\$]]*)
+ eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\""
+ ;;
+ *)
+ eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
+ ;;
+ esac
+done
+
+# Double-quote double-evaled strings.
+for var in lt_decl_all_varnames([[ \
+]], lt_decl_dquote_varnames); do
+ case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
+ *[[\\\\\\\`\\"\\\$]]*)
+ eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\""
+ ;;
+ *)
+ eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
+ ;;
+ esac
+done
+
+_LT_OUTPUT_LIBTOOL_INIT
+])
+
+# _LT_GENERATED_FILE_INIT(FILE, [COMMENT])
+# ------------------------------------
+# Generate a child script FILE with all initialization necessary to
+# reuse the environment learned by the parent script, and make the
+# file executable. If COMMENT is supplied, it is inserted after the
+# `#!' sequence but before initialization text begins. After this
+# macro, additional text can be appended to FILE to form the body of
+# the child script. The macro ends with non-zero status if the
+# file could not be fully written (such as if the disk is full).
+m4_ifdef([AS_INIT_GENERATED],
+[m4_defun([_LT_GENERATED_FILE_INIT],[AS_INIT_GENERATED($@)])],
+[m4_defun([_LT_GENERATED_FILE_INIT],
+[m4_require([AS_PREPARE])]dnl
+[m4_pushdef([AS_MESSAGE_LOG_FD])]dnl
+[lt_write_fail=0
+cat >$1 <<_ASEOF || lt_write_fail=1
+#! $SHELL
+# Generated by $as_me.
+$2
+SHELL=\${CONFIG_SHELL-$SHELL}
+export SHELL
+_ASEOF
+cat >>$1 <<\_ASEOF || lt_write_fail=1
+AS_SHELL_SANITIZE
+_AS_PREPARE
+exec AS_MESSAGE_FD>&1
+_ASEOF
+test $lt_write_fail = 0 && chmod +x $1[]dnl
+m4_popdef([AS_MESSAGE_LOG_FD])])])# _LT_GENERATED_FILE_INIT
+
+# LT_OUTPUT
+# ---------
+# This macro allows early generation of the libtool script (before
+# AC_OUTPUT is called), incase it is used in configure for compilation
+# tests.
+AC_DEFUN([LT_OUTPUT],
+[: ${CONFIG_LT=./config.lt}
+AC_MSG_NOTICE([creating $CONFIG_LT])
+_LT_GENERATED_FILE_INIT(["$CONFIG_LT"],
+[# Run this file to recreate a libtool stub with the current configuration.])
+
+cat >>"$CONFIG_LT" <<\_LTEOF
+lt_cl_silent=false
+exec AS_MESSAGE_LOG_FD>>config.log
+{
+ echo
+ AS_BOX([Running $as_me.])
+} >&AS_MESSAGE_LOG_FD
+
+lt_cl_help="\
+\`$as_me' creates a local libtool stub from the current configuration,
+for use in further configure time tests before the real libtool is
+generated.
+
+Usage: $[0] [[OPTIONS]]
+
+ -h, --help print this help, then exit
+ -V, --version print version number, then exit
+ -q, --quiet do not print progress messages
+ -d, --debug don't remove temporary files
+
+Report bugs to <bug-libtool@gnu.org>."
+
+lt_cl_version="\
+m4_ifset([AC_PACKAGE_NAME], [AC_PACKAGE_NAME ])config.lt[]dnl
+m4_ifset([AC_PACKAGE_VERSION], [ AC_PACKAGE_VERSION])
+configured by $[0], generated by m4_PACKAGE_STRING.
+
+Copyright (C) 2011 Free Software Foundation, Inc.
+This config.lt script is free software; the Free Software Foundation
+gives unlimited permision to copy, distribute and modify it."
+
+while test $[#] != 0
+do
+ case $[1] in
+ --version | --v* | -V )
+ echo "$lt_cl_version"; exit 0 ;;
+ --help | --h* | -h )
+ echo "$lt_cl_help"; exit 0 ;;
+ --debug | --d* | -d )
+ debug=: ;;
+ --quiet | --q* | --silent | --s* | -q )
+ lt_cl_silent=: ;;
+
+ -*) AC_MSG_ERROR([unrecognized option: $[1]
+Try \`$[0] --help' for more information.]) ;;
+
+ *) AC_MSG_ERROR([unrecognized argument: $[1]
+Try \`$[0] --help' for more information.]) ;;
+ esac
+ shift
+done
+
+if $lt_cl_silent; then
+ exec AS_MESSAGE_FD>/dev/null
+fi
+_LTEOF
+
+cat >>"$CONFIG_LT" <<_LTEOF
+_LT_OUTPUT_LIBTOOL_COMMANDS_INIT
+_LTEOF
+
+cat >>"$CONFIG_LT" <<\_LTEOF
+AC_MSG_NOTICE([creating $ofile])
+_LT_OUTPUT_LIBTOOL_COMMANDS
+AS_EXIT(0)
+_LTEOF
+chmod +x "$CONFIG_LT"
+
+# configure is writing to config.log, but config.lt does its own redirection,
+# appending to config.log, which fails on DOS, as config.log is still kept
+# open by configure. Here we exec the FD to /dev/null, effectively closing
+# config.log, so it can be properly (re)opened and appended to by config.lt.
+lt_cl_success=:
+test "$silent" = yes &&
+ lt_config_lt_args="$lt_config_lt_args --quiet"
+exec AS_MESSAGE_LOG_FD>/dev/null
+$SHELL "$CONFIG_LT" $lt_config_lt_args || lt_cl_success=false
+exec AS_MESSAGE_LOG_FD>>config.log
+$lt_cl_success || AS_EXIT(1)
+])# LT_OUTPUT
+
+
+# _LT_CONFIG(TAG)
+# ---------------
+# If TAG is the built-in tag, create an initial libtool script with a
+# default configuration from the untagged config vars. Otherwise add code
+# to config.status for appending the configuration named by TAG from the
+# matching tagged config vars.
+m4_defun([_LT_CONFIG],
+[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+_LT_CONFIG_SAVE_COMMANDS([
+ m4_define([_LT_TAG], m4_if([$1], [], [C], [$1]))dnl
+ m4_if(_LT_TAG, [C], [
+ # See if we are running on zsh, and set the options which allow our
+ # commands through without removal of \ escapes.
+ if test -n "${ZSH_VERSION+set}" ; then
+ setopt NO_GLOB_SUBST
+ fi
+
+ cfgfile="${ofile}T"
+ trap "$RM \"$cfgfile\"; exit 1" 1 2 15
+ $RM "$cfgfile"
+
+ cat <<_LT_EOF >> "$cfgfile"
+#! $SHELL
+
+# `$ECHO "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services.
+# Generated automatically by $as_me ($PACKAGE$TIMESTAMP) $VERSION
+# Libtool was configured as follows:
+# NOTE: Changes made to this file will be lost: look at ltmain.sh.
+#
+_LT_COPYING
+_LT_LIBTOOL_TAGS
+
+# ### BEGIN LIBTOOL CONFIG
+_LT_LIBTOOL_CONFIG_VARS
+_LT_LIBTOOL_TAG_VARS
+# ### END LIBTOOL CONFIG
+
+_LT_EOF
+
+ case $host_os in
+ aix3*)
+ cat <<\_LT_EOF >> "$cfgfile"
+# AIX sometimes has problems with the GCC collect2 program. For some
+# reason, if we set the COLLECT_NAMES environment variable, the problems
+# vanish in a puff of smoke.
+if test "X${COLLECT_NAMES+set}" != Xset; then
+ COLLECT_NAMES=
+ export COLLECT_NAMES
+fi
+_LT_EOF
+ ;;
+ esac
+
+ _LT_PROG_LTMAIN
+
+ # We use sed instead of cat because bash on DJGPP gets confused if
+ # if finds mixed CR/LF and LF-only lines. Since sed operates in
+ # text mode, it properly converts lines to CR/LF. This bash problem
+ # is reportedly fixed, but why not run on old versions too?
+ sed '$q' "$ltmain" >> "$cfgfile" \
+ || (rm -f "$cfgfile"; exit 1)
+
+ _LT_PROG_REPLACE_SHELLFNS
+
+ mv -f "$cfgfile" "$ofile" ||
+ (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
+ chmod +x "$ofile"
+],
+[cat <<_LT_EOF >> "$ofile"
+
+dnl Unfortunately we have to use $1 here, since _LT_TAG is not expanded
+dnl in a comment (ie after a #).
+# ### BEGIN LIBTOOL TAG CONFIG: $1
+_LT_LIBTOOL_TAG_VARS(_LT_TAG)
+# ### END LIBTOOL TAG CONFIG: $1
+_LT_EOF
+])dnl /m4_if
+],
+[m4_if([$1], [], [
+ PACKAGE='$PACKAGE'
+ VERSION='$VERSION'
+ TIMESTAMP='$TIMESTAMP'
+ RM='$RM'
+ ofile='$ofile'], [])
+])dnl /_LT_CONFIG_SAVE_COMMANDS
+])# _LT_CONFIG
+
+
+# LT_SUPPORTED_TAG(TAG)
+# ---------------------
+# Trace this macro to discover what tags are supported by the libtool
+# --tag option, using:
+# autoconf --trace 'LT_SUPPORTED_TAG:$1'
+AC_DEFUN([LT_SUPPORTED_TAG], [])
+
+
+# C support is built-in for now
+m4_define([_LT_LANG_C_enabled], [])
+m4_define([_LT_TAGS], [])
+
+
+# LT_LANG(LANG)
+# -------------
+# Enable libtool support for the given language if not already enabled.
+AC_DEFUN([LT_LANG],
+[AC_BEFORE([$0], [LT_OUTPUT])dnl
+m4_case([$1],
+ [C], [_LT_LANG(C)],
+ [C++], [_LT_LANG(CXX)],
+ [Go], [_LT_LANG(GO)],
+ [Java], [_LT_LANG(GCJ)],
+ [Fortran 77], [_LT_LANG(F77)],
+ [Fortran], [_LT_LANG(FC)],
+ [Windows Resource], [_LT_LANG(RC)],
+ [m4_ifdef([_LT_LANG_]$1[_CONFIG],
+ [_LT_LANG($1)],
+ [m4_fatal([$0: unsupported language: "$1"])])])dnl
+])# LT_LANG
+
+
+# _LT_LANG(LANGNAME)
+# ------------------
+m4_defun([_LT_LANG],
+[m4_ifdef([_LT_LANG_]$1[_enabled], [],
+ [LT_SUPPORTED_TAG([$1])dnl
+ m4_append([_LT_TAGS], [$1 ])dnl
+ m4_define([_LT_LANG_]$1[_enabled], [])dnl
+ _LT_LANG_$1_CONFIG($1)])dnl
+])# _LT_LANG
+
+
+m4_ifndef([AC_PROG_GO], [
+############################################################
+# NOTE: This macro has been submitted for inclusion into #
+# GNU Autoconf as AC_PROG_GO. When it is available in #
+# a released version of Autoconf we should remove this #
+# macro and use it instead. #
+############################################################
+m4_defun([AC_PROG_GO],
+[AC_LANG_PUSH(Go)dnl
+AC_ARG_VAR([GOC], [Go compiler command])dnl
+AC_ARG_VAR([GOFLAGS], [Go compiler flags])dnl
+_AC_ARG_VAR_LDFLAGS()dnl
+AC_CHECK_TOOL(GOC, gccgo)
+if test -z "$GOC"; then
+ if test -n "$ac_tool_prefix"; then
+ AC_CHECK_PROG(GOC, [${ac_tool_prefix}gccgo], [${ac_tool_prefix}gccgo])
+ fi
+fi
+if test -z "$GOC"; then
+ AC_CHECK_PROG(GOC, gccgo, gccgo, false)
+fi
+])#m4_defun
+])#m4_ifndef
+
+
+# _LT_LANG_DEFAULT_CONFIG
+# -----------------------
+m4_defun([_LT_LANG_DEFAULT_CONFIG],
+[AC_PROVIDE_IFELSE([AC_PROG_CXX],
+ [LT_LANG(CXX)],
+ [m4_define([AC_PROG_CXX], defn([AC_PROG_CXX])[LT_LANG(CXX)])])
+
+AC_PROVIDE_IFELSE([AC_PROG_F77],
+ [LT_LANG(F77)],
+ [m4_define([AC_PROG_F77], defn([AC_PROG_F77])[LT_LANG(F77)])])
+
+AC_PROVIDE_IFELSE([AC_PROG_FC],
+ [LT_LANG(FC)],
+ [m4_define([AC_PROG_FC], defn([AC_PROG_FC])[LT_LANG(FC)])])
+
+dnl The call to [A][M_PROG_GCJ] is quoted like that to stop aclocal
+dnl pulling things in needlessly.
+AC_PROVIDE_IFELSE([AC_PROG_GCJ],
+ [LT_LANG(GCJ)],
+ [AC_PROVIDE_IFELSE([A][M_PROG_GCJ],
+ [LT_LANG(GCJ)],
+ [AC_PROVIDE_IFELSE([LT_PROG_GCJ],
+ [LT_LANG(GCJ)],
+ [m4_ifdef([AC_PROG_GCJ],
+ [m4_define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[LT_LANG(GCJ)])])
+ m4_ifdef([A][M_PROG_GCJ],
+ [m4_define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[LT_LANG(GCJ)])])
+ m4_ifdef([LT_PROG_GCJ],
+ [m4_define([LT_PROG_GCJ], defn([LT_PROG_GCJ])[LT_LANG(GCJ)])])])])])
+
+AC_PROVIDE_IFELSE([AC_PROG_GO],
+ [LT_LANG(GO)],
+ [m4_define([AC_PROG_GO], defn([AC_PROG_GO])[LT_LANG(GO)])])
+
+AC_PROVIDE_IFELSE([LT_PROG_RC],
+ [LT_LANG(RC)],
+ [m4_define([LT_PROG_RC], defn([LT_PROG_RC])[LT_LANG(RC)])])
+])# _LT_LANG_DEFAULT_CONFIG
+
+# Obsolete macros:
+AU_DEFUN([AC_LIBTOOL_CXX], [LT_LANG(C++)])
+AU_DEFUN([AC_LIBTOOL_F77], [LT_LANG(Fortran 77)])
+AU_DEFUN([AC_LIBTOOL_FC], [LT_LANG(Fortran)])
+AU_DEFUN([AC_LIBTOOL_GCJ], [LT_LANG(Java)])
+AU_DEFUN([AC_LIBTOOL_RC], [LT_LANG(Windows Resource)])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_LIBTOOL_CXX], [])
+dnl AC_DEFUN([AC_LIBTOOL_F77], [])
+dnl AC_DEFUN([AC_LIBTOOL_FC], [])
+dnl AC_DEFUN([AC_LIBTOOL_GCJ], [])
+dnl AC_DEFUN([AC_LIBTOOL_RC], [])
+
+
+# _LT_TAG_COMPILER
+# ----------------
+m4_defun([_LT_TAG_COMPILER],
+[AC_REQUIRE([AC_PROG_CC])dnl
+
+_LT_DECL([LTCC], [CC], [1], [A C compiler])dnl
+_LT_DECL([LTCFLAGS], [CFLAGS], [1], [LTCC compiler flags])dnl
+_LT_TAGDECL([CC], [compiler], [1], [A language specific compiler])dnl
+_LT_TAGDECL([with_gcc], [GCC], [0], [Is the compiler the GNU compiler?])dnl
+
+# If no C compiler was specified, use CC.
+LTCC=${LTCC-"$CC"}
+
+# If no C compiler flags were specified, use CFLAGS.
+LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
+
+# Allow CC to be a program name with arguments.
+compiler=$CC
+])# _LT_TAG_COMPILER
+
+
+# _LT_COMPILER_BOILERPLATE
+# ------------------------
+# Check for compiler boilerplate output or warnings with
+# the simple compiler test code.
+m4_defun([_LT_COMPILER_BOILERPLATE],
+[m4_require([_LT_DECL_SED])dnl
+ac_outfile=conftest.$ac_objext
+echo "$lt_simple_compile_test_code" >conftest.$ac_ext
+eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
+_lt_compiler_boilerplate=`cat conftest.err`
+$RM conftest*
+])# _LT_COMPILER_BOILERPLATE
+
+
+# _LT_LINKER_BOILERPLATE
+# ----------------------
+# Check for linker boilerplate output or warnings with
+# the simple link test code.
+m4_defun([_LT_LINKER_BOILERPLATE],
+[m4_require([_LT_DECL_SED])dnl
+ac_outfile=conftest.$ac_objext
+echo "$lt_simple_link_test_code" >conftest.$ac_ext
+eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
+_lt_linker_boilerplate=`cat conftest.err`
+$RM -r conftest*
+])# _LT_LINKER_BOILERPLATE
+
+# _LT_REQUIRED_DARWIN_CHECKS
+# -------------------------
+m4_defun_once([_LT_REQUIRED_DARWIN_CHECKS],[
+ case $host_os in
+ rhapsody* | darwin*)
+ AC_CHECK_TOOL([DSYMUTIL], [dsymutil], [:])
+ AC_CHECK_TOOL([NMEDIT], [nmedit], [:])
+ AC_CHECK_TOOL([LIPO], [lipo], [:])
+ AC_CHECK_TOOL([OTOOL], [otool], [:])
+ AC_CHECK_TOOL([OTOOL64], [otool64], [:])
+ _LT_DECL([], [DSYMUTIL], [1],
+ [Tool to manipulate archived DWARF debug symbol files on Mac OS X])
+ _LT_DECL([], [NMEDIT], [1],
+ [Tool to change global to local symbols on Mac OS X])
+ _LT_DECL([], [LIPO], [1],
+ [Tool to manipulate fat objects and archives on Mac OS X])
+ _LT_DECL([], [OTOOL], [1],
+ [ldd/readelf like tool for Mach-O binaries on Mac OS X])
+ _LT_DECL([], [OTOOL64], [1],
+ [ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4])
+
+ AC_CACHE_CHECK([for -single_module linker flag],[lt_cv_apple_cc_single_mod],
+ [lt_cv_apple_cc_single_mod=no
+ if test -z "${LT_MULTI_MODULE}"; then
+ # By default we will add the -single_module flag. You can override
+ # by either setting the environment variable LT_MULTI_MODULE
+ # non-empty at configure time, or by adding -multi_module to the
+ # link flags.
+ rm -rf libconftest.dylib*
+ echo "int foo(void){return 1;}" > conftest.c
+ echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
+-dynamiclib -Wl,-single_module conftest.c" >&AS_MESSAGE_LOG_FD
+ $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
+ -dynamiclib -Wl,-single_module conftest.c 2>conftest.err
+ _lt_result=$?
+ # If there is a non-empty error log, and "single_module"
+ # appears in it, assume the flag caused a linker warning
+ if test -s conftest.err && $GREP single_module conftest.err; then
+ cat conftest.err >&AS_MESSAGE_LOG_FD
+ # Otherwise, if the output was created with a 0 exit code from
+ # the compiler, it worked.
+ elif test -f libconftest.dylib && test $_lt_result -eq 0; then
+ lt_cv_apple_cc_single_mod=yes
+ else
+ cat conftest.err >&AS_MESSAGE_LOG_FD
+ fi
+ rm -rf libconftest.dylib*
+ rm -f conftest.*
+ fi])
+
+ AC_CACHE_CHECK([for -exported_symbols_list linker flag],
+ [lt_cv_ld_exported_symbols_list],
+ [lt_cv_ld_exported_symbols_list=no
+ save_LDFLAGS=$LDFLAGS
+ echo "_main" > conftest.sym
+ LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym"
+ AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])],
+ [lt_cv_ld_exported_symbols_list=yes],
+ [lt_cv_ld_exported_symbols_list=no])
+ LDFLAGS="$save_LDFLAGS"
+ ])
+
+ AC_CACHE_CHECK([for -force_load linker flag],[lt_cv_ld_force_load],
+ [lt_cv_ld_force_load=no
+ cat > conftest.c << _LT_EOF
+int forced_loaded() { return 2;}
+_LT_EOF
+ echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&AS_MESSAGE_LOG_FD
+ $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&AS_MESSAGE_LOG_FD
+ echo "$AR cru libconftest.a conftest.o" >&AS_MESSAGE_LOG_FD
+ $AR cru libconftest.a conftest.o 2>&AS_MESSAGE_LOG_FD
+ echo "$RANLIB libconftest.a" >&AS_MESSAGE_LOG_FD
+ $RANLIB libconftest.a 2>&AS_MESSAGE_LOG_FD
+ cat > conftest.c << _LT_EOF
+int main() { return 0;}
+_LT_EOF
+ echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&AS_MESSAGE_LOG_FD
+ $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err
+ _lt_result=$?
+ if test -s conftest.err && $GREP force_load conftest.err; then
+ cat conftest.err >&AS_MESSAGE_LOG_FD
+ elif test -f conftest && test $_lt_result -eq 0 && $GREP forced_load conftest >/dev/null 2>&1 ; then
+ lt_cv_ld_force_load=yes
+ else
+ cat conftest.err >&AS_MESSAGE_LOG_FD
+ fi
+ rm -f conftest.err libconftest.a conftest conftest.c
+ rm -rf conftest.dSYM
+ ])
+ case $host_os in
+ rhapsody* | darwin1.[[012]])
+ _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;;
+ darwin1.*)
+ _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
+ darwin*) # darwin 5.x on
+ # if running on 10.5 or later, the deployment target defaults
+ # to the OS version, if on x86, and 10.4, the deployment
+ # target defaults to 10.4. Don't you love it?
+ case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in
+ 10.0,*86*-darwin8*|10.0,*-darwin[[91]]*)
+ _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
+ 10.[[012]]*)
+ _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
+ 10.*)
+ _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
+ esac
+ ;;
+ esac
+ if test "$lt_cv_apple_cc_single_mod" = "yes"; then
+ _lt_dar_single_mod='$single_module'
+ fi
+ if test "$lt_cv_ld_exported_symbols_list" = "yes"; then
+ _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym'
+ else
+ _lt_dar_export_syms='~$NMEDIT -s $output_objdir/${libname}-symbols.expsym ${lib}'
+ fi
+ if test "$DSYMUTIL" != ":" && test "$lt_cv_ld_force_load" = "no"; then
+ _lt_dsymutil='~$DSYMUTIL $lib || :'
+ else
+ _lt_dsymutil=
+ fi
+ ;;
+ esac
+])
+
+
+# _LT_DARWIN_LINKER_FEATURES([TAG])
+# ---------------------------------
+# Checks for linker and compiler features on darwin
+m4_defun([_LT_DARWIN_LINKER_FEATURES],
+[
+ m4_require([_LT_REQUIRED_DARWIN_CHECKS])
+ _LT_TAGVAR(archive_cmds_need_lc, $1)=no
+ _LT_TAGVAR(hardcode_direct, $1)=no
+ _LT_TAGVAR(hardcode_automatic, $1)=yes
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
+ if test "$lt_cv_ld_force_load" = "yes"; then
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience ${wl}-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`'
+ m4_case([$1], [F77], [_LT_TAGVAR(compiler_needs_object, $1)=yes],
+ [FC], [_LT_TAGVAR(compiler_needs_object, $1)=yes])
+ else
+ _LT_TAGVAR(whole_archive_flag_spec, $1)=''
+ fi
+ _LT_TAGVAR(link_all_deplibs, $1)=yes
+ _LT_TAGVAR(allow_undefined_flag, $1)="$_lt_dar_allow_undefined"
+ case $cc_basename in
+ ifort*) _lt_dar_can_shared=yes ;;
+ *) _lt_dar_can_shared=$GCC ;;
+ esac
+ if test "$_lt_dar_can_shared" = "yes"; then
+ output_verbose_link_cmd=func_echo_all
+ _LT_TAGVAR(archive_cmds, $1)="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
+ _LT_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
+ _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
+ _LT_TAGVAR(module_expsym_cmds, $1)="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
+ m4_if([$1], [CXX],
+[ if test "$lt_cv_apple_cc_single_mod" != "yes"; then
+ _LT_TAGVAR(archive_cmds, $1)="\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dsymutil}"
+ _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dar_export_syms}${_lt_dsymutil}"
+ fi
+],[])
+ else
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ fi
+])
+
+# _LT_SYS_MODULE_PATH_AIX([TAGNAME])
+# ----------------------------------
+# Links a minimal program and checks the executable
+# for the system default hardcoded library path. In most cases,
+# this is /usr/lib:/lib, but when the MPI compilers are used
+# the location of the communication and MPI libs are included too.
+# If we don't find anything, use the default library path according
+# to the aix ld manual.
+# Store the results from the different compilers for each TAGNAME.
+# Allow to override them for all tags through lt_cv_aix_libpath.
+m4_defun([_LT_SYS_MODULE_PATH_AIX],
+[m4_require([_LT_DECL_SED])dnl
+if test "${lt_cv_aix_libpath+set}" = set; then
+ aix_libpath=$lt_cv_aix_libpath
+else
+ AC_CACHE_VAL([_LT_TAGVAR([lt_cv_aix_libpath_], [$1])],
+ [AC_LINK_IFELSE([AC_LANG_PROGRAM],[
+ lt_aix_libpath_sed='[
+ /Import File Strings/,/^$/ {
+ /^0/ {
+ s/^0 *\([^ ]*\) *$/\1/
+ p
+ }
+ }]'
+ _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+ # Check for a 64-bit object if we didn't find anything.
+ if test -z "$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])"; then
+ _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+ fi],[])
+ if test -z "$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])"; then
+ _LT_TAGVAR([lt_cv_aix_libpath_], [$1])="/usr/lib:/lib"
+ fi
+ ])
+ aix_libpath=$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])
+fi
+])# _LT_SYS_MODULE_PATH_AIX
+
+
+# _LT_SHELL_INIT(ARG)
+# -------------------
+m4_define([_LT_SHELL_INIT],
+[m4_divert_text([M4SH-INIT], [$1
+])])# _LT_SHELL_INIT
+
+
+
+# _LT_PROG_ECHO_BACKSLASH
+# -----------------------
+# Find how we can fake an echo command that does not interpret backslash.
+# In particular, with Autoconf 2.60 or later we add some code to the start
+# of the generated configure script which will find a shell with a builtin
+# printf (which we can use as an echo command).
+m4_defun([_LT_PROG_ECHO_BACKSLASH],
+[ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
+ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO
+ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO
+
+AC_MSG_CHECKING([how to print strings])
+# Test print first, because it will be a builtin if present.
+if test "X`( print -r -- -n ) 2>/dev/null`" = X-n && \
+ test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then
+ ECHO='print -r --'
+elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then
+ ECHO='printf %s\n'
+else
+ # Use this function as a fallback that always works.
+ func_fallback_echo ()
+ {
+ eval 'cat <<_LTECHO_EOF
+$[]1
+_LTECHO_EOF'
+ }
+ ECHO='func_fallback_echo'
+fi
+
+# func_echo_all arg...
+# Invoke $ECHO with all args, space-separated.
+func_echo_all ()
+{
+ $ECHO "$*"
+}
+
+case "$ECHO" in
+ printf*) AC_MSG_RESULT([printf]) ;;
+ print*) AC_MSG_RESULT([print -r]) ;;
+ *) AC_MSG_RESULT([cat]) ;;
+esac
+
+m4_ifdef([_AS_DETECT_SUGGESTED],
+[_AS_DETECT_SUGGESTED([
+ test -n "${ZSH_VERSION+set}${BASH_VERSION+set}" || (
+ ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
+ ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO
+ ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO
+ PATH=/empty FPATH=/empty; export PATH FPATH
+ test "X`printf %s $ECHO`" = "X$ECHO" \
+ || test "X`print -r -- $ECHO`" = "X$ECHO" )])])
+
+_LT_DECL([], [SHELL], [1], [Shell to use when invoking shell scripts])
+_LT_DECL([], [ECHO], [1], [An echo program that protects backslashes])
+])# _LT_PROG_ECHO_BACKSLASH
+
+
+# _LT_WITH_SYSROOT
+# ----------------
+AC_DEFUN([_LT_WITH_SYSROOT],
+[AC_MSG_CHECKING([for sysroot])
+AC_ARG_WITH([sysroot],
+[ --with-sysroot[=DIR] Search for dependent libraries within DIR
+ (or the compiler's sysroot if not specified).],
+[], [with_sysroot=no])
+
+dnl lt_sysroot will always be passed unquoted. We quote it here
+dnl in case the user passed a directory name.
+lt_sysroot=
+case ${with_sysroot} in #(
+ yes)
+ if test "$GCC" = yes; then
+ lt_sysroot=`$CC --print-sysroot 2>/dev/null`
+ fi
+ ;; #(
+ /*)
+ lt_sysroot=`echo "$with_sysroot" | sed -e "$sed_quote_subst"`
+ ;; #(
+ no|'')
+ ;; #(
+ *)
+ AC_MSG_RESULT([${with_sysroot}])
+ AC_MSG_ERROR([The sysroot must be an absolute path.])
+ ;;
+esac
+
+ AC_MSG_RESULT([${lt_sysroot:-no}])
+_LT_DECL([], [lt_sysroot], [0], [The root where to search for ]dnl
+[dependent libraries, and in which our libraries should be installed.])])
+
+# _LT_ENABLE_LOCK
+# ---------------
+m4_defun([_LT_ENABLE_LOCK],
+[AC_ARG_ENABLE([libtool-lock],
+ [AS_HELP_STRING([--disable-libtool-lock],
+ [avoid locking (might break parallel builds)])])
+test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
+
+# Some flags need to be propagated to the compiler or linker for good
+# libtool support.
+case $host in
+ia64-*-hpux*)
+ # Find out which ABI we are using.
+ echo 'int i;' > conftest.$ac_ext
+ if AC_TRY_EVAL(ac_compile); then
+ case `/usr/bin/file conftest.$ac_objext` in
+ *ELF-32*)
+ HPUX_IA64_MODE="32"
+ ;;
+ *ELF-64*)
+ HPUX_IA64_MODE="64"
+ ;;
+ esac
+ fi
+ rm -rf conftest*
+ ;;
+*-*-irix6*)
+ # Find out which ABI we are using.
+ echo '[#]line '$LINENO' "configure"' > conftest.$ac_ext
+ if AC_TRY_EVAL(ac_compile); then
+ if test "$lt_cv_prog_gnu_ld" = yes; then
+ case `/usr/bin/file conftest.$ac_objext` in
+ *32-bit*)
+ LD="${LD-ld} -melf32bsmip"
+ ;;
+ *N32*)
+ LD="${LD-ld} -melf32bmipn32"
+ ;;
+ *64-bit*)
+ LD="${LD-ld} -melf64bmip"
+ ;;
+ esac
+ else
+ case `/usr/bin/file conftest.$ac_objext` in
+ *32-bit*)
+ LD="${LD-ld} -32"
+ ;;
+ *N32*)
+ LD="${LD-ld} -n32"
+ ;;
+ *64-bit*)
+ LD="${LD-ld} -64"
+ ;;
+ esac
+ fi
+ fi
+ rm -rf conftest*
+ ;;
+
+x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \
+s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
+ # Find out which ABI we are using.
+ echo 'int i;' > conftest.$ac_ext
+ if AC_TRY_EVAL(ac_compile); then
+ case `/usr/bin/file conftest.o` in
+ *32-bit*)
+ case $host in
+ x86_64-*kfreebsd*-gnu)
+ LD="${LD-ld} -m elf_i386_fbsd"
+ ;;
+ x86_64-*linux*)
+ LD="${LD-ld} -m elf_i386"
+ ;;
+ ppc64-*linux*|powerpc64-*linux*)
+ LD="${LD-ld} -m elf32ppclinux"
+ ;;
+ s390x-*linux*)
+ LD="${LD-ld} -m elf_s390"
+ ;;
+ sparc64-*linux*)
+ LD="${LD-ld} -m elf32_sparc"
+ ;;
+ esac
+ ;;
+ *64-bit*)
+ libsuff=64
+ case $host in
+ x86_64-*kfreebsd*-gnu)
+ LD="${LD-ld} -m elf_x86_64_fbsd"
+ ;;
+ x86_64-*linux*)
+ LD="${LD-ld} -m elf_x86_64"
+ ;;
+ ppc*-*linux*|powerpc*-*linux*)
+ LD="${LD-ld} -m elf64ppc"
+ ;;
+ s390*-*linux*|s390*-*tpf*)
+ LD="${LD-ld} -m elf64_s390"
+ ;;
+ sparc*-*linux*)
+ LD="${LD-ld} -m elf64_sparc"
+ ;;
+ esac
+ ;;
+ esac
+ fi
+ rm -rf conftest*
+ ;;
+
+*-*-sco3.2v5*)
+ # On SCO OpenServer 5, we need -belf to get full-featured binaries.
+ SAVE_CFLAGS="$CFLAGS"
+ CFLAGS="$CFLAGS -belf"
+ AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf,
+ [AC_LANG_PUSH(C)
+ AC_LINK_IFELSE([AC_LANG_PROGRAM([[]],[[]])],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no])
+ AC_LANG_POP])
+ if test x"$lt_cv_cc_needs_belf" != x"yes"; then
+ # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
+ CFLAGS="$SAVE_CFLAGS"
+ fi
+ ;;
+*-*solaris*)
+ # Find out which ABI we are using.
+ echo 'int i;' > conftest.$ac_ext
+ if AC_TRY_EVAL(ac_compile); then
+ case `/usr/bin/file conftest.o` in
+ *64-bit*)
+ case $lt_cv_prog_gnu_ld in
+ yes*)
+ case $host in
+ i?86-*-solaris*)
+ LD="${LD-ld} -m elf_x86_64"
+ ;;
+ sparc*-*-solaris*)
+ LD="${LD-ld} -m elf64_sparc"
+ ;;
+ esac
+ # GNU ld 2.21 introduced _sol2 emulations. Use them if available.
+ if ${LD-ld} -V | grep _sol2 >/dev/null 2>&1; then
+ LD="${LD-ld}_sol2"
+ fi
+ ;;
+ *)
+ if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then
+ LD="${LD-ld} -64"
+ fi
+ ;;
+ esac
+ ;;
+ esac
+ fi
+ rm -rf conftest*
+ ;;
+esac
+
+need_locks="$enable_libtool_lock"
+])# _LT_ENABLE_LOCK
+
+
+# _LT_PROG_AR
+# -----------
+m4_defun([_LT_PROG_AR],
+[AC_CHECK_TOOLS(AR, [ar], false)
+: ${AR=ar}
+: ${AR_FLAGS=cru}
+_LT_DECL([], [AR], [1], [The archiver])
+_LT_DECL([], [AR_FLAGS], [1], [Flags to create an archive])
+
+AC_CACHE_CHECK([for archiver @FILE support], [lt_cv_ar_at_file],
+ [lt_cv_ar_at_file=no
+ AC_COMPILE_IFELSE([AC_LANG_PROGRAM],
+ [echo conftest.$ac_objext > conftest.lst
+ lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&AS_MESSAGE_LOG_FD'
+ AC_TRY_EVAL([lt_ar_try])
+ if test "$ac_status" -eq 0; then
+ # Ensure the archiver fails upon bogus file names.
+ rm -f conftest.$ac_objext libconftest.a
+ AC_TRY_EVAL([lt_ar_try])
+ if test "$ac_status" -ne 0; then
+ lt_cv_ar_at_file=@
+ fi
+ fi
+ rm -f conftest.* libconftest.a
+ ])
+ ])
+
+if test "x$lt_cv_ar_at_file" = xno; then
+ archiver_list_spec=
+else
+ archiver_list_spec=$lt_cv_ar_at_file
+fi
+_LT_DECL([], [archiver_list_spec], [1],
+ [How to feed a file listing to the archiver])
+])# _LT_PROG_AR
+
+
+# _LT_CMD_OLD_ARCHIVE
+# -------------------
+m4_defun([_LT_CMD_OLD_ARCHIVE],
+[_LT_PROG_AR
+
+AC_CHECK_TOOL(STRIP, strip, :)
+test -z "$STRIP" && STRIP=:
+_LT_DECL([], [STRIP], [1], [A symbol stripping program])
+
+AC_CHECK_TOOL(RANLIB, ranlib, :)
+test -z "$RANLIB" && RANLIB=:
+_LT_DECL([], [RANLIB], [1],
+ [Commands used to install an old-style archive])
+
+# Determine commands to create old-style static archives.
+old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs'
+old_postinstall_cmds='chmod 644 $oldlib'
+old_postuninstall_cmds=
+
+if test -n "$RANLIB"; then
+ case $host_os in
+ openbsd*)
+ old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$tool_oldlib"
+ ;;
+ *)
+ old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$tool_oldlib"
+ ;;
+ esac
+ old_archive_cmds="$old_archive_cmds~\$RANLIB \$tool_oldlib"
+fi
+
+case $host_os in
+ darwin*)
+ lock_old_archive_extraction=yes ;;
+ *)
+ lock_old_archive_extraction=no ;;
+esac
+_LT_DECL([], [old_postinstall_cmds], [2])
+_LT_DECL([], [old_postuninstall_cmds], [2])
+_LT_TAGDECL([], [old_archive_cmds], [2],
+ [Commands used to build an old-style archive])
+_LT_DECL([], [lock_old_archive_extraction], [0],
+ [Whether to use a lock for old archive extraction])
+])# _LT_CMD_OLD_ARCHIVE
+
+
+# _LT_COMPILER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
+# [OUTPUT-FILE], [ACTION-SUCCESS], [ACTION-FAILURE])
+# ----------------------------------------------------------------
+# Check whether the given compiler option works
+AC_DEFUN([_LT_COMPILER_OPTION],
+[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+m4_require([_LT_DECL_SED])dnl
+AC_CACHE_CHECK([$1], [$2],
+ [$2=no
+ m4_if([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4])
+ echo "$lt_simple_compile_test_code" > conftest.$ac_ext
+ lt_compiler_flag="$3"
+ # Insert the option either (1) after the last *FLAGS variable, or
+ # (2) before a word containing "conftest.", or (3) at the end.
+ # Note that $ac_compile itself does not contain backslashes and begins
+ # with a dollar sign (not a hyphen), so the echo should work correctly.
+ # The option is referenced via a variable to avoid confusing sed.
+ lt_compile=`echo "$ac_compile" | $SED \
+ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+ -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \
+ -e 's:$: $lt_compiler_flag:'`
+ (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
+ (eval "$lt_compile" 2>conftest.err)
+ ac_status=$?
+ cat conftest.err >&AS_MESSAGE_LOG_FD
+ echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
+ if (exit $ac_status) && test -s "$ac_outfile"; then
+ # The compiler can only warn and ignore the option if not recognized
+ # So say no if there are warnings other than the usual output.
+ $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp
+ $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+ if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
+ $2=yes
+ fi
+ fi
+ $RM conftest*
+])
+
+if test x"[$]$2" = xyes; then
+ m4_if([$5], , :, [$5])
+else
+ m4_if([$6], , :, [$6])
+fi
+])# _LT_COMPILER_OPTION
+
+# Old name:
+AU_ALIAS([AC_LIBTOOL_COMPILER_OPTION], [_LT_COMPILER_OPTION])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION], [])
+
+
+# _LT_LINKER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
+# [ACTION-SUCCESS], [ACTION-FAILURE])
+# ----------------------------------------------------
+# Check whether the given linker option works
+AC_DEFUN([_LT_LINKER_OPTION],
+[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+m4_require([_LT_DECL_SED])dnl
+AC_CACHE_CHECK([$1], [$2],
+ [$2=no
+ save_LDFLAGS="$LDFLAGS"
+ LDFLAGS="$LDFLAGS $3"
+ echo "$lt_simple_link_test_code" > conftest.$ac_ext
+ if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
+ # The linker can only warn and ignore the option if not recognized
+ # So say no if there are warnings
+ if test -s conftest.err; then
+ # Append any errors to the config.log.
+ cat conftest.err 1>&AS_MESSAGE_LOG_FD
+ $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp
+ $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+ if diff conftest.exp conftest.er2 >/dev/null; then
+ $2=yes
+ fi
+ else
+ $2=yes
+ fi
+ fi
+ $RM -r conftest*
+ LDFLAGS="$save_LDFLAGS"
+])
+
+if test x"[$]$2" = xyes; then
+ m4_if([$4], , :, [$4])
+else
+ m4_if([$5], , :, [$5])
+fi
+])# _LT_LINKER_OPTION
+
+# Old name:
+AU_ALIAS([AC_LIBTOOL_LINKER_OPTION], [_LT_LINKER_OPTION])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_LIBTOOL_LINKER_OPTION], [])
+
+
+# LT_CMD_MAX_LEN
+#---------------
+AC_DEFUN([LT_CMD_MAX_LEN],
+[AC_REQUIRE([AC_CANONICAL_HOST])dnl
+# find the maximum length of command line arguments
+AC_MSG_CHECKING([the maximum length of command line arguments])
+AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl
+ i=0
+ teststring="ABCD"
+
+ case $build_os in
+ msdosdjgpp*)
+ # On DJGPP, this test can blow up pretty badly due to problems in libc
+ # (any single argument exceeding 2000 bytes causes a buffer overrun
+ # during glob expansion). Even if it were fixed, the result of this
+ # check would be larger than it should be.
+ lt_cv_sys_max_cmd_len=12288; # 12K is about right
+ ;;
+
+ gnu*)
+ # Under GNU Hurd, this test is not required because there is
+ # no limit to the length of command line arguments.
+ # Libtool will interpret -1 as no limit whatsoever
+ lt_cv_sys_max_cmd_len=-1;
+ ;;
+
+ cygwin* | mingw* | cegcc*)
+ # On Win9x/ME, this test blows up -- it succeeds, but takes
+ # about 5 minutes as the teststring grows exponentially.
+ # Worse, since 9x/ME are not pre-emptively multitasking,
+ # you end up with a "frozen" computer, even though with patience
+ # the test eventually succeeds (with a max line length of 256k).
+ # Instead, let's just punt: use the minimum linelength reported by
+ # all of the supported platforms: 8192 (on NT/2K/XP).
+ lt_cv_sys_max_cmd_len=8192;
+ ;;
+
+ mint*)
+ # On MiNT this can take a long time and run out of memory.
+ lt_cv_sys_max_cmd_len=8192;
+ ;;
+
+ amigaos*)
+ # On AmigaOS with pdksh, this test takes hours, literally.
+ # So we just punt and use a minimum line length of 8192.
+ lt_cv_sys_max_cmd_len=8192;
+ ;;
+
+ netbsd* | freebsd* | openbsd* | darwin* | dragonfly*)
+ # This has been around since 386BSD, at least. Likely further.
+ if test -x /sbin/sysctl; then
+ lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax`
+ elif test -x /usr/sbin/sysctl; then
+ lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax`
+ else
+ lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs
+ fi
+ # And add a safety zone
+ lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
+ lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
+ ;;
+
+ interix*)
+ # We know the value 262144 and hardcode it with a safety zone (like BSD)
+ lt_cv_sys_max_cmd_len=196608
+ ;;
+
+ os2*)
+ # The test takes a long time on OS/2.
+ lt_cv_sys_max_cmd_len=8192
+ ;;
+
+ osf*)
+ # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure
+ # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not
+ # nice to cause kernel panics so lets avoid the loop below.
+ # First set a reasonable default.
+ lt_cv_sys_max_cmd_len=16384
+ #
+ if test -x /sbin/sysconfig; then
+ case `/sbin/sysconfig -q proc exec_disable_arg_limit` in
+ *1*) lt_cv_sys_max_cmd_len=-1 ;;
+ esac
+ fi
+ ;;
+ sco3.2v5*)
+ lt_cv_sys_max_cmd_len=102400
+ ;;
+ sysv5* | sco5v6* | sysv4.2uw2*)
+ kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null`
+ if test -n "$kargmax"; then
+ lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[[ ]]//'`
+ else
+ lt_cv_sys_max_cmd_len=32768
+ fi
+ ;;
+ *)
+ lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null`
+ if test -n "$lt_cv_sys_max_cmd_len"; then
+ lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
+ lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
+ else
+ # Make teststring a little bigger before we do anything with it.
+ # a 1K string should be a reasonable start.
+ for i in 1 2 3 4 5 6 7 8 ; do
+ teststring=$teststring$teststring
+ done
+ SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
+ # If test is not a shell built-in, we'll probably end up computing a
+ # maximum length that is only half of the actual maximum length, but
+ # we can't tell.
+ while { test "X"`env echo "$teststring$teststring" 2>/dev/null` \
+ = "X$teststring$teststring"; } >/dev/null 2>&1 &&
+ test $i != 17 # 1/2 MB should be enough
+ do
+ i=`expr $i + 1`
+ teststring=$teststring$teststring
+ done
+ # Only check the string length outside the loop.
+ lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1`
+ teststring=
+ # Add a significant safety factor because C++ compilers can tack on
+ # massive amounts of additional arguments before passing them to the
+ # linker. It appears as though 1/2 is a usable value.
+ lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2`
+ fi
+ ;;
+ esac
+])
+if test -n $lt_cv_sys_max_cmd_len ; then
+ AC_MSG_RESULT($lt_cv_sys_max_cmd_len)
+else
+ AC_MSG_RESULT(none)
+fi
+max_cmd_len=$lt_cv_sys_max_cmd_len
+_LT_DECL([], [max_cmd_len], [0],
+ [What is the maximum length of a command?])
+])# LT_CMD_MAX_LEN
+
+# Old name:
+AU_ALIAS([AC_LIBTOOL_SYS_MAX_CMD_LEN], [LT_CMD_MAX_LEN])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN], [])
+
+
+# _LT_HEADER_DLFCN
+# ----------------
+m4_defun([_LT_HEADER_DLFCN],
+[AC_CHECK_HEADERS([dlfcn.h], [], [], [AC_INCLUDES_DEFAULT])dnl
+])# _LT_HEADER_DLFCN
+
+
+# _LT_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE,
+# ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING)
+# ----------------------------------------------------------------
+m4_defun([_LT_TRY_DLOPEN_SELF],
+[m4_require([_LT_HEADER_DLFCN])dnl
+if test "$cross_compiling" = yes; then :
+ [$4]
+else
+ lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
+ lt_status=$lt_dlunknown
+ cat > conftest.$ac_ext <<_LT_EOF
+[#line $LINENO "configure"
+#include "confdefs.h"
+
+#if HAVE_DLFCN_H
+#include <dlfcn.h>
+#endif
+
+#include <stdio.h>
+
+#ifdef RTLD_GLOBAL
+# define LT_DLGLOBAL RTLD_GLOBAL
+#else
+# ifdef DL_GLOBAL
+# define LT_DLGLOBAL DL_GLOBAL
+# else
+# define LT_DLGLOBAL 0
+# endif
+#endif
+
+/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
+ find out it does not work in some platform. */
+#ifndef LT_DLLAZY_OR_NOW
+# ifdef RTLD_LAZY
+# define LT_DLLAZY_OR_NOW RTLD_LAZY
+# else
+# ifdef DL_LAZY
+# define LT_DLLAZY_OR_NOW DL_LAZY
+# else
+# ifdef RTLD_NOW
+# define LT_DLLAZY_OR_NOW RTLD_NOW
+# else
+# ifdef DL_NOW
+# define LT_DLLAZY_OR_NOW DL_NOW
+# else
+# define LT_DLLAZY_OR_NOW 0
+# endif
+# endif
+# endif
+# endif
+#endif
+
+/* When -fvisbility=hidden is used, assume the code has been annotated
+ correspondingly for the symbols needed. */
+#if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
+int fnord () __attribute__((visibility("default")));
+#endif
+
+int fnord () { return 42; }
+int main ()
+{
+ void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
+ int status = $lt_dlunknown;
+
+ if (self)
+ {
+ if (dlsym (self,"fnord")) status = $lt_dlno_uscore;
+ else
+ {
+ if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
+ else puts (dlerror ());
+ }
+ /* dlclose (self); */
+ }
+ else
+ puts (dlerror ());
+
+ return status;
+}]
+_LT_EOF
+ if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext} 2>/dev/null; then
+ (./conftest; exit; ) >&AS_MESSAGE_LOG_FD 2>/dev/null
+ lt_status=$?
+ case x$lt_status in
+ x$lt_dlno_uscore) $1 ;;
+ x$lt_dlneed_uscore) $2 ;;
+ x$lt_dlunknown|x*) $3 ;;
+ esac
+ else :
+ # compilation failed
+ $3
+ fi
+fi
+rm -fr conftest*
+])# _LT_TRY_DLOPEN_SELF
+
+
+# LT_SYS_DLOPEN_SELF
+# ------------------
+AC_DEFUN([LT_SYS_DLOPEN_SELF],
+[m4_require([_LT_HEADER_DLFCN])dnl
+if test "x$enable_dlopen" != xyes; then
+ enable_dlopen=unknown
+ enable_dlopen_self=unknown
+ enable_dlopen_self_static=unknown
+else
+ lt_cv_dlopen=no
+ lt_cv_dlopen_libs=
+
+ case $host_os in
+ beos*)
+ lt_cv_dlopen="load_add_on"
+ lt_cv_dlopen_libs=
+ lt_cv_dlopen_self=yes
+ ;;
+
+ mingw* | pw32* | cegcc*)
+ lt_cv_dlopen="LoadLibrary"
+ lt_cv_dlopen_libs=
+ ;;
+
+ cygwin*)
+ lt_cv_dlopen="dlopen"
+ lt_cv_dlopen_libs=
+ ;;
+
+ darwin*)
+ # if libdl is installed we need to link against it
+ AC_CHECK_LIB([dl], [dlopen],
+ [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],[
+ lt_cv_dlopen="dyld"
+ lt_cv_dlopen_libs=
+ lt_cv_dlopen_self=yes
+ ])
+ ;;
+
+ *)
+ AC_CHECK_FUNC([shl_load],
+ [lt_cv_dlopen="shl_load"],
+ [AC_CHECK_LIB([dld], [shl_load],
+ [lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"],
+ [AC_CHECK_FUNC([dlopen],
+ [lt_cv_dlopen="dlopen"],
+ [AC_CHECK_LIB([dl], [dlopen],
+ [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],
+ [AC_CHECK_LIB([svld], [dlopen],
+ [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"],
+ [AC_CHECK_LIB([dld], [dld_link],
+ [lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"])
+ ])
+ ])
+ ])
+ ])
+ ])
+ ;;
+ esac
+
+ if test "x$lt_cv_dlopen" != xno; then
+ enable_dlopen=yes
+ else
+ enable_dlopen=no
+ fi
+
+ case $lt_cv_dlopen in
+ dlopen)
+ save_CPPFLAGS="$CPPFLAGS"
+ test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
+
+ save_LDFLAGS="$LDFLAGS"
+ wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
+
+ save_LIBS="$LIBS"
+ LIBS="$lt_cv_dlopen_libs $LIBS"
+
+ AC_CACHE_CHECK([whether a program can dlopen itself],
+ lt_cv_dlopen_self, [dnl
+ _LT_TRY_DLOPEN_SELF(
+ lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes,
+ lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross)
+ ])
+
+ if test "x$lt_cv_dlopen_self" = xyes; then
+ wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
+ AC_CACHE_CHECK([whether a statically linked program can dlopen itself],
+ lt_cv_dlopen_self_static, [dnl
+ _LT_TRY_DLOPEN_SELF(
+ lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes,
+ lt_cv_dlopen_self_static=no, lt_cv_dlopen_self_static=cross)
+ ])
+ fi
+
+ CPPFLAGS="$save_CPPFLAGS"
+ LDFLAGS="$save_LDFLAGS"
+ LIBS="$save_LIBS"
+ ;;
+ esac
+
+ case $lt_cv_dlopen_self in
+ yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;;
+ *) enable_dlopen_self=unknown ;;
+ esac
+
+ case $lt_cv_dlopen_self_static in
+ yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;;
+ *) enable_dlopen_self_static=unknown ;;
+ esac
+fi
+_LT_DECL([dlopen_support], [enable_dlopen], [0],
+ [Whether dlopen is supported])
+_LT_DECL([dlopen_self], [enable_dlopen_self], [0],
+ [Whether dlopen of programs is supported])
+_LT_DECL([dlopen_self_static], [enable_dlopen_self_static], [0],
+ [Whether dlopen of statically linked programs is supported])
+])# LT_SYS_DLOPEN_SELF
+
+# Old name:
+AU_ALIAS([AC_LIBTOOL_DLOPEN_SELF], [LT_SYS_DLOPEN_SELF])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF], [])
+
+
+# _LT_COMPILER_C_O([TAGNAME])
+# ---------------------------
+# Check to see if options -c and -o are simultaneously supported by compiler.
+# This macro does not hard code the compiler like AC_PROG_CC_C_O.
+m4_defun([_LT_COMPILER_C_O],
+[m4_require([_LT_DECL_SED])dnl
+m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+m4_require([_LT_TAG_COMPILER])dnl
+AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext],
+ [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)],
+ [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=no
+ $RM -r conftest 2>/dev/null
+ mkdir conftest
+ cd conftest
+ mkdir out
+ echo "$lt_simple_compile_test_code" > conftest.$ac_ext
+
+ lt_compiler_flag="-o out/conftest2.$ac_objext"
+ # Insert the option either (1) after the last *FLAGS variable, or
+ # (2) before a word containing "conftest.", or (3) at the end.
+ # Note that $ac_compile itself does not contain backslashes and begins
+ # with a dollar sign (not a hyphen), so the echo should work correctly.
+ lt_compile=`echo "$ac_compile" | $SED \
+ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+ -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \
+ -e 's:$: $lt_compiler_flag:'`
+ (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
+ (eval "$lt_compile" 2>out/conftest.err)
+ ac_status=$?
+ cat out/conftest.err >&AS_MESSAGE_LOG_FD
+ echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
+ if (exit $ac_status) && test -s out/conftest2.$ac_objext
+ then
+ # The compiler can only warn and ignore the option if not recognized
+ # So say no if there are warnings
+ $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp
+ $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
+ if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
+ _LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
+ fi
+ fi
+ chmod u+w . 2>&AS_MESSAGE_LOG_FD
+ $RM conftest*
+ # SGI C++ compiler will create directory out/ii_files/ for
+ # template instantiation
+ test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
+ $RM out/* && rmdir out
+ cd ..
+ $RM -r conftest
+ $RM conftest*
+])
+_LT_TAGDECL([compiler_c_o], [lt_cv_prog_compiler_c_o], [1],
+ [Does compiler simultaneously support -c and -o options?])
+])# _LT_COMPILER_C_O
+
+
+# _LT_COMPILER_FILE_LOCKS([TAGNAME])
+# ----------------------------------
+# Check to see if we can do hard links to lock some files if needed
+m4_defun([_LT_COMPILER_FILE_LOCKS],
+[m4_require([_LT_ENABLE_LOCK])dnl
+m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+_LT_COMPILER_C_O([$1])
+
+hard_links="nottested"
+if test "$_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)" = no && test "$need_locks" != no; then
+ # do not overwrite the value of need_locks provided by the user
+ AC_MSG_CHECKING([if we can lock with hard links])
+ hard_links=yes
+ $RM conftest*
+ ln conftest.a conftest.b 2>/dev/null && hard_links=no
+ touch conftest.a
+ ln conftest.a conftest.b 2>&5 || hard_links=no
+ ln conftest.a conftest.b 2>/dev/null && hard_links=no
+ AC_MSG_RESULT([$hard_links])
+ if test "$hard_links" = no; then
+ AC_MSG_WARN([`$CC' does not support `-c -o', so `make -j' may be unsafe])
+ need_locks=warn
+ fi
+else
+ need_locks=no
+fi
+_LT_DECL([], [need_locks], [1], [Must we lock files when doing compilation?])
+])# _LT_COMPILER_FILE_LOCKS
+
+
+# _LT_CHECK_OBJDIR
+# ----------------
+m4_defun([_LT_CHECK_OBJDIR],
+[AC_CACHE_CHECK([for objdir], [lt_cv_objdir],
+[rm -f .libs 2>/dev/null
+mkdir .libs 2>/dev/null
+if test -d .libs; then
+ lt_cv_objdir=.libs
+else
+ # MS-DOS does not allow filenames that begin with a dot.
+ lt_cv_objdir=_libs
+fi
+rmdir .libs 2>/dev/null])
+objdir=$lt_cv_objdir
+_LT_DECL([], [objdir], [0],
+ [The name of the directory that contains temporary libtool files])dnl
+m4_pattern_allow([LT_OBJDIR])dnl
+AC_DEFINE_UNQUOTED(LT_OBJDIR, "$lt_cv_objdir/",
+ [Define to the sub-directory in which libtool stores uninstalled libraries.])
+])# _LT_CHECK_OBJDIR
+
+
+# _LT_LINKER_HARDCODE_LIBPATH([TAGNAME])
+# --------------------------------------
+# Check hardcoding attributes.
+m4_defun([_LT_LINKER_HARDCODE_LIBPATH],
+[AC_MSG_CHECKING([how to hardcode library paths into programs])
+_LT_TAGVAR(hardcode_action, $1)=
+if test -n "$_LT_TAGVAR(hardcode_libdir_flag_spec, $1)" ||
+ test -n "$_LT_TAGVAR(runpath_var, $1)" ||
+ test "X$_LT_TAGVAR(hardcode_automatic, $1)" = "Xyes" ; then
+
+ # We can hardcode non-existent directories.
+ if test "$_LT_TAGVAR(hardcode_direct, $1)" != no &&
+ # If the only mechanism to avoid hardcoding is shlibpath_var, we
+ # have to relink, otherwise we might link with an installed library
+ # when we should be linking with a yet-to-be-installed one
+ ## test "$_LT_TAGVAR(hardcode_shlibpath_var, $1)" != no &&
+ test "$_LT_TAGVAR(hardcode_minus_L, $1)" != no; then
+ # Linking always hardcodes the temporary library directory.
+ _LT_TAGVAR(hardcode_action, $1)=relink
+ else
+ # We can link without hardcoding, and we can hardcode nonexisting dirs.
+ _LT_TAGVAR(hardcode_action, $1)=immediate
+ fi
+else
+ # We cannot hardcode anything, or else we can only hardcode existing
+ # directories.
+ _LT_TAGVAR(hardcode_action, $1)=unsupported
+fi
+AC_MSG_RESULT([$_LT_TAGVAR(hardcode_action, $1)])
+
+if test "$_LT_TAGVAR(hardcode_action, $1)" = relink ||
+ test "$_LT_TAGVAR(inherit_rpath, $1)" = yes; then
+ # Fast installation is not supported
+ enable_fast_install=no
+elif test "$shlibpath_overrides_runpath" = yes ||
+ test "$enable_shared" = no; then
+ # Fast installation is not necessary
+ enable_fast_install=needless
+fi
+_LT_TAGDECL([], [hardcode_action], [0],
+ [How to hardcode a shared library path into an executable])
+])# _LT_LINKER_HARDCODE_LIBPATH
+
+
+# _LT_CMD_STRIPLIB
+# ----------------
+m4_defun([_LT_CMD_STRIPLIB],
+[m4_require([_LT_DECL_EGREP])
+striplib=
+old_striplib=
+AC_MSG_CHECKING([whether stripping libraries is possible])
+if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then
+ test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
+ test -z "$striplib" && striplib="$STRIP --strip-unneeded"
+ AC_MSG_RESULT([yes])
+else
+# FIXME - insert some real tests, host_os isn't really good enough
+ case $host_os in
+ darwin*)
+ if test -n "$STRIP" ; then
+ striplib="$STRIP -x"
+ old_striplib="$STRIP -S"
+ AC_MSG_RESULT([yes])
+ else
+ AC_MSG_RESULT([no])
+ fi
+ ;;
+ *)
+ AC_MSG_RESULT([no])
+ ;;
+ esac
+fi
+_LT_DECL([], [old_striplib], [1], [Commands to strip libraries])
+_LT_DECL([], [striplib], [1])
+])# _LT_CMD_STRIPLIB
+
+
+# _LT_SYS_DYNAMIC_LINKER([TAG])
+# -----------------------------
+# PORTME Fill in your ld.so characteristics
+m4_defun([_LT_SYS_DYNAMIC_LINKER],
+[AC_REQUIRE([AC_CANONICAL_HOST])dnl
+m4_require([_LT_DECL_EGREP])dnl
+m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+m4_require([_LT_DECL_OBJDUMP])dnl
+m4_require([_LT_DECL_SED])dnl
+m4_require([_LT_CHECK_SHELL_FEATURES])dnl
+AC_MSG_CHECKING([dynamic linker characteristics])
+m4_if([$1],
+ [], [
+if test "$GCC" = yes; then
+ case $host_os in
+ darwin*) lt_awk_arg="/^libraries:/,/LR/" ;;
+ *) lt_awk_arg="/^libraries:/" ;;
+ esac
+ case $host_os in
+ mingw* | cegcc*) lt_sed_strip_eq="s,=\([[A-Za-z]]:\),\1,g" ;;
+ *) lt_sed_strip_eq="s,=/,/,g" ;;
+ esac
+ lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq`
+ case $lt_search_path_spec in
+ *\;*)
+ # if the path contains ";" then we assume it to be the separator
+ # otherwise default to the standard path separator (i.e. ":") - it is
+ # assumed that no part of a normal pathname contains ";" but that should
+ # okay in the real world where ";" in dirpaths is itself problematic.
+ lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED 's/;/ /g'`
+ ;;
+ *)
+ lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED "s/$PATH_SEPARATOR/ /g"`
+ ;;
+ esac
+ # Ok, now we have the path, separated by spaces, we can step through it
+ # and add multilib dir if necessary.
+ lt_tmp_lt_search_path_spec=
+ lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null`
+ for lt_sys_path in $lt_search_path_spec; do
+ if test -d "$lt_sys_path/$lt_multi_os_dir"; then
+ lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir"
+ else
+ test -d "$lt_sys_path" && \
+ lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path"
+ fi
+ done
+ lt_search_path_spec=`$ECHO "$lt_tmp_lt_search_path_spec" | awk '
+BEGIN {RS=" "; FS="/|\n";} {
+ lt_foo="";
+ lt_count=0;
+ for (lt_i = NF; lt_i > 0; lt_i--) {
+ if ($lt_i != "" && $lt_i != ".") {
+ if ($lt_i == "..") {
+ lt_count++;
+ } else {
+ if (lt_count == 0) {
+ lt_foo="/" $lt_i lt_foo;
+ } else {
+ lt_count--;
+ }
+ }
+ }
+ }
+ if (lt_foo != "") { lt_freq[[lt_foo]]++; }
+ if (lt_freq[[lt_foo]] == 1) { print lt_foo; }
+}'`
+ # AWK program above erroneously prepends '/' to C:/dos/paths
+ # for these hosts.
+ case $host_os in
+ mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\
+ $SED 's,/\([[A-Za-z]]:\),\1,g'` ;;
+ esac
+ sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP`
+else
+ sys_lib_search_path_spec="/lib$libsuff /usr/lib$libsuff /usr/local/lib$libsuff"
+fi])
+library_names_spec=
+libname_spec='lib$name'
+soname_spec=
+shrext_cmds=".so"
+postinstall_cmds=
+postuninstall_cmds=
+finish_cmds=
+finish_eval=
+shlibpath_var=
+shlibpath_overrides_runpath=unknown
+version_type=none
+dynamic_linker="$host_os ld.so"
+sys_lib_dlsearch_path_spec="/lib$libsuff /usr/lib$libsuff"
+need_lib_prefix=unknown
+hardcode_into_libs=no
+
+# when you set need_version to no, make sure it does not cause -set_version
+# flags to be left without arguments
+need_version=unknown
+
+case $host_os in
+aix3*)
+ version_type=linux # correct to gnu/linux during the next big refactor
+ library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
+ shlibpath_var=LIBPATH
+
+ # AIX 3 has no versioning support, so we append a major version to the name.
+ soname_spec='${libname}${release}${shared_ext}$major'
+ ;;
+
+aix[[4-9]]*)
+ version_type=linux # correct to gnu/linux during the next big refactor
+ need_lib_prefix=no
+ need_version=no
+ hardcode_into_libs=yes
+ if test "$host_cpu" = ia64; then
+ # AIX 5 supports IA64
+ library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}'
+ shlibpath_var=LD_LIBRARY_PATH
+ else
+ # With GCC up to 2.95.x, collect2 would create an import file
+ # for dependence libraries. The import file would start with
+ # the line `#! .'. This would cause the generated library to
+ # depend on `.', always an invalid library. This was fixed in
+ # development snapshots of GCC prior to 3.0.
+ case $host_os in
+ aix4 | aix4.[[01]] | aix4.[[01]].*)
+ if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
+ echo ' yes '
+ echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then
+ :
+ else
+ can_build_shared=no
+ fi
+ ;;
+ esac
+ # AIX (on Power*) has no versioning support, so currently we can not hardcode correct
+ # soname into executable. Probably we can add versioning support to
+ # collect2, so additional links can be useful in future.
+ if test "$aix_use_runtimelinking" = yes; then
+ # If using run time linking (on AIX 4.2 or later) use lib<name>.so
+ # instead of lib<name>.a to let people know that these are not
+ # typical AIX shared libraries.
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ else
+ # We preserve .a as extension for shared libraries through AIX4.2
+ # and later when we are not doing run time linking.
+ library_names_spec='${libname}${release}.a $libname.a'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ fi
+ shlibpath_var=LIBPATH
+ fi
+ ;;
+
+amigaos*)
+ case $host_cpu in
+ powerpc)
+ # Since July 2007 AmigaOS4 officially supports .so libraries.
+ # When compiling the executable, add -use-dynld -Lsobjs: to the compileline.
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ ;;
+ m68k)
+ library_names_spec='$libname.ixlibrary $libname.a'
+ # Create ${libname}_ixlibrary.a entries in /sys/libs.
+ finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([[^/]]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
+ ;;
+ esac
+ ;;
+
+beos*)
+ library_names_spec='${libname}${shared_ext}'
+ dynamic_linker="$host_os ld.so"
+ shlibpath_var=LIBRARY_PATH
+ ;;
+
+bsdi[[45]]*)
+ version_type=linux # correct to gnu/linux during the next big refactor
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
+ shlibpath_var=LD_LIBRARY_PATH
+ sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
+ sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
+ # the default ld.so.conf also contains /usr/contrib/lib and
+ # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
+ # libtool to hard-code these into programs
+ ;;
+
+cygwin* | mingw* | pw32* | cegcc*)
+ version_type=windows
+ shrext_cmds=".dll"
+ need_version=no
+ need_lib_prefix=no
+
+ case $GCC,$cc_basename in
+ yes,*)
+ # gcc
+ library_names_spec='$libname.dll.a'
+ # DLL is installed to $(libdir)/../bin by postinstall_cmds
+ postinstall_cmds='base_file=`basename \${file}`~
+ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
+ dldir=$destdir/`dirname \$dlpath`~
+ test -d \$dldir || mkdir -p \$dldir~
+ $install_prog $dir/$dlname \$dldir/$dlname~
+ chmod a+x \$dldir/$dlname~
+ if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
+ eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
+ fi'
+ postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
+ dlpath=$dir/\$dldll~
+ $RM \$dlpath'
+ shlibpath_overrides_runpath=yes
+
+ case $host_os in
+ cygwin*)
+ # Cygwin DLLs use 'cyg' prefix rather than 'lib'
+ soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
+m4_if([$1], [],[
+ sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api"])
+ ;;
+ mingw* | cegcc*)
+ # MinGW DLLs use traditional 'lib' prefix
+ soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
+ ;;
+ pw32*)
+ # pw32 DLLs use 'pw' prefix rather than 'lib'
+ library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
+ ;;
+ esac
+ dynamic_linker='Win32 ld.exe'
+ ;;
+
+ *,cl*)
+ # Native MSVC
+ libname_spec='$name'
+ soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
+ library_names_spec='${libname}.dll.lib'
+
+ case $build_os in
+ mingw*)
+ sys_lib_search_path_spec=
+ lt_save_ifs=$IFS
+ IFS=';'
+ for lt_path in $LIB
+ do
+ IFS=$lt_save_ifs
+ # Let DOS variable expansion print the short 8.3 style file name.
+ lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"`
+ sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path"
+ done
+ IFS=$lt_save_ifs
+ # Convert to MSYS style.
+ sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([[a-zA-Z]]\\):| /\\1|g' -e 's|^ ||'`
+ ;;
+ cygwin*)
+ # Convert to unix form, then to dos form, then back to unix form
+ # but this time dos style (no spaces!) so that the unix form looks
+ # like /cygdrive/c/PROGRA~1:/cygdr...
+ sys_lib_search_path_spec=`cygpath --path --unix "$LIB"`
+ sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null`
+ sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
+ ;;
+ *)
+ sys_lib_search_path_spec="$LIB"
+ if $ECHO "$sys_lib_search_path_spec" | [$GREP ';[c-zC-Z]:/' >/dev/null]; then
+ # It is most probably a Windows format PATH.
+ sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
+ else
+ sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
+ fi
+ # FIXME: find the short name or the path components, as spaces are
+ # common. (e.g. "Program Files" -> "PROGRA~1")
+ ;;
+ esac
+
+ # DLL is installed to $(libdir)/../bin by postinstall_cmds
+ postinstall_cmds='base_file=`basename \${file}`~
+ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
+ dldir=$destdir/`dirname \$dlpath`~
+ test -d \$dldir || mkdir -p \$dldir~
+ $install_prog $dir/$dlname \$dldir/$dlname'
+ postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
+ dlpath=$dir/\$dldll~
+ $RM \$dlpath'
+ shlibpath_overrides_runpath=yes
+ dynamic_linker='Win32 link.exe'
+ ;;
+
+ *)
+ # Assume MSVC wrapper
+ library_names_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext} $libname.lib'
+ dynamic_linker='Win32 ld.exe'
+ ;;
+ esac
+ # FIXME: first we should search . and the directory the executable is in
+ shlibpath_var=PATH
+ ;;
+
+darwin* | rhapsody*)
+ dynamic_linker="$host_os dyld"
+ version_type=darwin
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext'
+ soname_spec='${libname}${release}${major}$shared_ext'
+ shlibpath_overrides_runpath=yes
+ shlibpath_var=DYLD_LIBRARY_PATH
+ shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
+m4_if([$1], [],[
+ sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"])
+ sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
+ ;;
+
+dgux*)
+ version_type=linux # correct to gnu/linux during the next big refactor
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ ;;
+
+freebsd* | dragonfly*)
+ # DragonFly does not have aout. When/if they implement a new
+ # versioning mechanism, adjust this.
+ if test -x /usr/bin/objformat; then
+ objformat=`/usr/bin/objformat`
+ else
+ case $host_os in
+ freebsd[[23]].*) objformat=aout ;;
+ *) objformat=elf ;;
+ esac
+ fi
+ version_type=freebsd-$objformat
+ case $version_type in
+ freebsd-elf*)
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
+ need_version=no
+ need_lib_prefix=no
+ ;;
+ freebsd-*)
+ library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix'
+ need_version=yes
+ ;;
+ esac
+ shlibpath_var=LD_LIBRARY_PATH
+ case $host_os in
+ freebsd2.*)
+ shlibpath_overrides_runpath=yes
+ ;;
+ freebsd3.[[01]]* | freebsdelf3.[[01]]*)
+ shlibpath_overrides_runpath=yes
+ hardcode_into_libs=yes
+ ;;
+ freebsd3.[[2-9]]* | freebsdelf3.[[2-9]]* | \
+ freebsd4.[[0-5]] | freebsdelf4.[[0-5]] | freebsd4.1.1 | freebsdelf4.1.1)
+ shlibpath_overrides_runpath=no
+ hardcode_into_libs=yes
+ ;;
+ *) # from 4.6 on, and DragonFly
+ shlibpath_overrides_runpath=yes
+ hardcode_into_libs=yes
+ ;;
+ esac
+ ;;
+
+gnu*)
+ version_type=linux # correct to gnu/linux during the next big refactor
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=no
+ hardcode_into_libs=yes
+ ;;
+
+haiku*)
+ version_type=linux # correct to gnu/linux during the next big refactor
+ need_lib_prefix=no
+ need_version=no
+ dynamic_linker="$host_os runtime_loader"
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+ sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib'
+ hardcode_into_libs=yes
+ ;;
+
+hpux9* | hpux10* | hpux11*)
+ # Give a soname corresponding to the major version so that dld.sl refuses to
+ # link against other versions.
+ version_type=sunos
+ need_lib_prefix=no
+ need_version=no
+ case $host_cpu in
+ ia64*)
+ shrext_cmds='.so'
+ hardcode_into_libs=yes
+ dynamic_linker="$host_os dld.so"
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ if test "X$HPUX_IA64_MODE" = X32; then
+ sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
+ else
+ sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
+ fi
+ sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
+ ;;
+ hppa*64*)
+ shrext_cmds='.sl'
+ hardcode_into_libs=yes
+ dynamic_linker="$host_os dld.sl"
+ shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
+ shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
+ sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
+ ;;
+ *)
+ shrext_cmds='.sl'
+ dynamic_linker="$host_os dld.sl"
+ shlibpath_var=SHLIB_PATH
+ shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ ;;
+ esac
+ # HP-UX runs *really* slowly unless shared libraries are mode 555, ...
+ postinstall_cmds='chmod 555 $lib'
+ # or fails outright, so override atomically:
+ install_override_mode=555
+ ;;
+
+interix[[3-9]]*)
+ version_type=linux # correct to gnu/linux during the next big refactor
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=no
+ hardcode_into_libs=yes
+ ;;
+
+irix5* | irix6* | nonstopux*)
+ case $host_os in
+ nonstopux*) version_type=nonstopux ;;
+ *)
+ if test "$lt_cv_prog_gnu_ld" = yes; then
+ version_type=linux # correct to gnu/linux during the next big refactor
+ else
+ version_type=irix
+ fi ;;
+ esac
+ need_lib_prefix=no
+ need_version=no
+ soname_spec='${libname}${release}${shared_ext}$major'
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}'
+ case $host_os in
+ irix5* | nonstopux*)
+ libsuff= shlibsuff=
+ ;;
+ *)
+ case $LD in # libtool.m4 will add one of these switches to LD
+ *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
+ libsuff= shlibsuff= libmagic=32-bit;;
+ *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
+ libsuff=32 shlibsuff=N32 libmagic=N32;;
+ *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
+ libsuff=64 shlibsuff=64 libmagic=64-bit;;
+ *) libsuff= shlibsuff= libmagic=never-match;;
+ esac
+ ;;
+ esac
+ shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
+ shlibpath_overrides_runpath=no
+ sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
+ sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
+ hardcode_into_libs=yes
+ ;;
+
+# No shared lib support for Linux oldld, aout, or coff.
+linux*oldld* | linux*aout* | linux*coff*)
+ dynamic_linker=no
+ ;;
+
+# This must be glibc/ELF.
+linux* | k*bsd*-gnu | kopensolaris*-gnu)
+ version_type=linux # correct to gnu/linux during the next big refactor
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=no
+
+ # Some binutils ld are patched to set DT_RUNPATH
+ AC_CACHE_VAL([lt_cv_shlibpath_overrides_runpath],
+ [lt_cv_shlibpath_overrides_runpath=no
+ save_LDFLAGS=$LDFLAGS
+ save_libdir=$libdir
+ eval "libdir=/foo; wl=\"$_LT_TAGVAR(lt_prog_compiler_wl, $1)\"; \
+ LDFLAGS=\"\$LDFLAGS $_LT_TAGVAR(hardcode_libdir_flag_spec, $1)\""
+ AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])],
+ [AS_IF([ ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null],
+ [lt_cv_shlibpath_overrides_runpath=yes])])
+ LDFLAGS=$save_LDFLAGS
+ libdir=$save_libdir
+ ])
+ shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath
+
+ # This implies no fast_install, which is unacceptable.
+ # Some rework will be needed to allow for fast_install
+ # before this can be enabled.
+ hardcode_into_libs=yes
+
+ # Append ld.so.conf contents to the search path
+ if test -f /etc/ld.so.conf; then
+ lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '`
+ sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec $lt_ld_extra"
+ fi
+
+ # We used to test for /lib/ld.so.1 and disable shared libraries on
+ # powerpc, because MkLinux only supported shared libraries with the
+ # GNU dynamic linker. Since this was broken with cross compilers,
+ # most powerpc-linux boxes support dynamic linking these days and
+ # people can always --disable-shared, the test was removed, and we
+ # assume the GNU/Linux dynamic linker is in use.
+ dynamic_linker='GNU/Linux ld.so'
+ ;;
+
+netbsd*)
+ version_type=sunos
+ need_lib_prefix=no
+ need_version=no
+ if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+ finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
+ dynamic_linker='NetBSD (a.out) ld.so'
+ else
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ dynamic_linker='NetBSD ld.elf_so'
+ fi
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+ hardcode_into_libs=yes
+ ;;
+
+newsos6)
+ version_type=linux # correct to gnu/linux during the next big refactor
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+ ;;
+
+*nto* | *qnx*)
+ version_type=qnx
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=no
+ hardcode_into_libs=yes
+ dynamic_linker='ldqnx.so'
+ ;;
+
+openbsd*)
+ version_type=sunos
+ sys_lib_dlsearch_path_spec="/usr/lib"
+ need_lib_prefix=no
+ # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs.
+ case $host_os in
+ openbsd3.3 | openbsd3.3.*) need_version=yes ;;
+ *) need_version=no ;;
+ esac
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+ finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
+ shlibpath_var=LD_LIBRARY_PATH
+ if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+ case $host_os in
+ openbsd2.[[89]] | openbsd2.[[89]].*)
+ shlibpath_overrides_runpath=no
+ ;;
+ *)
+ shlibpath_overrides_runpath=yes
+ ;;
+ esac
+ else
+ shlibpath_overrides_runpath=yes
+ fi
+ ;;
+
+os2*)
+ libname_spec='$name'
+ shrext_cmds=".dll"
+ need_lib_prefix=no
+ library_names_spec='$libname${shared_ext} $libname.a'
+ dynamic_linker='OS/2 ld.exe'
+ shlibpath_var=LIBPATH
+ ;;
+
+osf3* | osf4* | osf5*)
+ version_type=osf
+ need_lib_prefix=no
+ need_version=no
+ soname_spec='${libname}${release}${shared_ext}$major'
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ shlibpath_var=LD_LIBRARY_PATH
+ sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
+ sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
+ ;;
+
+rdos*)
+ dynamic_linker=no
+ ;;
+
+solaris*)
+ version_type=linux # correct to gnu/linux during the next big refactor
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+ hardcode_into_libs=yes
+ # ldd complains unless libraries are executable
+ postinstall_cmds='chmod +x $lib'
+ ;;
+
+sunos4*)
+ version_type=sunos
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+ finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+ if test "$with_gnu_ld" = yes; then
+ need_lib_prefix=no
+ fi
+ need_version=yes
+ ;;
+
+sysv4 | sysv4.3*)
+ version_type=linux # correct to gnu/linux during the next big refactor
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ case $host_vendor in
+ sni)
+ shlibpath_overrides_runpath=no
+ need_lib_prefix=no
+ runpath_var=LD_RUN_PATH
+ ;;
+ siemens)
+ need_lib_prefix=no
+ ;;
+ motorola)
+ need_lib_prefix=no
+ need_version=no
+ shlibpath_overrides_runpath=no
+ sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
+ ;;
+ esac
+ ;;
+
+sysv4*MP*)
+ if test -d /usr/nec ;then
+ version_type=linux # correct to gnu/linux during the next big refactor
+ library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
+ soname_spec='$libname${shared_ext}.$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ fi
+ ;;
+
+sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
+ version_type=freebsd-elf
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+ hardcode_into_libs=yes
+ if test "$with_gnu_ld" = yes; then
+ sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
+ else
+ sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
+ case $host_os in
+ sco3.2v5*)
+ sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
+ ;;
+ esac
+ fi
+ sys_lib_dlsearch_path_spec='/usr/lib'
+ ;;
+
+tpf*)
+ # TPF is a cross-target only. Preferred cross-host = GNU/Linux.
+ version_type=linux # correct to gnu/linux during the next big refactor
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=no
+ hardcode_into_libs=yes
+ ;;
+
+uts4*)
+ version_type=linux # correct to gnu/linux during the next big refactor
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ ;;
+
+*)
+ dynamic_linker=no
+ ;;
+esac
+AC_MSG_RESULT([$dynamic_linker])
+test "$dynamic_linker" = no && can_build_shared=no
+
+variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
+if test "$GCC" = yes; then
+ variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
+fi
+
+if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then
+ sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec"
+fi
+if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then
+ sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec"
+fi
+
+_LT_DECL([], [variables_saved_for_relink], [1],
+ [Variables whose values should be saved in libtool wrapper scripts and
+ restored at link time])
+_LT_DECL([], [need_lib_prefix], [0],
+ [Do we need the "lib" prefix for modules?])
+_LT_DECL([], [need_version], [0], [Do we need a version for libraries?])
+_LT_DECL([], [version_type], [0], [Library versioning type])
+_LT_DECL([], [runpath_var], [0], [Shared library runtime path variable])
+_LT_DECL([], [shlibpath_var], [0],[Shared library path variable])
+_LT_DECL([], [shlibpath_overrides_runpath], [0],
+ [Is shlibpath searched before the hard-coded library search path?])
+_LT_DECL([], [libname_spec], [1], [Format of library name prefix])
+_LT_DECL([], [library_names_spec], [1],
+ [[List of archive names. First name is the real one, the rest are links.
+ The last name is the one that the linker finds with -lNAME]])
+_LT_DECL([], [soname_spec], [1],
+ [[The coded name of the library, if different from the real name]])
+_LT_DECL([], [install_override_mode], [1],
+ [Permission mode override for installation of shared libraries])
+_LT_DECL([], [postinstall_cmds], [2],
+ [Command to use after installation of a shared archive])
+_LT_DECL([], [postuninstall_cmds], [2],
+ [Command to use after uninstallation of a shared archive])
+_LT_DECL([], [finish_cmds], [2],
+ [Commands used to finish a libtool library installation in a directory])
+_LT_DECL([], [finish_eval], [1],
+ [[As "finish_cmds", except a single script fragment to be evaled but
+ not shown]])
+_LT_DECL([], [hardcode_into_libs], [0],
+ [Whether we should hardcode library paths into libraries])
+_LT_DECL([], [sys_lib_search_path_spec], [2],
+ [Compile-time system search path for libraries])
+_LT_DECL([], [sys_lib_dlsearch_path_spec], [2],
+ [Run-time system search path for libraries])
+])# _LT_SYS_DYNAMIC_LINKER
+
+
+# _LT_PATH_TOOL_PREFIX(TOOL)
+# --------------------------
+# find a file program which can recognize shared library
+AC_DEFUN([_LT_PATH_TOOL_PREFIX],
+[m4_require([_LT_DECL_EGREP])dnl
+AC_MSG_CHECKING([for $1])
+AC_CACHE_VAL(lt_cv_path_MAGIC_CMD,
+[case $MAGIC_CMD in
+[[\\/*] | ?:[\\/]*])
+ lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
+ ;;
+*)
+ lt_save_MAGIC_CMD="$MAGIC_CMD"
+ lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+dnl $ac_dummy forces splitting on constant user-supplied paths.
+dnl POSIX.2 word splitting is done only on the output of word expansions,
+dnl not every word. This closes a longstanding sh security hole.
+ ac_dummy="m4_if([$2], , $PATH, [$2])"
+ for ac_dir in $ac_dummy; do
+ IFS="$lt_save_ifs"
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$1; then
+ lt_cv_path_MAGIC_CMD="$ac_dir/$1"
+ if test -n "$file_magic_test_file"; then
+ case $deplibs_check_method in
+ "file_magic "*)
+ file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
+ MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
+ if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
+ $EGREP "$file_magic_regex" > /dev/null; then
+ :
+ else
+ cat <<_LT_EOF 1>&2
+
+*** Warning: the command libtool uses to detect shared libraries,
+*** $file_magic_cmd, produces output that libtool cannot recognize.
+*** The result is that libtool may fail to recognize shared libraries
+*** as such. This will affect the creation of libtool libraries that
+*** depend on shared libraries, but programs linked with such libtool
+*** libraries will work regardless of this problem. Nevertheless, you
+*** may want to report the problem to your system manager and/or to
+*** bug-libtool@gnu.org
+
+_LT_EOF
+ fi ;;
+ esac
+ fi
+ break
+ fi
+ done
+ IFS="$lt_save_ifs"
+ MAGIC_CMD="$lt_save_MAGIC_CMD"
+ ;;
+esac])
+MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
+if test -n "$MAGIC_CMD"; then
+ AC_MSG_RESULT($MAGIC_CMD)
+else
+ AC_MSG_RESULT(no)
+fi
+_LT_DECL([], [MAGIC_CMD], [0],
+ [Used to examine libraries when file_magic_cmd begins with "file"])dnl
+])# _LT_PATH_TOOL_PREFIX
+
+# Old name:
+AU_ALIAS([AC_PATH_TOOL_PREFIX], [_LT_PATH_TOOL_PREFIX])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_PATH_TOOL_PREFIX], [])
+
+
+# _LT_PATH_MAGIC
+# --------------
+# find a file program which can recognize a shared library
+m4_defun([_LT_PATH_MAGIC],
+[_LT_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin$PATH_SEPARATOR$PATH)
+if test -z "$lt_cv_path_MAGIC_CMD"; then
+ if test -n "$ac_tool_prefix"; then
+ _LT_PATH_TOOL_PREFIX(file, /usr/bin$PATH_SEPARATOR$PATH)
+ else
+ MAGIC_CMD=:
+ fi
+fi
+])# _LT_PATH_MAGIC
+
+
+# LT_PATH_LD
+# ----------
+# find the pathname to the GNU or non-GNU linker
+AC_DEFUN([LT_PATH_LD],
+[AC_REQUIRE([AC_PROG_CC])dnl
+AC_REQUIRE([AC_CANONICAL_HOST])dnl
+AC_REQUIRE([AC_CANONICAL_BUILD])dnl
+m4_require([_LT_DECL_SED])dnl
+m4_require([_LT_DECL_EGREP])dnl
+m4_require([_LT_PROG_ECHO_BACKSLASH])dnl
+
+AC_ARG_WITH([gnu-ld],
+ [AS_HELP_STRING([--with-gnu-ld],
+ [assume the C compiler uses GNU ld @<:@default=no@:>@])],
+ [test "$withval" = no || with_gnu_ld=yes],
+ [with_gnu_ld=no])dnl
+
+ac_prog=ld
+if test "$GCC" = yes; then
+ # Check if gcc -print-prog-name=ld gives a path.
+ AC_MSG_CHECKING([for ld used by $CC])
+ case $host in
+ *-*-mingw*)
+ # gcc leaves a trailing carriage return which upsets mingw
+ ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
+ *)
+ ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
+ esac
+ case $ac_prog in
+ # Accept absolute paths.
+ [[\\/]]* | ?:[[\\/]]*)
+ re_direlt='/[[^/]][[^/]]*/\.\./'
+ # Canonicalize the pathname of ld
+ ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'`
+ while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do
+ ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"`
+ done
+ test -z "$LD" && LD="$ac_prog"
+ ;;
+ "")
+ # If it fails, then pretend we aren't using GCC.
+ ac_prog=ld
+ ;;
+ *)
+ # If it is relative, then search for the first ld in PATH.
+ with_gnu_ld=unknown
+ ;;
+ esac
+elif test "$with_gnu_ld" = yes; then
+ AC_MSG_CHECKING([for GNU ld])
+else
+ AC_MSG_CHECKING([for non-GNU ld])
+fi
+AC_CACHE_VAL(lt_cv_path_LD,
+[if test -z "$LD"; then
+ lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+ for ac_dir in $PATH; do
+ IFS="$lt_save_ifs"
+ test -z "$ac_dir" && ac_dir=.
+ if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
+ lt_cv_path_LD="$ac_dir/$ac_prog"
+ # Check to see if the program is GNU ld. I'd rather use --version,
+ # but apparently some variants of GNU ld only accept -v.
+ # Break only if it was the GNU/non-GNU ld that we prefer.
+ case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
+ *GNU* | *'with BFD'*)
+ test "$with_gnu_ld" != no && break
+ ;;
+ *)
+ test "$with_gnu_ld" != yes && break
+ ;;
+ esac
+ fi
+ done
+ IFS="$lt_save_ifs"
+else
+ lt_cv_path_LD="$LD" # Let the user override the test with a path.
+fi])
+LD="$lt_cv_path_LD"
+if test -n "$LD"; then
+ AC_MSG_RESULT($LD)
+else
+ AC_MSG_RESULT(no)
+fi
+test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH])
+_LT_PATH_LD_GNU
+AC_SUBST([LD])
+
+_LT_TAGDECL([], [LD], [1], [The linker used to build libraries])
+])# LT_PATH_LD
+
+# Old names:
+AU_ALIAS([AM_PROG_LD], [LT_PATH_LD])
+AU_ALIAS([AC_PROG_LD], [LT_PATH_LD])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AM_PROG_LD], [])
+dnl AC_DEFUN([AC_PROG_LD], [])
+
+
+# _LT_PATH_LD_GNU
+#- --------------
+m4_defun([_LT_PATH_LD_GNU],
+[AC_CACHE_CHECK([if the linker ($LD) is GNU ld], lt_cv_prog_gnu_ld,
+[# I'd rather use --version here, but apparently some GNU lds only accept -v.
+case `$LD -v 2>&1 </dev/null` in
+*GNU* | *'with BFD'*)
+ lt_cv_prog_gnu_ld=yes
+ ;;
+*)
+ lt_cv_prog_gnu_ld=no
+ ;;
+esac])
+with_gnu_ld=$lt_cv_prog_gnu_ld
+])# _LT_PATH_LD_GNU
+
+
+# _LT_CMD_RELOAD
+# --------------
+# find reload flag for linker
+# -- PORTME Some linkers may need a different reload flag.
+m4_defun([_LT_CMD_RELOAD],
+[AC_CACHE_CHECK([for $LD option to reload object files],
+ lt_cv_ld_reload_flag,
+ [lt_cv_ld_reload_flag='-r'])
+reload_flag=$lt_cv_ld_reload_flag
+case $reload_flag in
+"" | " "*) ;;
+*) reload_flag=" $reload_flag" ;;
+esac
+reload_cmds='$LD$reload_flag -o $output$reload_objs'
+case $host_os in
+ cygwin* | mingw* | pw32* | cegcc*)
+ if test "$GCC" != yes; then
+ reload_cmds=false
+ fi
+ ;;
+ darwin*)
+ if test "$GCC" = yes; then
+ reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs'
+ else
+ reload_cmds='$LD$reload_flag -o $output$reload_objs'
+ fi
+ ;;
+esac
+_LT_TAGDECL([], [reload_flag], [1], [How to create reloadable object files])dnl
+_LT_TAGDECL([], [reload_cmds], [2])dnl
+])# _LT_CMD_RELOAD
+
+
+# _LT_CHECK_MAGIC_METHOD
+# ----------------------
+# how to check for library dependencies
+# -- PORTME fill in with the dynamic library characteristics
+m4_defun([_LT_CHECK_MAGIC_METHOD],
+[m4_require([_LT_DECL_EGREP])
+m4_require([_LT_DECL_OBJDUMP])
+AC_CACHE_CHECK([how to recognize dependent libraries],
+lt_cv_deplibs_check_method,
+[lt_cv_file_magic_cmd='$MAGIC_CMD'
+lt_cv_file_magic_test_file=
+lt_cv_deplibs_check_method='unknown'
+# Need to set the preceding variable on all platforms that support
+# interlibrary dependencies.
+# 'none' -- dependencies not supported.
+# `unknown' -- same as none, but documents that we really don't know.
+# 'pass_all' -- all dependencies passed with no checks.
+# 'test_compile' -- check by making test program.
+# 'file_magic [[regex]]' -- check by looking for files in library path
+# which responds to the $file_magic_cmd with a given extended regex.
+# If you have `file' or equivalent on your system and you're not sure
+# whether `pass_all' will *always* work, you probably want this one.
+
+case $host_os in
+aix[[4-9]]*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+beos*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+bsdi[[45]]*)
+ lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib)'
+ lt_cv_file_magic_cmd='/usr/bin/file -L'
+ lt_cv_file_magic_test_file=/shlib/libc.so
+ ;;
+
+cygwin*)
+ # func_win32_libid is a shell function defined in ltmain.sh
+ lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
+ lt_cv_file_magic_cmd='func_win32_libid'
+ ;;
+
+mingw* | pw32*)
+ # Base MSYS/MinGW do not provide the 'file' command needed by
+ # func_win32_libid shell function, so use a weaker test based on 'objdump',
+ # unless we find 'file', for example because we are cross-compiling.
+ # func_win32_libid assumes BSD nm, so disallow it if using MS dumpbin.
+ if ( test "$lt_cv_nm_interface" = "BSD nm" && file / ) >/dev/null 2>&1; then
+ lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
+ lt_cv_file_magic_cmd='func_win32_libid'
+ else
+ # Keep this pattern in sync with the one in func_win32_libid.
+ lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)'
+ lt_cv_file_magic_cmd='$OBJDUMP -f'
+ fi
+ ;;
+
+cegcc*)
+ # use the weaker test based on 'objdump'. See mingw*.
+ lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?'
+ lt_cv_file_magic_cmd='$OBJDUMP -f'
+ ;;
+
+darwin* | rhapsody*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+freebsd* | dragonfly*)
+ if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
+ case $host_cpu in
+ i*86 )
+ # Not sure whether the presence of OpenBSD here was a mistake.
+ # Let's accept both of them until this is cleared up.
+ lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[[3-9]]86 (compact )?demand paged shared library'
+ lt_cv_file_magic_cmd=/usr/bin/file
+ lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
+ ;;
+ esac
+ else
+ lt_cv_deplibs_check_method=pass_all
+ fi
+ ;;
+
+gnu*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+haiku*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+hpux10.20* | hpux11*)
+ lt_cv_file_magic_cmd=/usr/bin/file
+ case $host_cpu in
+ ia64*)
+ lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|ELF-[[0-9]][[0-9]]) shared object file - IA64'
+ lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so
+ ;;
+ hppa*64*)
+ [lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF[ -][0-9][0-9])(-bit)?( [LM]SB)? shared object( file)?[, -]* PA-RISC [0-9]\.[0-9]']
+ lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl
+ ;;
+ *)
+ lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|PA-RISC[[0-9]]\.[[0-9]]) shared library'
+ lt_cv_file_magic_test_file=/usr/lib/libc.sl
+ ;;
+ esac
+ ;;
+
+interix[[3-9]]*)
+ # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here
+ lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|\.a)$'
+ ;;
+
+irix5* | irix6* | nonstopux*)
+ case $LD in
+ *-32|*"-32 ") libmagic=32-bit;;
+ *-n32|*"-n32 ") libmagic=N32;;
+ *-64|*"-64 ") libmagic=64-bit;;
+ *) libmagic=never-match;;
+ esac
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+# This must be glibc/ELF.
+linux* | k*bsd*-gnu | kopensolaris*-gnu)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+netbsd*)
+ if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
+ lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
+ else
+ lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|_pic\.a)$'
+ fi
+ ;;
+
+newos6*)
+ lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)'
+ lt_cv_file_magic_cmd=/usr/bin/file
+ lt_cv_file_magic_test_file=/usr/lib/libnls.so
+ ;;
+
+*nto* | *qnx*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+openbsd*)
+ if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+ lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|\.so|_pic\.a)$'
+ else
+ lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
+ fi
+ ;;
+
+osf3* | osf4* | osf5*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+rdos*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+solaris*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+sysv4 | sysv4.3*)
+ case $host_vendor in
+ motorola)
+ lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib) M[[0-9]][[0-9]]* Version [[0-9]]'
+ lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*`
+ ;;
+ ncr)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+ sequent)
+ lt_cv_file_magic_cmd='/bin/file'
+ lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )'
+ ;;
+ sni)
+ lt_cv_file_magic_cmd='/bin/file'
+ lt_cv_deplibs_check_method="file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB dynamic lib"
+ lt_cv_file_magic_test_file=/lib/libc.so
+ ;;
+ siemens)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+ pc)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+ esac
+ ;;
+
+tpf*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+esac
+])
+
+file_magic_glob=
+want_nocaseglob=no
+if test "$build" = "$host"; then
+ case $host_os in
+ mingw* | pw32*)
+ if ( shopt | grep nocaseglob ) >/dev/null 2>&1; then
+ want_nocaseglob=yes
+ else
+ file_magic_glob=`echo aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ | $SED -e "s/\(..\)/s\/[[\1]]\/[[\1]]\/g;/g"`
+ fi
+ ;;
+ esac
+fi
+
+file_magic_cmd=$lt_cv_file_magic_cmd
+deplibs_check_method=$lt_cv_deplibs_check_method
+test -z "$deplibs_check_method" && deplibs_check_method=unknown
+
+_LT_DECL([], [deplibs_check_method], [1],
+ [Method to check whether dependent libraries are shared objects])
+_LT_DECL([], [file_magic_cmd], [1],
+ [Command to use when deplibs_check_method = "file_magic"])
+_LT_DECL([], [file_magic_glob], [1],
+ [How to find potential files when deplibs_check_method = "file_magic"])
+_LT_DECL([], [want_nocaseglob], [1],
+ [Find potential files using nocaseglob when deplibs_check_method = "file_magic"])
+])# _LT_CHECK_MAGIC_METHOD
+
+
+# LT_PATH_NM
+# ----------
+# find the pathname to a BSD- or MS-compatible name lister
+AC_DEFUN([LT_PATH_NM],
+[AC_REQUIRE([AC_PROG_CC])dnl
+AC_CACHE_CHECK([for BSD- or MS-compatible name lister (nm)], lt_cv_path_NM,
+[if test -n "$NM"; then
+ # Let the user override the test.
+ lt_cv_path_NM="$NM"
+else
+ lt_nm_to_check="${ac_tool_prefix}nm"
+ if test -n "$ac_tool_prefix" && test "$build" = "$host"; then
+ lt_nm_to_check="$lt_nm_to_check nm"
+ fi
+ for lt_tmp_nm in $lt_nm_to_check; do
+ lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+ for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do
+ IFS="$lt_save_ifs"
+ test -z "$ac_dir" && ac_dir=.
+ tmp_nm="$ac_dir/$lt_tmp_nm"
+ if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then
+ # Check to see if the nm accepts a BSD-compat flag.
+ # Adding the `sed 1q' prevents false positives on HP-UX, which says:
+ # nm: unknown option "B" ignored
+ # Tru64's nm complains that /dev/null is an invalid object file
+ case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in
+ */dev/null* | *'Invalid file or object type'*)
+ lt_cv_path_NM="$tmp_nm -B"
+ break
+ ;;
+ *)
+ case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in
+ */dev/null*)
+ lt_cv_path_NM="$tmp_nm -p"
+ break
+ ;;
+ *)
+ lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
+ continue # so that we can try to find one that supports BSD flags
+ ;;
+ esac
+ ;;
+ esac
+ fi
+ done
+ IFS="$lt_save_ifs"
+ done
+ : ${lt_cv_path_NM=no}
+fi])
+if test "$lt_cv_path_NM" != "no"; then
+ NM="$lt_cv_path_NM"
+else
+ # Didn't find any BSD compatible name lister, look for dumpbin.
+ if test -n "$DUMPBIN"; then :
+ # Let the user override the test.
+ else
+ AC_CHECK_TOOLS(DUMPBIN, [dumpbin "link -dump"], :)
+ case `$DUMPBIN -symbols /dev/null 2>&1 | sed '1q'` in
+ *COFF*)
+ DUMPBIN="$DUMPBIN -symbols"
+ ;;
+ *)
+ DUMPBIN=:
+ ;;
+ esac
+ fi
+ AC_SUBST([DUMPBIN])
+ if test "$DUMPBIN" != ":"; then
+ NM="$DUMPBIN"
+ fi
+fi
+test -z "$NM" && NM=nm
+AC_SUBST([NM])
+_LT_DECL([], [NM], [1], [A BSD- or MS-compatible name lister])dnl
+
+AC_CACHE_CHECK([the name lister ($NM) interface], [lt_cv_nm_interface],
+ [lt_cv_nm_interface="BSD nm"
+ echo "int some_variable = 0;" > conftest.$ac_ext
+ (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&AS_MESSAGE_LOG_FD)
+ (eval "$ac_compile" 2>conftest.err)
+ cat conftest.err >&AS_MESSAGE_LOG_FD
+ (eval echo "\"\$as_me:$LINENO: $NM \\\"conftest.$ac_objext\\\"\"" >&AS_MESSAGE_LOG_FD)
+ (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out)
+ cat conftest.err >&AS_MESSAGE_LOG_FD
+ (eval echo "\"\$as_me:$LINENO: output\"" >&AS_MESSAGE_LOG_FD)
+ cat conftest.out >&AS_MESSAGE_LOG_FD
+ if $GREP 'External.*some_variable' conftest.out > /dev/null; then
+ lt_cv_nm_interface="MS dumpbin"
+ fi
+ rm -f conftest*])
+])# LT_PATH_NM
+
+# Old names:
+AU_ALIAS([AM_PROG_NM], [LT_PATH_NM])
+AU_ALIAS([AC_PROG_NM], [LT_PATH_NM])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AM_PROG_NM], [])
+dnl AC_DEFUN([AC_PROG_NM], [])
+
+# _LT_CHECK_SHAREDLIB_FROM_LINKLIB
+# --------------------------------
+# how to determine the name of the shared library
+# associated with a specific link library.
+# -- PORTME fill in with the dynamic library characteristics
+m4_defun([_LT_CHECK_SHAREDLIB_FROM_LINKLIB],
+[m4_require([_LT_DECL_EGREP])
+m4_require([_LT_DECL_OBJDUMP])
+m4_require([_LT_DECL_DLLTOOL])
+AC_CACHE_CHECK([how to associate runtime and link libraries],
+lt_cv_sharedlib_from_linklib_cmd,
+[lt_cv_sharedlib_from_linklib_cmd='unknown'
+
+case $host_os in
+cygwin* | mingw* | pw32* | cegcc*)
+ # two different shell functions defined in ltmain.sh
+ # decide which to use based on capabilities of $DLLTOOL
+ case `$DLLTOOL --help 2>&1` in
+ *--identify-strict*)
+ lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib
+ ;;
+ *)
+ lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib_fallback
+ ;;
+ esac
+ ;;
+*)
+ # fallback: assume linklib IS sharedlib
+ lt_cv_sharedlib_from_linklib_cmd="$ECHO"
+ ;;
+esac
+])
+sharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd
+test -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO
+
+_LT_DECL([], [sharedlib_from_linklib_cmd], [1],
+ [Command to associate shared and link libraries])
+])# _LT_CHECK_SHAREDLIB_FROM_LINKLIB
+
+
+# _LT_PATH_MANIFEST_TOOL
+# ----------------------
+# locate the manifest tool
+m4_defun([_LT_PATH_MANIFEST_TOOL],
+[AC_CHECK_TOOL(MANIFEST_TOOL, mt, :)
+test -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt
+AC_CACHE_CHECK([if $MANIFEST_TOOL is a manifest tool], [lt_cv_path_mainfest_tool],
+ [lt_cv_path_mainfest_tool=no
+ echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&AS_MESSAGE_LOG_FD
+ $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out
+ cat conftest.err >&AS_MESSAGE_LOG_FD
+ if $GREP 'Manifest Tool' conftest.out > /dev/null; then
+ lt_cv_path_mainfest_tool=yes
+ fi
+ rm -f conftest*])
+if test "x$lt_cv_path_mainfest_tool" != xyes; then
+ MANIFEST_TOOL=:
+fi
+_LT_DECL([], [MANIFEST_TOOL], [1], [Manifest tool])dnl
+])# _LT_PATH_MANIFEST_TOOL
+
+
+# LT_LIB_M
+# --------
+# check for math library
+AC_DEFUN([LT_LIB_M],
+[AC_REQUIRE([AC_CANONICAL_HOST])dnl
+LIBM=
+case $host in
+*-*-beos* | *-*-cegcc* | *-*-cygwin* | *-*-haiku* | *-*-pw32* | *-*-darwin*)
+ # These system don't have libm, or don't need it
+ ;;
+*-ncr-sysv4.3*)
+ AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM="-lmw")
+ AC_CHECK_LIB(m, cos, LIBM="$LIBM -lm")
+ ;;
+*)
+ AC_CHECK_LIB(m, cos, LIBM="-lm")
+ ;;
+esac
+AC_SUBST([LIBM])
+])# LT_LIB_M
+
+# Old name:
+AU_ALIAS([AC_CHECK_LIBM], [LT_LIB_M])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_CHECK_LIBM], [])
+
+
+# _LT_COMPILER_NO_RTTI([TAGNAME])
+# -------------------------------
+m4_defun([_LT_COMPILER_NO_RTTI],
+[m4_require([_LT_TAG_COMPILER])dnl
+
+_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
+
+if test "$GCC" = yes; then
+ case $cc_basename in
+ nvcc*)
+ _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -Xcompiler -fno-builtin' ;;
+ *)
+ _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' ;;
+ esac
+
+ _LT_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions],
+ lt_cv_prog_compiler_rtti_exceptions,
+ [-fno-rtti -fno-exceptions], [],
+ [_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)="$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) -fno-rtti -fno-exceptions"])
+fi
+_LT_TAGDECL([no_builtin_flag], [lt_prog_compiler_no_builtin_flag], [1],
+ [Compiler flag to turn off builtin functions])
+])# _LT_COMPILER_NO_RTTI
+
+
+# _LT_CMD_GLOBAL_SYMBOLS
+# ----------------------
+m4_defun([_LT_CMD_GLOBAL_SYMBOLS],
+[AC_REQUIRE([AC_CANONICAL_HOST])dnl
+AC_REQUIRE([AC_PROG_CC])dnl
+AC_REQUIRE([AC_PROG_AWK])dnl
+AC_REQUIRE([LT_PATH_NM])dnl
+AC_REQUIRE([LT_PATH_LD])dnl
+m4_require([_LT_DECL_SED])dnl
+m4_require([_LT_DECL_EGREP])dnl
+m4_require([_LT_TAG_COMPILER])dnl
+
+# Check for command to grab the raw symbol name followed by C symbol from nm.
+AC_MSG_CHECKING([command to parse $NM output from $compiler object])
+AC_CACHE_VAL([lt_cv_sys_global_symbol_pipe],
+[
+# These are sane defaults that work on at least a few old systems.
+# [They come from Ultrix. What could be older than Ultrix?!! ;)]
+
+# Character class describing NM global symbol codes.
+symcode='[[BCDEGRST]]'
+
+# Regexp to match symbols that can be accessed directly from C.
+sympat='\([[_A-Za-z]][[_A-Za-z0-9]]*\)'
+
+# Define system-specific variables.
+case $host_os in
+aix*)
+ symcode='[[BCDT]]'
+ ;;
+cygwin* | mingw* | pw32* | cegcc*)
+ symcode='[[ABCDGISTW]]'
+ ;;
+hpux*)
+ if test "$host_cpu" = ia64; then
+ symcode='[[ABCDEGRST]]'
+ fi
+ ;;
+irix* | nonstopux*)
+ symcode='[[BCDEGRST]]'
+ ;;
+osf*)
+ symcode='[[BCDEGQRST]]'
+ ;;
+solaris*)
+ symcode='[[BDRT]]'
+ ;;
+sco3.2v5*)
+ symcode='[[DT]]'
+ ;;
+sysv4.2uw2*)
+ symcode='[[DT]]'
+ ;;
+sysv5* | sco5v6* | unixware* | OpenUNIX*)
+ symcode='[[ABDT]]'
+ ;;
+sysv4)
+ symcode='[[DFNSTU]]'
+ ;;
+esac
+
+# If we're using GNU nm, then use its standard symbol codes.
+case `$NM -V 2>&1` in
+*GNU* | *'with BFD'*)
+ symcode='[[ABCDGIRSTW]]' ;;
+esac
+
+# Transform an extracted symbol line into a proper C declaration.
+# Some systems (esp. on ia64) link data and code symbols differently,
+# so use this general approach.
+lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
+
+# Transform an extracted symbol line into symbol name and symbol address
+lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\)[[ ]]*$/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (void *) \&\2},/p'"
+lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([[^ ]]*\)[[ ]]*$/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \(lib[[^ ]]*\)$/ {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"lib\2\", (void *) \&\2},/p'"
+
+# Handle CRLF in mingw tool chain
+opt_cr=
+case $build_os in
+mingw*)
+ opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp
+ ;;
+esac
+
+# Try without a prefix underscore, then with it.
+for ac_symprfx in "" "_"; do
+
+ # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol.
+ symxfrm="\\1 $ac_symprfx\\2 \\2"
+
+ # Write the raw and C identifiers.
+ if test "$lt_cv_nm_interface" = "MS dumpbin"; then
+ # Fake it for dumpbin and say T for any non-static function
+ # and D for any global variable.
+ # Also find C++ and __fastcall symbols from MSVC++,
+ # which start with @ or ?.
+ lt_cv_sys_global_symbol_pipe="$AWK ['"\
+" {last_section=section; section=\$ 3};"\
+" /^COFF SYMBOL TABLE/{for(i in hide) delete hide[i]};"\
+" /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\
+" \$ 0!~/External *\|/{next};"\
+" / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\
+" {if(hide[section]) next};"\
+" {f=0}; \$ 0~/\(\).*\|/{f=1}; {printf f ? \"T \" : \"D \"};"\
+" {split(\$ 0, a, /\||\r/); split(a[2], s)};"\
+" s[1]~/^[@?]/{print s[1], s[1]; next};"\
+" s[1]~prfx {split(s[1],t,\"@\"); print t[1], substr(t[1],length(prfx))}"\
+" ' prfx=^$ac_symprfx]"
+ else
+ lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[ ]]\($symcode$symcode*\)[[ ]][[ ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
+ fi
+ lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | sed '/ __gnu_lto/d'"
+
+ # Check to see that the pipe works correctly.
+ pipe_works=no
+
+ rm -f conftest*
+ cat > conftest.$ac_ext <<_LT_EOF
+#ifdef __cplusplus
+extern "C" {
+#endif
+char nm_test_var;
+void nm_test_func(void);
+void nm_test_func(void){}
+#ifdef __cplusplus
+}
+#endif
+int main(){nm_test_var='a';nm_test_func();return(0);}
+_LT_EOF
+
+ if AC_TRY_EVAL(ac_compile); then
+ # Now try to grab the symbols.
+ nlist=conftest.nm
+ if AC_TRY_EVAL(NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist) && test -s "$nlist"; then
+ # Try sorting and uniquifying the output.
+ if sort "$nlist" | uniq > "$nlist"T; then
+ mv -f "$nlist"T "$nlist"
+ else
+ rm -f "$nlist"T
+ fi
+
+ # Make sure that we snagged all the symbols we need.
+ if $GREP ' nm_test_var$' "$nlist" >/dev/null; then
+ if $GREP ' nm_test_func$' "$nlist" >/dev/null; then
+ cat <<_LT_EOF > conftest.$ac_ext
+/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */
+#if defined(_WIN32) || defined(__CYGWIN__) || defined(_WIN32_WCE)
+/* DATA imports from DLLs on WIN32 con't be const, because runtime
+ relocations are performed -- see ld's documentation on pseudo-relocs. */
+# define LT@&t@_DLSYM_CONST
+#elif defined(__osf__)
+/* This system does not cope well with relocations in const data. */
+# define LT@&t@_DLSYM_CONST
+#else
+# define LT@&t@_DLSYM_CONST const
+#endif
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+_LT_EOF
+ # Now generate the symbol file.
+ eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext'
+
+ cat <<_LT_EOF >> conftest.$ac_ext
+
+/* The mapping between symbol names and symbols. */
+LT@&t@_DLSYM_CONST struct {
+ const char *name;
+ void *address;
+}
+lt__PROGRAM__LTX_preloaded_symbols[[]] =
+{
+ { "@PROGRAM@", (void *) 0 },
+_LT_EOF
+ $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (void *) \&\2},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext
+ cat <<\_LT_EOF >> conftest.$ac_ext
+ {0, (void *) 0}
+};
+
+/* This works around a problem in FreeBSD linker */
+#ifdef FREEBSD_WORKAROUND
+static const void *lt_preloaded_setup() {
+ return lt__PROGRAM__LTX_preloaded_symbols;
+}
+#endif
+
+#ifdef __cplusplus
+}
+#endif
+_LT_EOF
+ # Now try linking the two files.
+ mv conftest.$ac_objext conftstm.$ac_objext
+ lt_globsym_save_LIBS=$LIBS
+ lt_globsym_save_CFLAGS=$CFLAGS
+ LIBS="conftstm.$ac_objext"
+ CFLAGS="$CFLAGS$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)"
+ if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext}; then
+ pipe_works=yes
+ fi
+ LIBS=$lt_globsym_save_LIBS
+ CFLAGS=$lt_globsym_save_CFLAGS
+ else
+ echo "cannot find nm_test_func in $nlist" >&AS_MESSAGE_LOG_FD
+ fi
+ else
+ echo "cannot find nm_test_var in $nlist" >&AS_MESSAGE_LOG_FD
+ fi
+ else
+ echo "cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD
+ fi
+ else
+ echo "$progname: failed program was:" >&AS_MESSAGE_LOG_FD
+ cat conftest.$ac_ext >&5
+ fi
+ rm -rf conftest* conftst*
+
+ # Do not use the global_symbol_pipe unless it works.
+ if test "$pipe_works" = yes; then
+ break
+ else
+ lt_cv_sys_global_symbol_pipe=
+ fi
+done
+])
+if test -z "$lt_cv_sys_global_symbol_pipe"; then
+ lt_cv_sys_global_symbol_to_cdecl=
+fi
+if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then
+ AC_MSG_RESULT(failed)
+else
+ AC_MSG_RESULT(ok)
+fi
+
+# Response file support.
+if test "$lt_cv_nm_interface" = "MS dumpbin"; then
+ nm_file_list_spec='@'
+elif $NM --help 2>/dev/null | grep '[[@]]FILE' >/dev/null; then
+ nm_file_list_spec='@'
+fi
+
+_LT_DECL([global_symbol_pipe], [lt_cv_sys_global_symbol_pipe], [1],
+ [Take the output of nm and produce a listing of raw symbols and C names])
+_LT_DECL([global_symbol_to_cdecl], [lt_cv_sys_global_symbol_to_cdecl], [1],
+ [Transform the output of nm in a proper C declaration])
+_LT_DECL([global_symbol_to_c_name_address],
+ [lt_cv_sys_global_symbol_to_c_name_address], [1],
+ [Transform the output of nm in a C name address pair])
+_LT_DECL([global_symbol_to_c_name_address_lib_prefix],
+ [lt_cv_sys_global_symbol_to_c_name_address_lib_prefix], [1],
+ [Transform the output of nm in a C name address pair when lib prefix is needed])
+_LT_DECL([], [nm_file_list_spec], [1],
+ [Specify filename containing input files for $NM])
+]) # _LT_CMD_GLOBAL_SYMBOLS
+
+
+# _LT_COMPILER_PIC([TAGNAME])
+# ---------------------------
+m4_defun([_LT_COMPILER_PIC],
+[m4_require([_LT_TAG_COMPILER])dnl
+_LT_TAGVAR(lt_prog_compiler_wl, $1)=
+_LT_TAGVAR(lt_prog_compiler_pic, $1)=
+_LT_TAGVAR(lt_prog_compiler_static, $1)=
+
+m4_if([$1], [CXX], [
+ # C++ specific cases for pic, static, wl, etc.
+ if test "$GXX" = yes; then
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
+
+ case $host_os in
+ aix*)
+ # All AIX code is PIC.
+ if test "$host_cpu" = ia64; then
+ # AIX 5 now supports IA64 processor
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ fi
+ ;;
+
+ amigaos*)
+ case $host_cpu in
+ powerpc)
+ # see comment about AmigaOS4 .so support
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+ ;;
+ m68k)
+ # FIXME: we need at least 68020 code to build shared libraries, but
+ # adding the `-m68020' flag to GCC prevents building anything better,
+ # like `-m68040'.
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
+ ;;
+ esac
+ ;;
+
+ beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
+ # PIC is the default for these OSes.
+ ;;
+ mingw* | cygwin* | os2* | pw32* | cegcc*)
+ # This hack is so that the source file can tell whether it is being
+ # built for inclusion in a dll (and should export symbols for example).
+ # Although the cygwin gcc ignores -fPIC, still need this for old-style
+ # (--disable-auto-import) libraries
+ m4_if([$1], [GCJ], [],
+ [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
+ ;;
+ darwin* | rhapsody*)
+ # PIC is the default on this platform
+ # Common symbols not allowed in MH_DYLIB files
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
+ ;;
+ *djgpp*)
+ # DJGPP does not support shared libraries at all
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)=
+ ;;
+ haiku*)
+ # PIC is the default for Haiku.
+ # The "-static" flag exists, but is broken.
+ _LT_TAGVAR(lt_prog_compiler_static, $1)=
+ ;;
+ interix[[3-9]]*)
+ # Interix 3.x gcc -fpic/-fPIC options generate broken code.
+ # Instead, we relocate shared libraries at runtime.
+ ;;
+ sysv4*MP*)
+ if test -d /usr/nec; then
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic
+ fi
+ ;;
+ hpux*)
+ # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
+ # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag
+ # sets the default TLS model and affects inlining.
+ case $host_cpu in
+ hppa*64*)
+ ;;
+ *)
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+ ;;
+ esac
+ ;;
+ *qnx* | *nto*)
+ # QNX uses GNU C++, but need to define -shared option too, otherwise
+ # it will coredump.
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
+ ;;
+ *)
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+ ;;
+ esac
+ else
+ case $host_os in
+ aix[[4-9]]*)
+ # All AIX code is PIC.
+ if test "$host_cpu" = ia64; then
+ # AIX 5 now supports IA64 processor
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ else
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp'
+ fi
+ ;;
+ chorus*)
+ case $cc_basename in
+ cxch68*)
+ # Green Hills C++ Compiler
+ # _LT_TAGVAR(lt_prog_compiler_static, $1)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a"
+ ;;
+ esac
+ ;;
+ mingw* | cygwin* | os2* | pw32* | cegcc*)
+ # This hack is so that the source file can tell whether it is being
+ # built for inclusion in a dll (and should export symbols for example).
+ m4_if([$1], [GCJ], [],
+ [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
+ ;;
+ dgux*)
+ case $cc_basename in
+ ec++*)
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ ;;
+ ghcx*)
+ # Green Hills C++ Compiler
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
+ ;;
+ *)
+ ;;
+ esac
+ ;;
+ freebsd* | dragonfly*)
+ # FreeBSD uses GNU C++
+ ;;
+ hpux9* | hpux10* | hpux11*)
+ case $cc_basename in
+ CC*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
+ if test "$host_cpu" != ia64; then
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
+ fi
+ ;;
+ aCC*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
+ case $host_cpu in
+ hppa*64*|ia64*)
+ # +Z the default
+ ;;
+ *)
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
+ ;;
+ esac
+ ;;
+ *)
+ ;;
+ esac
+ ;;
+ interix*)
+ # This is c89, which is MS Visual C++ (no shared libs)
+ # Anyone wants to do a port?
+ ;;
+ irix5* | irix6* | nonstopux*)
+ case $cc_basename in
+ CC*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+ # CC pic flag -KPIC is the default.
+ ;;
+ *)
+ ;;
+ esac
+ ;;
+ linux* | k*bsd*-gnu | kopensolaris*-gnu)
+ case $cc_basename in
+ KCC*)
+ # KAI C++ Compiler
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+ ;;
+ ecpc* )
+ # old Intel C++ for x86_64 which still supported -KPIC.
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
+ ;;
+ icpc* )
+ # Intel C++, used to be incompatible with GCC.
+ # ICC 10 doesn't accept -KPIC any more.
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
+ ;;
+ pgCC* | pgcpp*)
+ # Portland Group C++ compiler
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ ;;
+ cxx*)
+ # Compaq C++
+ # Make sure the PIC flag is empty. It appears that all Alpha
+ # Linux and Compaq Tru64 Unix objects are PIC.
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)=
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+ ;;
+ xlc* | xlC* | bgxl[[cC]]* | mpixl[[cC]]*)
+ # IBM XL 8.0, 9.0 on PPC and BlueGene
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink'
+ ;;
+ *)
+ case `$CC -V 2>&1 | sed 5q` in
+ *Sun\ C*)
+ # Sun C++ 5.9
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
+ ;;
+ esac
+ ;;
+ esac
+ ;;
+ lynxos*)
+ ;;
+ m88k*)
+ ;;
+ mvs*)
+ case $cc_basename in
+ cxx*)
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall'
+ ;;
+ *)
+ ;;
+ esac
+ ;;
+ netbsd*)
+ ;;
+ *qnx* | *nto*)
+ # QNX uses GNU C++, but need to define -shared option too, otherwise
+ # it will coredump.
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
+ ;;
+ osf3* | osf4* | osf5*)
+ case $cc_basename in
+ KCC*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
+ ;;
+ RCC*)
+ # Rational C++ 2.4.1
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
+ ;;
+ cxx*)
+ # Digital/Compaq C++
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ # Make sure the PIC flag is empty. It appears that all Alpha
+ # Linux and Compaq Tru64 Unix objects are PIC.
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)=
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+ ;;
+ *)
+ ;;
+ esac
+ ;;
+ psos*)
+ ;;
+ solaris*)
+ case $cc_basename in
+ CC* | sunCC*)
+ # Sun C++ 4.2, 5.x and Centerline C++
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
+ ;;
+ gcx*)
+ # Green Hills C++ Compiler
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
+ ;;
+ *)
+ ;;
+ esac
+ ;;
+ sunos4*)
+ case $cc_basename in
+ CC*)
+ # Sun C++ 4.x
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ ;;
+ lcc*)
+ # Lucid
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
+ ;;
+ *)
+ ;;
+ esac
+ ;;
+ sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
+ case $cc_basename in
+ CC*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ ;;
+ esac
+ ;;
+ tandem*)
+ case $cc_basename in
+ NCC*)
+ # NonStop-UX NCC 3.20
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ ;;
+ *)
+ ;;
+ esac
+ ;;
+ vxworks*)
+ ;;
+ *)
+ _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
+ ;;
+ esac
+ fi
+],
+[
+ if test "$GCC" = yes; then
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
+
+ case $host_os in
+ aix*)
+ # All AIX code is PIC.
+ if test "$host_cpu" = ia64; then
+ # AIX 5 now supports IA64 processor
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ fi
+ ;;
+
+ amigaos*)
+ case $host_cpu in
+ powerpc)
+ # see comment about AmigaOS4 .so support
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+ ;;
+ m68k)
+ # FIXME: we need at least 68020 code to build shared libraries, but
+ # adding the `-m68020' flag to GCC prevents building anything better,
+ # like `-m68040'.
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
+ ;;
+ esac
+ ;;
+
+ beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
+ # PIC is the default for these OSes.
+ ;;
+
+ mingw* | cygwin* | pw32* | os2* | cegcc*)
+ # This hack is so that the source file can tell whether it is being
+ # built for inclusion in a dll (and should export symbols for example).
+ # Although the cygwin gcc ignores -fPIC, still need this for old-style
+ # (--disable-auto-import) libraries
+ m4_if([$1], [GCJ], [],
+ [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
+ ;;
+
+ darwin* | rhapsody*)
+ # PIC is the default on this platform
+ # Common symbols not allowed in MH_DYLIB files
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
+ ;;
+
+ haiku*)
+ # PIC is the default for Haiku.
+ # The "-static" flag exists, but is broken.
+ _LT_TAGVAR(lt_prog_compiler_static, $1)=
+ ;;
+
+ hpux*)
+ # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
+ # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag
+ # sets the default TLS model and affects inlining.
+ case $host_cpu in
+ hppa*64*)
+ # +Z the default
+ ;;
+ *)
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+ ;;
+ esac
+ ;;
+
+ interix[[3-9]]*)
+ # Interix 3.x gcc -fpic/-fPIC options generate broken code.
+ # Instead, we relocate shared libraries at runtime.
+ ;;
+
+ msdosdjgpp*)
+ # Just because we use GCC doesn't mean we suddenly get shared libraries
+ # on systems that don't support them.
+ _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
+ enable_shared=no
+ ;;
+
+ *nto* | *qnx*)
+ # QNX uses GNU C++, but need to define -shared option too, otherwise
+ # it will coredump.
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
+ ;;
+
+ sysv4*MP*)
+ if test -d /usr/nec; then
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic
+ fi
+ ;;
+
+ *)
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+ ;;
+ esac
+
+ case $cc_basename in
+ nvcc*) # Cuda Compiler Driver 2.2
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Xlinker '
+ if test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)="-Xcompiler $_LT_TAGVAR(lt_prog_compiler_pic, $1)"
+ fi
+ ;;
+ esac
+ else
+ # PORTME Check for flag to pass linker flags through the system compiler.
+ case $host_os in
+ aix*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ if test "$host_cpu" = ia64; then
+ # AIX 5 now supports IA64 processor
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ else
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp'
+ fi
+ ;;
+
+ mingw* | cygwin* | pw32* | os2* | cegcc*)
+ # This hack is so that the source file can tell whether it is being
+ # built for inclusion in a dll (and should export symbols for example).
+ m4_if([$1], [GCJ], [],
+ [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
+ ;;
+
+ hpux9* | hpux10* | hpux11*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
+ # not for PA HP-UX.
+ case $host_cpu in
+ hppa*64*|ia64*)
+ # +Z the default
+ ;;
+ *)
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
+ ;;
+ esac
+ # Is there a better lt_prog_compiler_static that works with the bundled CC?
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
+ ;;
+
+ irix5* | irix6* | nonstopux*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ # PIC (with -KPIC) is the default.
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+ ;;
+
+ linux* | k*bsd*-gnu | kopensolaris*-gnu)
+ case $cc_basename in
+ # old Intel for x86_64 which still supported -KPIC.
+ ecc*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
+ ;;
+ # icc used to be incompatible with GCC.
+ # ICC 10 doesn't accept -KPIC any more.
+ icc* | ifort*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
+ ;;
+ # Lahey Fortran 8.1.
+ lf95*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='--shared'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='--static'
+ ;;
+ nagfor*)
+ # NAG Fortran compiler
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,-Wl,,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ ;;
+ pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*)
+ # Portland Group compilers (*not* the Pentium gcc compiler,
+ # which looks to be a dead project)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ ;;
+ ccc*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ # All Alpha code is PIC.
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+ ;;
+ xl* | bgxl* | bgf* | mpixl*)
+ # IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink'
+ ;;
+ *)
+ case `$CC -V 2>&1 | sed 5q` in
+ *Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [[1-7]].* | *Sun*Fortran*\ 8.[[0-3]]*)
+ # Sun Fortran 8.3 passes all unrecognized flags to the linker
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)=''
+ ;;
+ *Sun\ F* | *Sun*Fortran*)
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
+ ;;
+ *Sun\ C*)
+ # Sun C 5.9
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ ;;
+ *Intel*\ [[CF]]*Compiler*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
+ ;;
+ *Portland\ Group*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ ;;
+ esac
+ ;;
+ esac
+ ;;
+
+ newsos6)
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ ;;
+
+ *nto* | *qnx*)
+ # QNX uses GNU C++, but need to define -shared option too, otherwise
+ # it will coredump.
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
+ ;;
+
+ osf3* | osf4* | osf5*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ # All OSF/1 code is PIC.
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+ ;;
+
+ rdos*)
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+ ;;
+
+ solaris*)
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ case $cc_basename in
+ f77* | f90* | f95* | sunf77* | sunf90* | sunf95*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';;
+ *)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';;
+ esac
+ ;;
+
+ sunos4*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ ;;
+
+ sysv4 | sysv4.2uw2* | sysv4.3*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ ;;
+
+ sysv4*MP*)
+ if test -d /usr/nec ;then
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-Kconform_pic'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ fi
+ ;;
+
+ sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ ;;
+
+ unicos*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
+ ;;
+
+ uts4*)
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ ;;
+
+ *)
+ _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
+ ;;
+ esac
+ fi
+])
+case $host_os in
+ # For platforms which do not support PIC, -DPIC is meaningless:
+ *djgpp*)
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)=
+ ;;
+ *)
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])"
+ ;;
+esac
+
+AC_CACHE_CHECK([for $compiler option to produce PIC],
+ [_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)],
+ [_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)=$_LT_TAGVAR(lt_prog_compiler_pic, $1)])
+_LT_TAGVAR(lt_prog_compiler_pic, $1)=$_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)
+
+#
+# Check to make sure the PIC flag actually works.
+#
+if test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then
+ _LT_COMPILER_OPTION([if $compiler PIC flag $_LT_TAGVAR(lt_prog_compiler_pic, $1) works],
+ [_LT_TAGVAR(lt_cv_prog_compiler_pic_works, $1)],
+ [$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])], [],
+ [case $_LT_TAGVAR(lt_prog_compiler_pic, $1) in
+ "" | " "*) ;;
+ *) _LT_TAGVAR(lt_prog_compiler_pic, $1)=" $_LT_TAGVAR(lt_prog_compiler_pic, $1)" ;;
+ esac],
+ [_LT_TAGVAR(lt_prog_compiler_pic, $1)=
+ _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no])
+fi
+_LT_TAGDECL([pic_flag], [lt_prog_compiler_pic], [1],
+ [Additional compiler flags for building library objects])
+
+_LT_TAGDECL([wl], [lt_prog_compiler_wl], [1],
+ [How to pass a linker flag through the compiler])
+#
+# Check to make sure the static flag actually works.
+#
+wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1) eval lt_tmp_static_flag=\"$_LT_TAGVAR(lt_prog_compiler_static, $1)\"
+_LT_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works],
+ _LT_TAGVAR(lt_cv_prog_compiler_static_works, $1),
+ $lt_tmp_static_flag,
+ [],
+ [_LT_TAGVAR(lt_prog_compiler_static, $1)=])
+_LT_TAGDECL([link_static_flag], [lt_prog_compiler_static], [1],
+ [Compiler flag to prevent dynamic linking])
+])# _LT_COMPILER_PIC
+
+
+# _LT_LINKER_SHLIBS([TAGNAME])
+# ----------------------------
+# See if the linker supports building shared libraries.
+m4_defun([_LT_LINKER_SHLIBS],
+[AC_REQUIRE([LT_PATH_LD])dnl
+AC_REQUIRE([LT_PATH_NM])dnl
+m4_require([_LT_PATH_MANIFEST_TOOL])dnl
+m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+m4_require([_LT_DECL_EGREP])dnl
+m4_require([_LT_DECL_SED])dnl
+m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl
+m4_require([_LT_TAG_COMPILER])dnl
+AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
+m4_if([$1], [CXX], [
+ _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
+ _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*']
+ case $host_os in
+ aix[[4-9]]*)
+ # If we're using GNU nm, then we don't want the "-C" option.
+ # -C means demangle to AIX nm, but means don't demangle with GNU nm
+ # Also, AIX nm treats weak defined symbols like other global defined
+ # symbols, whereas GNU nm marks them as "W".
+ if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
+ _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
+ else
+ _LT_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
+ fi
+ ;;
+ pw32*)
+ _LT_TAGVAR(export_symbols_cmds, $1)="$ltdll_cmds"
+ ;;
+ cygwin* | mingw* | cegcc*)
+ case $cc_basename in
+ cl*)
+ _LT_TAGVAR(exclude_expsyms, $1)='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*'
+ ;;
+ *)
+ _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols'
+ _LT_TAGVAR(exclude_expsyms, $1)=['[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname']
+ ;;
+ esac
+ ;;
+ linux* | k*bsd*-gnu)
+ _LT_TAGVAR(link_all_deplibs, $1)=no
+ ;;
+ *)
+ _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
+ ;;
+ esac
+], [
+ runpath_var=
+ _LT_TAGVAR(allow_undefined_flag, $1)=
+ _LT_TAGVAR(always_export_symbols, $1)=no
+ _LT_TAGVAR(archive_cmds, $1)=
+ _LT_TAGVAR(archive_expsym_cmds, $1)=
+ _LT_TAGVAR(compiler_needs_object, $1)=no
+ _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)=
+ _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
+ _LT_TAGVAR(hardcode_automatic, $1)=no
+ _LT_TAGVAR(hardcode_direct, $1)=no
+ _LT_TAGVAR(hardcode_direct_absolute, $1)=no
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=
+ _LT_TAGVAR(hardcode_minus_L, $1)=no
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
+ _LT_TAGVAR(inherit_rpath, $1)=no
+ _LT_TAGVAR(link_all_deplibs, $1)=unknown
+ _LT_TAGVAR(module_cmds, $1)=
+ _LT_TAGVAR(module_expsym_cmds, $1)=
+ _LT_TAGVAR(old_archive_from_new_cmds, $1)=
+ _LT_TAGVAR(old_archive_from_expsyms_cmds, $1)=
+ _LT_TAGVAR(thread_safe_flag_spec, $1)=
+ _LT_TAGVAR(whole_archive_flag_spec, $1)=
+ # include_expsyms should be a list of space-separated symbols to be *always*
+ # included in the symbol list
+ _LT_TAGVAR(include_expsyms, $1)=
+ # exclude_expsyms can be an extended regexp of symbols to exclude
+ # it will be wrapped by ` (' and `)$', so one must not match beginning or
+ # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
+ # as well as any symbol that contains `d'.
+ _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*']
+ # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
+ # platforms (ab)use it in PIC code, but their linkers get confused if
+ # the symbol is explicitly referenced. Since portable code cannot
+ # rely on this symbol name, it's probably fine to never include it in
+ # preloaded symbol tables.
+ # Exclude shared library initialization/finalization symbols.
+dnl Note also adjust exclude_expsyms for C++ above.
+ extract_expsyms_cmds=
+
+ case $host_os in
+ cygwin* | mingw* | pw32* | cegcc*)
+ # FIXME: the MSVC++ port hasn't been tested in a loooong time
+ # When not using gcc, we currently assume that we are using
+ # Microsoft Visual C++.
+ if test "$GCC" != yes; then
+ with_gnu_ld=no
+ fi
+ ;;
+ interix*)
+ # we just hope/assume this is gcc and not c89 (= MSVC++)
+ with_gnu_ld=yes
+ ;;
+ openbsd*)
+ with_gnu_ld=no
+ ;;
+ linux* | k*bsd*-gnu)
+ _LT_TAGVAR(link_all_deplibs, $1)=no
+ ;;
+ esac
+
+ _LT_TAGVAR(ld_shlibs, $1)=yes
+
+ # On some targets, GNU ld is compatible enough with the native linker
+ # that we're better off using the native interface for both.
+ lt_use_gnu_ld_interface=no
+ if test "$with_gnu_ld" = yes; then
+ case $host_os in
+ aix*)
+ # The AIX port of GNU ld has always aspired to compatibility
+ # with the native linker. However, as the warning in the GNU ld
+ # block says, versions before 2.19.5* couldn't really create working
+ # shared libraries, regardless of the interface used.
+ case `$LD -v 2>&1` in
+ *\ \(GNU\ Binutils\)\ 2.19.5*) ;;
+ *\ \(GNU\ Binutils\)\ 2.[[2-9]]*) ;;
+ *\ \(GNU\ Binutils\)\ [[3-9]]*) ;;
+ *)
+ lt_use_gnu_ld_interface=yes
+ ;;
+ esac
+ ;;
+ *)
+ lt_use_gnu_ld_interface=yes
+ ;;
+ esac
+ fi
+
+ if test "$lt_use_gnu_ld_interface" = yes; then
+ # If archive_cmds runs LD, not CC, wlarc should be empty
+ wlarc='${wl}'
+
+ # Set some defaults for GNU ld with shared library support. These
+ # are reset later if shared libraries are not supported. Putting them
+ # here allows them to be overridden if necessary.
+ runpath_var=LD_RUN_PATH
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
+ # ancient GNU ld didn't support --whole-archive et. al.
+ if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then
+ _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
+ else
+ _LT_TAGVAR(whole_archive_flag_spec, $1)=
+ fi
+ supports_anon_versioning=no
+ case `$LD -v 2>&1` in
+ *GNU\ gold*) supports_anon_versioning=yes ;;
+ *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11
+ *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
+ *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
+ *\ 2.11.*) ;; # other 2.11 versions
+ *) supports_anon_versioning=yes ;;
+ esac
+
+ # See if GNU ld supports shared libraries.
+ case $host_os in
+ aix[[3-9]]*)
+ # On AIX/PPC, the GNU linker is very broken
+ if test "$host_cpu" != ia64; then
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ cat <<_LT_EOF 1>&2
+
+*** Warning: the GNU linker, at least up to release 2.19, is reported
+*** to be unable to reliably create shared libraries on AIX.
+*** Therefore, libtool is disabling shared libraries support. If you
+*** really care for shared libraries, you may want to install binutils
+*** 2.20 or above, or modify your PATH so that a non-GNU linker is found.
+*** You will then need to restart the configuration process.
+
+_LT_EOF
+ fi
+ ;;
+
+ amigaos*)
+ case $host_cpu in
+ powerpc)
+ # see comment about AmigaOS4 .so support
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)=''
+ ;;
+ m68k)
+ _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+ _LT_TAGVAR(hardcode_minus_L, $1)=yes
+ ;;
+ esac
+ ;;
+
+ beos*)
+ if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+ _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
+ # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
+ # support --undefined. This deserves some investigation. FIXME
+ _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ else
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ fi
+ ;;
+
+ cygwin* | mingw* | pw32* | cegcc*)
+ # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
+ # as there is no search path for DLLs.
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-all-symbols'
+ _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
+ _LT_TAGVAR(always_export_symbols, $1)=no
+ _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
+ _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols'
+ _LT_TAGVAR(exclude_expsyms, $1)=['[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname']
+
+ if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+ # If the export-symbols file already is a .def file (1st line
+ # is EXPORTS), use it as is; otherwise, prepend...
+ _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
+ cp $export_symbols $output_objdir/$soname.def;
+ else
+ echo EXPORTS > $output_objdir/$soname.def;
+ cat $export_symbols >> $output_objdir/$soname.def;
+ fi~
+ $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+ else
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ fi
+ ;;
+
+ haiku*)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ _LT_TAGVAR(link_all_deplibs, $1)=yes
+ ;;
+
+ interix[[3-9]]*)
+ _LT_TAGVAR(hardcode_direct, $1)=no
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+ # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
+ # Instead, shared libraries are loaded at an image base (0x10000000 by
+ # default) and relocated if they conflict, which is a slow very memory
+ # consuming and fragmenting process. To avoid this, we pick a random,
+ # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
+ # time. Moving up from 0x10000000 also allows more sbrk(2) space.
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+ ;;
+
+ gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu)
+ tmp_diet=no
+ if test "$host_os" = linux-dietlibc; then
+ case $cc_basename in
+ diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn)
+ esac
+ fi
+ if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \
+ && test "$tmp_diet" = no
+ then
+ tmp_addflag=' $pic_flag'
+ tmp_sharedflag='-shared'
+ case $cc_basename,$host_cpu in
+ pgcc*) # Portland Group C compiler
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
+ tmp_addflag=' $pic_flag'
+ ;;
+ pgf77* | pgf90* | pgf95* | pgfortran*)
+ # Portland Group f77 and f90 compilers
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
+ tmp_addflag=' $pic_flag -Mnomain' ;;
+ ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64
+ tmp_addflag=' -i_dynamic' ;;
+ efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64
+ tmp_addflag=' -i_dynamic -nofor_main' ;;
+ ifc* | ifort*) # Intel Fortran compiler
+ tmp_addflag=' -nofor_main' ;;
+ lf95*) # Lahey Fortran 8.1
+ _LT_TAGVAR(whole_archive_flag_spec, $1)=
+ tmp_sharedflag='--shared' ;;
+ xl[[cC]]* | bgxl[[cC]]* | mpixl[[cC]]*) # IBM XL C 8.0 on PPC (deal with xlf below)
+ tmp_sharedflag='-qmkshrobj'
+ tmp_addflag= ;;
+ nvcc*) # Cuda Compiler Driver 2.2
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
+ _LT_TAGVAR(compiler_needs_object, $1)=yes
+ ;;
+ esac
+ case `$CC -V 2>&1 | sed 5q` in
+ *Sun\ C*) # Sun C 5.9
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
+ _LT_TAGVAR(compiler_needs_object, $1)=yes
+ tmp_sharedflag='-G' ;;
+ *Sun\ F*) # Sun Fortran 8.3
+ tmp_sharedflag='-G' ;;
+ esac
+ _LT_TAGVAR(archive_cmds, $1)='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+
+ if test "x$supports_anon_versioning" = xyes; then
+ _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
+ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
+ echo "local: *; };" >> $output_objdir/$libname.ver~
+ if test -r $libname-altlinux.ver; then cp $libname-altlinux.ver $output_objdir/$libname.ver; fi~
+ $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
+ fi
+
+ case $cc_basename in
+ xlf* | bgf* | bgxlf* | mpixlf*)
+ # IBM XL Fortran 10.1 on PPC cannot create shared libs itself
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='--whole-archive$convenience --no-whole-archive'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+ _LT_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib'
+ if test "x$supports_anon_versioning" = xyes; then
+ _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
+ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
+ echo "local: *; };" >> $output_objdir/$libname.ver~
+ $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
+ fi
+ ;;
+ esac
+ else
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ fi
+ ;;
+
+ netbsd*)
+ if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
+ _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
+ wlarc=
+ else
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ fi
+ ;;
+
+ solaris*)
+ if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ cat <<_LT_EOF 1>&2
+
+*** Warning: The releases 2.8.* of the GNU linker cannot reliably
+*** create shared libraries on Solaris systems. Therefore, libtool
+*** is disabling shared libraries support. We urge you to upgrade GNU
+*** binutils to release 2.9.1 or newer. Another option is to modify
+*** your PATH or compiler configuration so that the native linker is
+*** used, and then restart.
+
+_LT_EOF
+ elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ else
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ fi
+ ;;
+
+ sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
+ case `$LD -v 2>&1` in
+ *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.1[[0-5]].*)
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ cat <<_LT_EOF 1>&2
+
+*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not
+*** reliably create shared libraries on SCO systems. Therefore, libtool
+*** is disabling shared libraries support. We urge you to upgrade GNU
+*** binutils to release 2.16.91.0.3 or newer. Another option is to modify
+*** your PATH or compiler configuration so that the native linker is
+*** used, and then restart.
+
+_LT_EOF
+ ;;
+ *)
+ # For security reasons, it is highly recommended that you always
+ # use absolute paths for naming shared libraries, and exclude the
+ # DT_RUNPATH tag from executables and libraries. But doing so
+ # requires that you compile everything twice, which is a pain.
+ if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ else
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ fi
+ ;;
+ esac
+ ;;
+
+ sunos4*)
+ _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+ wlarc=
+ _LT_TAGVAR(hardcode_direct, $1)=yes
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ ;;
+
+ *)
+ if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ else
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ fi
+ ;;
+ esac
+
+ if test "$_LT_TAGVAR(ld_shlibs, $1)" = no; then
+ runpath_var=
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)=
+ _LT_TAGVAR(whole_archive_flag_spec, $1)=
+ fi
+ else
+ # PORTME fill in a description of your system's linker (not GNU ld)
+ case $host_os in
+ aix3*)
+ _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
+ _LT_TAGVAR(always_export_symbols, $1)=yes
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname'
+ # Note: this linker hardcodes the directories in LIBPATH if there
+ # are no directories specified by -L.
+ _LT_TAGVAR(hardcode_minus_L, $1)=yes
+ if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then
+ # Neither direct hardcoding nor static linking is supported with a
+ # broken collect2.
+ _LT_TAGVAR(hardcode_direct, $1)=unsupported
+ fi
+ ;;
+
+ aix[[4-9]]*)
+ if test "$host_cpu" = ia64; then
+ # On IA64, the linker does run time linking by default, so we don't
+ # have to do anything special.
+ aix_use_runtimelinking=no
+ exp_sym_flag='-Bexport'
+ no_entry_flag=""
+ else
+ # If we're using GNU nm, then we don't want the "-C" option.
+ # -C means demangle to AIX nm, but means don't demangle with GNU nm
+ # Also, AIX nm treats weak defined symbols like other global
+ # defined symbols, whereas GNU nm marks them as "W".
+ if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
+ _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
+ else
+ _LT_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
+ fi
+ aix_use_runtimelinking=no
+
+ # Test if we are trying to use run time linking or normal
+ # AIX style linking. If -brtl is somewhere in LDFLAGS, we
+ # need to do runtime linking.
+ case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*)
+ for ld_flag in $LDFLAGS; do
+ if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
+ aix_use_runtimelinking=yes
+ break
+ fi
+ done
+ ;;
+ esac
+
+ exp_sym_flag='-bexport'
+ no_entry_flag='-bnoentry'
+ fi
+
+ # When large executables or shared objects are built, AIX ld can
+ # have problems creating the table of contents. If linking a library
+ # or program results in "error TOC overflow" add -mminimal-toc to
+ # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not
+ # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
+
+ _LT_TAGVAR(archive_cmds, $1)=''
+ _LT_TAGVAR(hardcode_direct, $1)=yes
+ _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
+ _LT_TAGVAR(link_all_deplibs, $1)=yes
+ _LT_TAGVAR(file_list_spec, $1)='${wl}-f,'
+
+ if test "$GCC" = yes; then
+ case $host_os in aix4.[[012]]|aix4.[[012]].*)
+ # We only want to do this on AIX 4.2 and lower, the check
+ # below for broken collect2 doesn't work under 4.3+
+ collect2name=`${CC} -print-prog-name=collect2`
+ if test -f "$collect2name" &&
+ strings "$collect2name" | $GREP resolve_lib_name >/dev/null
+ then
+ # We have reworked collect2
+ :
+ else
+ # We have old collect2
+ _LT_TAGVAR(hardcode_direct, $1)=unsupported
+ # It fails to find uninstalled libraries when the uninstalled
+ # path is not listed in the libpath. Setting hardcode_minus_L
+ # to unsupported forces relinking
+ _LT_TAGVAR(hardcode_minus_L, $1)=yes
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=
+ fi
+ ;;
+ esac
+ shared_flag='-shared'
+ if test "$aix_use_runtimelinking" = yes; then
+ shared_flag="$shared_flag "'${wl}-G'
+ fi
+ else
+ # not using gcc
+ if test "$host_cpu" = ia64; then
+ # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
+ # chokes on -Wl,-G. The following line is correct:
+ shared_flag='-G'
+ else
+ if test "$aix_use_runtimelinking" = yes; then
+ shared_flag='${wl}-G'
+ else
+ shared_flag='${wl}-bM:SRE'
+ fi
+ fi
+ fi
+
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-bexpall'
+ # It seems that -bexpall does not export symbols beginning with
+ # underscore (_), so it is better to generate a list of symbols to export.
+ _LT_TAGVAR(always_export_symbols, $1)=yes
+ if test "$aix_use_runtimelinking" = yes; then
+ # Warning - without using the other runtime loading flags (-brtl),
+ # -berok will link without error, but may produce a broken library.
+ _LT_TAGVAR(allow_undefined_flag, $1)='-berok'
+ # Determine the default libpath from the value encoded in an
+ # empty executable.
+ _LT_SYS_MODULE_PATH_AIX([$1])
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
+ else
+ if test "$host_cpu" = ia64; then
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib'
+ _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
+ _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
+ else
+ # Determine the default libpath from the value encoded in an
+ # empty executable.
+ _LT_SYS_MODULE_PATH_AIX([$1])
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
+ # Warning - without using the other run time loading flags,
+ # -berok will link without error, but may produce a broken library.
+ _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok'
+ _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok'
+ if test "$with_gnu_ld" = yes; then
+ # We only use this code for GNU lds that support --whole-archive.
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
+ else
+ # Exported symbols can be pulled into shared objects from archives
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
+ fi
+ _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
+ # This is similar to how AIX traditionally builds its shared libraries.
+ _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
+ fi
+ fi
+ ;;
+
+ amigaos*)
+ case $host_cpu in
+ powerpc)
+ # see comment about AmigaOS4 .so support
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)=''
+ ;;
+ m68k)
+ _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+ _LT_TAGVAR(hardcode_minus_L, $1)=yes
+ ;;
+ esac
+ ;;
+
+ bsdi[[45]]*)
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic
+ ;;
+
+ cygwin* | mingw* | pw32* | cegcc*)
+ # When not using gcc, we currently assume that we are using
+ # Microsoft Visual C++.
+ # hardcode_libdir_flag_spec is actually meaningless, as there is
+ # no search path for DLLs.
+ case $cc_basename in
+ cl*)
+ # Native MSVC
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
+ _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
+ _LT_TAGVAR(always_export_symbols, $1)=yes
+ _LT_TAGVAR(file_list_spec, $1)='@'
+ # Tell ltmain to make .lib files, not .a files.
+ libext=lib
+ # Tell ltmain to make .dll files, not .so files.
+ shrext_cmds=".dll"
+ # FIXME: Setting linknames here is a bad hack.
+ _LT_TAGVAR(archive_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-dll~linknames='
+ _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
+ sed -n -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' -e '1\\\!p' < $export_symbols > $output_objdir/$soname.exp;
+ else
+ sed -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' < $export_symbols > $output_objdir/$soname.exp;
+ fi~
+ $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~
+ linknames='
+ # The linker will not automatically build a static lib if we build a DLL.
+ # _LT_TAGVAR(old_archive_from_new_cmds, $1)='true'
+ _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
+ _LT_TAGVAR(exclude_expsyms, $1)='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*'
+ _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1,DATA/'\'' | $SED -e '\''/^[[AITW]][[ ]]/s/.*[[ ]]//'\'' | sort | uniq > $export_symbols'
+ # Don't use ranlib
+ _LT_TAGVAR(old_postinstall_cmds, $1)='chmod 644 $oldlib'
+ _LT_TAGVAR(postlink_cmds, $1)='lt_outputfile="@OUTPUT@"~
+ lt_tool_outputfile="@TOOL_OUTPUT@"~
+ case $lt_outputfile in
+ *.exe|*.EXE) ;;
+ *)
+ lt_outputfile="$lt_outputfile.exe"
+ lt_tool_outputfile="$lt_tool_outputfile.exe"
+ ;;
+ esac~
+ if test "$MANIFEST_TOOL" != ":" && test -f "$lt_outputfile.manifest"; then
+ $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1;
+ $RM "$lt_outputfile.manifest";
+ fi'
+ ;;
+ *)
+ # Assume MSVC wrapper
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
+ _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
+ # Tell ltmain to make .lib files, not .a files.
+ libext=lib
+ # Tell ltmain to make .dll files, not .so files.
+ shrext_cmds=".dll"
+ # FIXME: Setting linknames here is a bad hack.
+ _LT_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames='
+ # The linker will automatically build a .lib file if we build a DLL.
+ _LT_TAGVAR(old_archive_from_new_cmds, $1)='true'
+ # FIXME: Should let the user specify the lib program.
+ _LT_TAGVAR(old_archive_cmds, $1)='lib -OUT:$oldlib$oldobjs$old_deplibs'
+ _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
+ ;;
+ esac
+ ;;
+
+ darwin* | rhapsody*)
+ _LT_DARWIN_LINKER_FEATURES($1)
+ ;;
+
+ dgux*)
+ _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ ;;
+
+ # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
+ # support. Future versions do this automatically, but an explicit c++rt0.o
+ # does not break anything, and helps significantly (at the cost of a little
+ # extra space).
+ freebsd2.2*)
+ _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+ _LT_TAGVAR(hardcode_direct, $1)=yes
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ ;;
+
+ # Unfortunately, older versions of FreeBSD 2 do not have this feature.
+ freebsd2.*)
+ _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+ _LT_TAGVAR(hardcode_direct, $1)=yes
+ _LT_TAGVAR(hardcode_minus_L, $1)=yes
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ ;;
+
+ # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
+ freebsd* | dragonfly*)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+ _LT_TAGVAR(hardcode_direct, $1)=yes
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ ;;
+
+ hpux9*)
+ if test "$GCC" = yes; then
+ _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared $pic_flag ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+ else
+ _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+ fi
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+ _LT_TAGVAR(hardcode_direct, $1)=yes
+
+ # hardcode_minus_L: Not really in the search PATH,
+ # but as the default location of the library.
+ _LT_TAGVAR(hardcode_minus_L, $1)=yes
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+ ;;
+
+ hpux10*)
+ if test "$GCC" = yes && test "$with_gnu_ld" = no; then
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+ else
+ _LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
+ fi
+ if test "$with_gnu_ld" = no; then
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+ _LT_TAGVAR(hardcode_direct, $1)=yes
+ _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+ # hardcode_minus_L: Not really in the search PATH,
+ # but as the default location of the library.
+ _LT_TAGVAR(hardcode_minus_L, $1)=yes
+ fi
+ ;;
+
+ hpux11*)
+ if test "$GCC" = yes && test "$with_gnu_ld" = no; then
+ case $host_cpu in
+ hppa*64*)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ ia64*)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ *)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ esac
+ else
+ case $host_cpu in
+ hppa*64*)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ ia64*)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ *)
+ m4_if($1, [], [
+ # Older versions of the 11.00 compiler do not understand -b yet
+ # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does)
+ _LT_LINKER_OPTION([if $CC understands -b],
+ _LT_TAGVAR(lt_cv_prog_compiler__b, $1), [-b],
+ [_LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'],
+ [_LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'])],
+ [_LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'])
+ ;;
+ esac
+ fi
+ if test "$with_gnu_ld" = no; then
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+
+ case $host_cpu in
+ hppa*64*|ia64*)
+ _LT_TAGVAR(hardcode_direct, $1)=no
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ ;;
+ *)
+ _LT_TAGVAR(hardcode_direct, $1)=yes
+ _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+
+ # hardcode_minus_L: Not really in the search PATH,
+ # but as the default location of the library.
+ _LT_TAGVAR(hardcode_minus_L, $1)=yes
+ ;;
+ esac
+ fi
+ ;;
+
+ irix5* | irix6* | nonstopux*)
+ if test "$GCC" = yes; then
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ # Try to use the -exported_symbol ld option, if it does not
+ # work, assume that -exports_file does not work either and
+ # implicitly export all symbols.
+ # This should be the same for all languages, so no per-tag cache variable.
+ AC_CACHE_CHECK([whether the $host_os linker accepts -exported_symbol],
+ [lt_cv_irix_exported_symbol],
+ [save_LDFLAGS="$LDFLAGS"
+ LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null"
+ AC_LINK_IFELSE(
+ [AC_LANG_SOURCE(
+ [AC_LANG_CASE([C], [[int foo (void) { return 0; }]],
+ [C++], [[int foo (void) { return 0; }]],
+ [Fortran 77], [[
+ subroutine foo
+ end]],
+ [Fortran], [[
+ subroutine foo
+ end]])])],
+ [lt_cv_irix_exported_symbol=yes],
+ [lt_cv_irix_exported_symbol=no])
+ LDFLAGS="$save_LDFLAGS"])
+ if test "$lt_cv_irix_exported_symbol" = yes; then
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib'
+ fi
+ else
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib'
+ fi
+ _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+ _LT_TAGVAR(inherit_rpath, $1)=yes
+ _LT_TAGVAR(link_all_deplibs, $1)=yes
+ ;;
+
+ netbsd*)
+ if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
+ _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out
+ else
+ _LT_TAGVAR(archive_cmds, $1)='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF
+ fi
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+ _LT_TAGVAR(hardcode_direct, $1)=yes
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ ;;
+
+ newsos6)
+ _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ _LT_TAGVAR(hardcode_direct, $1)=yes
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ ;;
+
+ *nto* | *qnx*)
+ ;;
+
+ openbsd*)
+ if test -f /usr/libexec/ld.so; then
+ _LT_TAGVAR(hardcode_direct, $1)=yes
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
+ if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+ else
+ case $host_os in
+ openbsd[[01]].* | openbsd2.[[0-7]] | openbsd2.[[0-7]].*)
+ _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+ ;;
+ *)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+ ;;
+ esac
+ fi
+ else
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ fi
+ ;;
+
+ os2*)
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+ _LT_TAGVAR(hardcode_minus_L, $1)=yes
+ _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
+ _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~echo DATA >> $output_objdir/$libname.def~echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def'
+ _LT_TAGVAR(old_archive_from_new_cmds, $1)='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
+ ;;
+
+ osf3*)
+ if test "$GCC" = yes; then
+ _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ else
+ _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
+ fi
+ _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+ ;;
+
+ osf4* | osf5*) # as osf3* with the addition of -msym flag
+ if test "$GCC" = yes; then
+ _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $pic_flag $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+ else
+ _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~
+ $CC -shared${allow_undefined_flag} ${wl}-input ${wl}$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib~$RM $lib.exp'
+
+ # Both c and cxx compiler support -rpath directly
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
+ fi
+ _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+ ;;
+
+ solaris*)
+ _LT_TAGVAR(no_undefined_flag, $1)=' -z defs'
+ if test "$GCC" = yes; then
+ wlarc='${wl}'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+ $CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
+ else
+ case `$CC -V 2>&1` in
+ *"Compilers 5.0"*)
+ wlarc=''
+ _LT_TAGVAR(archive_cmds, $1)='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+ $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp'
+ ;;
+ *)
+ wlarc='${wl}'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+ $CC -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
+ ;;
+ esac
+ fi
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ case $host_os in
+ solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
+ *)
+ # The compiler driver will combine and reorder linker options,
+ # but understands `-z linker_flag'. GCC discards it without `$wl',
+ # but is careful enough not to reorder.
+ # Supported since Solaris 2.6 (maybe 2.5.1?)
+ if test "$GCC" = yes; then
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
+ else
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract'
+ fi
+ ;;
+ esac
+ _LT_TAGVAR(link_all_deplibs, $1)=yes
+ ;;
+
+ sunos4*)
+ if test "x$host_vendor" = xsequent; then
+ # Use $CC to link under sequent, because it throws in some extra .o
+ # files that make .init and .fini sections work.
+ _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags'
+ else
+ _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
+ fi
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+ _LT_TAGVAR(hardcode_direct, $1)=yes
+ _LT_TAGVAR(hardcode_minus_L, $1)=yes
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ ;;
+
+ sysv4)
+ case $host_vendor in
+ sni)
+ _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ _LT_TAGVAR(hardcode_direct, $1)=yes # is this really true???
+ ;;
+ siemens)
+ ## LD is ld it makes a PLAMLIB
+ ## CC just makes a GrossModule.
+ _LT_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags'
+ _LT_TAGVAR(reload_cmds, $1)='$CC -r -o $output$reload_objs'
+ _LT_TAGVAR(hardcode_direct, $1)=no
+ ;;
+ motorola)
+ _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ _LT_TAGVAR(hardcode_direct, $1)=no #Motorola manual says yes, but my tests say they lie
+ ;;
+ esac
+ runpath_var='LD_RUN_PATH'
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ ;;
+
+ sysv4.3*)
+ _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='-Bexport'
+ ;;
+
+ sysv4*MP*)
+ if test -d /usr/nec; then
+ _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ runpath_var=LD_RUN_PATH
+ hardcode_runpath_var=yes
+ _LT_TAGVAR(ld_shlibs, $1)=yes
+ fi
+ ;;
+
+ sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*)
+ _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
+ _LT_TAGVAR(archive_cmds_need_lc, $1)=no
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ runpath_var='LD_RUN_PATH'
+
+ if test "$GCC" = yes; then
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ else
+ _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ fi
+ ;;
+
+ sysv5* | sco3.2v5* | sco5v6*)
+ # Note: We can NOT use -z defs as we might desire, because we do not
+ # link with -lc, and that would cause any symbols used from libc to
+ # always be unresolved, which means just about no library would
+ # ever link correctly. If we're not using GNU ld we use -z text
+ # though, which does catch some bad symbols but isn't as heavy-handed
+ # as -z defs.
+ _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
+ _LT_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs'
+ _LT_TAGVAR(archive_cmds_need_lc, $1)=no
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R,$libdir'
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
+ _LT_TAGVAR(link_all_deplibs, $1)=yes
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport'
+ runpath_var='LD_RUN_PATH'
+
+ if test "$GCC" = yes; then
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ else
+ _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ fi
+ ;;
+
+ uts4*)
+ _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ ;;
+
+ *)
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ esac
+
+ if test x$host_vendor = xsni; then
+ case $host in
+ sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Blargedynsym'
+ ;;
+ esac
+ fi
+ fi
+])
+AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)])
+test "$_LT_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no
+
+_LT_TAGVAR(with_gnu_ld, $1)=$with_gnu_ld
+
+_LT_DECL([], [libext], [0], [Old archive suffix (normally "a")])dnl
+_LT_DECL([], [shrext_cmds], [1], [Shared library suffix (normally ".so")])dnl
+_LT_DECL([], [extract_expsyms_cmds], [2],
+ [The commands to extract the exported symbol list from a shared archive])
+
+#
+# Do we need to explicitly link libc?
+#
+case "x$_LT_TAGVAR(archive_cmds_need_lc, $1)" in
+x|xyes)
+ # Assume -lc should be added
+ _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
+
+ if test "$enable_shared" = yes && test "$GCC" = yes; then
+ case $_LT_TAGVAR(archive_cmds, $1) in
+ *'~'*)
+ # FIXME: we may have to deal with multi-command sequences.
+ ;;
+ '$CC '*)
+ # Test whether the compiler implicitly links with -lc since on some
+ # systems, -lgcc has to come before -lc. If gcc already passes -lc
+ # to ld, don't add -lc before -lgcc.
+ AC_CACHE_CHECK([whether -lc should be explicitly linked in],
+ [lt_cv_]_LT_TAGVAR(archive_cmds_need_lc, $1),
+ [$RM conftest*
+ echo "$lt_simple_compile_test_code" > conftest.$ac_ext
+
+ if AC_TRY_EVAL(ac_compile) 2>conftest.err; then
+ soname=conftest
+ lib=conftest
+ libobjs=conftest.$ac_objext
+ deplibs=
+ wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1)
+ pic_flag=$_LT_TAGVAR(lt_prog_compiler_pic, $1)
+ compiler_flags=-v
+ linker_flags=-v
+ verstring=
+ output_objdir=.
+ libname=conftest
+ lt_save_allow_undefined_flag=$_LT_TAGVAR(allow_undefined_flag, $1)
+ _LT_TAGVAR(allow_undefined_flag, $1)=
+ if AC_TRY_EVAL(_LT_TAGVAR(archive_cmds, $1) 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1)
+ then
+ lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)=no
+ else
+ lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)=yes
+ fi
+ _LT_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag
+ else
+ cat conftest.err 1>&5
+ fi
+ $RM conftest*
+ ])
+ _LT_TAGVAR(archive_cmds_need_lc, $1)=$lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)
+ ;;
+ esac
+ fi
+ ;;
+esac
+
+_LT_TAGDECL([build_libtool_need_lc], [archive_cmds_need_lc], [0],
+ [Whether or not to add -lc for building shared libraries])
+_LT_TAGDECL([allow_libtool_libs_with_static_runtimes],
+ [enable_shared_with_static_runtimes], [0],
+ [Whether or not to disallow shared libs when runtime libs are static])
+_LT_TAGDECL([], [export_dynamic_flag_spec], [1],
+ [Compiler flag to allow reflexive dlopens])
+_LT_TAGDECL([], [whole_archive_flag_spec], [1],
+ [Compiler flag to generate shared objects directly from archives])
+_LT_TAGDECL([], [compiler_needs_object], [1],
+ [Whether the compiler copes with passing no objects directly])
+_LT_TAGDECL([], [old_archive_from_new_cmds], [2],
+ [Create an old-style archive from a shared archive])
+_LT_TAGDECL([], [old_archive_from_expsyms_cmds], [2],
+ [Create a temporary old-style archive to link instead of a shared archive])
+_LT_TAGDECL([], [archive_cmds], [2], [Commands used to build a shared archive])
+_LT_TAGDECL([], [archive_expsym_cmds], [2])
+_LT_TAGDECL([], [module_cmds], [2],
+ [Commands used to build a loadable module if different from building
+ a shared archive.])
+_LT_TAGDECL([], [module_expsym_cmds], [2])
+_LT_TAGDECL([], [with_gnu_ld], [1],
+ [Whether we are building with GNU ld or not])
+_LT_TAGDECL([], [allow_undefined_flag], [1],
+ [Flag that allows shared libraries with undefined symbols to be built])
+_LT_TAGDECL([], [no_undefined_flag], [1],
+ [Flag that enforces no undefined symbols])
+_LT_TAGDECL([], [hardcode_libdir_flag_spec], [1],
+ [Flag to hardcode $libdir into a binary during linking.
+ This must work even if $libdir does not exist])
+_LT_TAGDECL([], [hardcode_libdir_separator], [1],
+ [Whether we need a single "-rpath" flag with a separated argument])
+_LT_TAGDECL([], [hardcode_direct], [0],
+ [Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes
+ DIR into the resulting binary])
+_LT_TAGDECL([], [hardcode_direct_absolute], [0],
+ [Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes
+ DIR into the resulting binary and the resulting library dependency is
+ "absolute", i.e impossible to change by setting ${shlibpath_var} if the
+ library is relocated])
+_LT_TAGDECL([], [hardcode_minus_L], [0],
+ [Set to "yes" if using the -LDIR flag during linking hardcodes DIR
+ into the resulting binary])
+_LT_TAGDECL([], [hardcode_shlibpath_var], [0],
+ [Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR
+ into the resulting binary])
+_LT_TAGDECL([], [hardcode_automatic], [0],
+ [Set to "yes" if building a shared library automatically hardcodes DIR
+ into the library and all subsequent libraries and executables linked
+ against it])
+_LT_TAGDECL([], [inherit_rpath], [0],
+ [Set to yes if linker adds runtime paths of dependent libraries
+ to runtime path list])
+_LT_TAGDECL([], [link_all_deplibs], [0],
+ [Whether libtool must link a program against all its dependency libraries])
+_LT_TAGDECL([], [always_export_symbols], [0],
+ [Set to "yes" if exported symbols are required])
+_LT_TAGDECL([], [export_symbols_cmds], [2],
+ [The commands to list exported symbols])
+_LT_TAGDECL([], [exclude_expsyms], [1],
+ [Symbols that should not be listed in the preloaded symbols])
+_LT_TAGDECL([], [include_expsyms], [1],
+ [Symbols that must always be exported])
+_LT_TAGDECL([], [prelink_cmds], [2],
+ [Commands necessary for linking programs (against libraries) with templates])
+_LT_TAGDECL([], [postlink_cmds], [2],
+ [Commands necessary for finishing linking programs])
+_LT_TAGDECL([], [file_list_spec], [1],
+ [Specify filename containing input files])
+dnl FIXME: Not yet implemented
+dnl _LT_TAGDECL([], [thread_safe_flag_spec], [1],
+dnl [Compiler flag to generate thread safe objects])
+])# _LT_LINKER_SHLIBS
+
+
+# _LT_LANG_C_CONFIG([TAG])
+# ------------------------
+# Ensure that the configuration variables for a C compiler are suitably
+# defined. These variables are subsequently used by _LT_CONFIG to write
+# the compiler configuration to `libtool'.
+m4_defun([_LT_LANG_C_CONFIG],
+[m4_require([_LT_DECL_EGREP])dnl
+lt_save_CC="$CC"
+AC_LANG_PUSH(C)
+
+# Source file extension for C test sources.
+ac_ext=c
+
+# Object file extension for compiled C test sources.
+objext=o
+_LT_TAGVAR(objext, $1)=$objext
+
+# Code to be used in simple compile tests
+lt_simple_compile_test_code="int some_variable = 0;"
+
+# Code to be used in simple link tests
+lt_simple_link_test_code='int main(){return(0);}'
+
+_LT_TAG_COMPILER
+# Save the default compiler, since it gets overwritten when the other
+# tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP.
+compiler_DEFAULT=$CC
+
+# save warnings/boilerplate of simple test code
+_LT_COMPILER_BOILERPLATE
+_LT_LINKER_BOILERPLATE
+
+## CAVEAT EMPTOR:
+## There is no encapsulation within the following macros, do not change
+## the running order or otherwise move them around unless you know exactly
+## what you are doing...
+if test -n "$compiler"; then
+ _LT_COMPILER_NO_RTTI($1)
+ _LT_COMPILER_PIC($1)
+ _LT_COMPILER_C_O($1)
+ _LT_COMPILER_FILE_LOCKS($1)
+ _LT_LINKER_SHLIBS($1)
+ _LT_SYS_DYNAMIC_LINKER($1)
+ _LT_LINKER_HARDCODE_LIBPATH($1)
+ LT_SYS_DLOPEN_SELF
+ _LT_CMD_STRIPLIB
+
+ # Report which library types will actually be built
+ AC_MSG_CHECKING([if libtool supports shared libraries])
+ AC_MSG_RESULT([$can_build_shared])
+
+ AC_MSG_CHECKING([whether to build shared libraries])
+ test "$can_build_shared" = "no" && enable_shared=no
+
+ # On AIX, shared libraries and static libraries use the same namespace, and
+ # are all built from PIC.
+ case $host_os in
+ aix3*)
+ test "$enable_shared" = yes && enable_static=no
+ if test -n "$RANLIB"; then
+ archive_cmds="$archive_cmds~\$RANLIB \$lib"
+ postinstall_cmds='$RANLIB $lib'
+ fi
+ ;;
+
+ aix[[4-9]]*)
+ if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
+ test "$enable_shared" = yes && enable_static=no
+ fi
+ ;;
+ esac
+ AC_MSG_RESULT([$enable_shared])
+
+ AC_MSG_CHECKING([whether to build static libraries])
+ # Make sure either enable_shared or enable_static is yes.
+ test "$enable_shared" = yes || enable_static=yes
+ AC_MSG_RESULT([$enable_static])
+
+ _LT_CONFIG($1)
+fi
+AC_LANG_POP
+CC="$lt_save_CC"
+])# _LT_LANG_C_CONFIG
+
+
+# _LT_LANG_CXX_CONFIG([TAG])
+# --------------------------
+# Ensure that the configuration variables for a C++ compiler are suitably
+# defined. These variables are subsequently used by _LT_CONFIG to write
+# the compiler configuration to `libtool'.
+m4_defun([_LT_LANG_CXX_CONFIG],
+[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+m4_require([_LT_DECL_EGREP])dnl
+m4_require([_LT_PATH_MANIFEST_TOOL])dnl
+case "$CXX" in
+ "" | no)
+ _lt_caught_CXX_error=yes
+ ;;
+ g++* | *-g++*)
+ if $CXX -v >/dev/null 2>&1; then
+ AC_PROG_CXXCPP
+ else
+ _lt_caught_CXX_error=yes
+ fi
+ ;;
+ *)
+ AC_PROG_CXXCPP
+ ;;
+esac
+
+AC_LANG_PUSH(C++)
+_LT_TAGVAR(archive_cmds_need_lc, $1)=no
+_LT_TAGVAR(allow_undefined_flag, $1)=
+_LT_TAGVAR(always_export_symbols, $1)=no
+_LT_TAGVAR(archive_expsym_cmds, $1)=
+_LT_TAGVAR(compiler_needs_object, $1)=no
+_LT_TAGVAR(export_dynamic_flag_spec, $1)=
+_LT_TAGVAR(hardcode_direct, $1)=no
+_LT_TAGVAR(hardcode_direct_absolute, $1)=no
+_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
+_LT_TAGVAR(hardcode_libdir_separator, $1)=
+_LT_TAGVAR(hardcode_minus_L, $1)=no
+_LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
+_LT_TAGVAR(hardcode_automatic, $1)=no
+_LT_TAGVAR(inherit_rpath, $1)=no
+_LT_TAGVAR(module_cmds, $1)=
+_LT_TAGVAR(module_expsym_cmds, $1)=
+_LT_TAGVAR(link_all_deplibs, $1)=unknown
+_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
+_LT_TAGVAR(reload_flag, $1)=$reload_flag
+_LT_TAGVAR(reload_cmds, $1)=$reload_cmds
+_LT_TAGVAR(no_undefined_flag, $1)=
+_LT_TAGVAR(whole_archive_flag_spec, $1)=
+_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
+
+# Source file extension for C++ test sources.
+ac_ext=cpp
+
+# Object file extension for compiled C++ test sources.
+objext=o
+_LT_TAGVAR(objext, $1)=$objext
+
+# No sense in running all these tests if we already determined that
+# the CXX compiler isn't working. Some variables (like enable_shared)
+# are currently assumed to apply to all compilers on this platform,
+# and will be corrupted by setting them based on a non-working compiler.
+if test "$_lt_caught_CXX_error" != yes; then
+ # Code to be used in simple compile tests
+ lt_simple_compile_test_code="int some_variable = 0;"
+
+ # Code to be used in simple link tests
+ lt_simple_link_test_code='int main(int, char *[[]]) { return(0); }'
+
+ # ltmain only uses $CC for tagged configurations so make sure $CC is set.
+ _LT_TAG_COMPILER
+
+ # save warnings/boilerplate of simple test code
+ _LT_COMPILER_BOILERPLATE
+ _LT_LINKER_BOILERPLATE
+
+ # Allow CC to be a program name with arguments.
+ lt_save_CC=$CC
+ lt_save_CFLAGS=$CFLAGS
+ lt_save_LD=$LD
+ lt_save_GCC=$GCC
+ GCC=$GXX
+ lt_save_with_gnu_ld=$with_gnu_ld
+ lt_save_path_LD=$lt_cv_path_LD
+ if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then
+ lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx
+ else
+ $as_unset lt_cv_prog_gnu_ld
+ fi
+ if test -n "${lt_cv_path_LDCXX+set}"; then
+ lt_cv_path_LD=$lt_cv_path_LDCXX
+ else
+ $as_unset lt_cv_path_LD
+ fi
+ test -z "${LDCXX+set}" || LD=$LDCXX
+ CC=${CXX-"c++"}
+ CFLAGS=$CXXFLAGS
+ compiler=$CC
+ _LT_TAGVAR(compiler, $1)=$CC
+ _LT_CC_BASENAME([$compiler])
+
+ if test -n "$compiler"; then
+ # We don't want -fno-exception when compiling C++ code, so set the
+ # no_builtin_flag separately
+ if test "$GXX" = yes; then
+ _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin'
+ else
+ _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
+ fi
+
+ if test "$GXX" = yes; then
+ # Set up default GNU C++ configuration
+
+ LT_PATH_LD
+
+ # Check if GNU C++ uses GNU ld as the underlying linker, since the
+ # archiving commands below assume that GNU ld is being used.
+ if test "$with_gnu_ld" = yes; then
+ _LT_TAGVAR(archive_cmds, $1)='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
+
+ # If archive_cmds runs LD, not CC, wlarc should be empty
+ # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to
+ # investigate it a little bit more. (MM)
+ wlarc='${wl}'
+
+ # ancient GNU ld didn't support --whole-archive et. al.
+ if eval "`$CC -print-prog-name=ld` --help 2>&1" |
+ $GREP 'no-whole-archive' > /dev/null; then
+ _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
+ else
+ _LT_TAGVAR(whole_archive_flag_spec, $1)=
+ fi
+ else
+ with_gnu_ld=no
+ wlarc=
+
+ # A generic and very simple default shared library creation
+ # command for GNU C++ for the case where it uses the native
+ # linker, instead of GNU ld. If possible, this setting should
+ # overridden to take advantage of the native linker features on
+ # the platform it is being used on.
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
+ fi
+
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
+
+ else
+ GXX=no
+ with_gnu_ld=no
+ wlarc=
+ fi
+
+ # PORTME: fill in a description of your system's C++ link characteristics
+ AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
+ _LT_TAGVAR(ld_shlibs, $1)=yes
+ case $host_os in
+ aix3*)
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ aix[[4-9]]*)
+ if test "$host_cpu" = ia64; then
+ # On IA64, the linker does run time linking by default, so we don't
+ # have to do anything special.
+ aix_use_runtimelinking=no
+ exp_sym_flag='-Bexport'
+ no_entry_flag=""
+ else
+ aix_use_runtimelinking=no
+
+ # Test if we are trying to use run time linking or normal
+ # AIX style linking. If -brtl is somewhere in LDFLAGS, we
+ # need to do runtime linking.
+ case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*)
+ for ld_flag in $LDFLAGS; do
+ case $ld_flag in
+ *-brtl*)
+ aix_use_runtimelinking=yes
+ break
+ ;;
+ esac
+ done
+ ;;
+ esac
+
+ exp_sym_flag='-bexport'
+ no_entry_flag='-bnoentry'
+ fi
+
+ # When large executables or shared objects are built, AIX ld can
+ # have problems creating the table of contents. If linking a library
+ # or program results in "error TOC overflow" add -mminimal-toc to
+ # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not
+ # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
+
+ _LT_TAGVAR(archive_cmds, $1)=''
+ _LT_TAGVAR(hardcode_direct, $1)=yes
+ _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
+ _LT_TAGVAR(link_all_deplibs, $1)=yes
+ _LT_TAGVAR(file_list_spec, $1)='${wl}-f,'
+
+ if test "$GXX" = yes; then
+ case $host_os in aix4.[[012]]|aix4.[[012]].*)
+ # We only want to do this on AIX 4.2 and lower, the check
+ # below for broken collect2 doesn't work under 4.3+
+ collect2name=`${CC} -print-prog-name=collect2`
+ if test -f "$collect2name" &&
+ strings "$collect2name" | $GREP resolve_lib_name >/dev/null
+ then
+ # We have reworked collect2
+ :
+ else
+ # We have old collect2
+ _LT_TAGVAR(hardcode_direct, $1)=unsupported
+ # It fails to find uninstalled libraries when the uninstalled
+ # path is not listed in the libpath. Setting hardcode_minus_L
+ # to unsupported forces relinking
+ _LT_TAGVAR(hardcode_minus_L, $1)=yes
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=
+ fi
+ esac
+ shared_flag='-shared'
+ if test "$aix_use_runtimelinking" = yes; then
+ shared_flag="$shared_flag "'${wl}-G'
+ fi
+ else
+ # not using gcc
+ if test "$host_cpu" = ia64; then
+ # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
+ # chokes on -Wl,-G. The following line is correct:
+ shared_flag='-G'
+ else
+ if test "$aix_use_runtimelinking" = yes; then
+ shared_flag='${wl}-G'
+ else
+ shared_flag='${wl}-bM:SRE'
+ fi
+ fi
+ fi
+
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-bexpall'
+ # It seems that -bexpall does not export symbols beginning with
+ # underscore (_), so it is better to generate a list of symbols to
+ # export.
+ _LT_TAGVAR(always_export_symbols, $1)=yes
+ if test "$aix_use_runtimelinking" = yes; then
+ # Warning - without using the other runtime loading flags (-brtl),
+ # -berok will link without error, but may produce a broken library.
+ _LT_TAGVAR(allow_undefined_flag, $1)='-berok'
+ # Determine the default libpath from the value encoded in an empty
+ # executable.
+ _LT_SYS_MODULE_PATH_AIX([$1])
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
+
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
+ else
+ if test "$host_cpu" = ia64; then
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib'
+ _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
+ _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
+ else
+ # Determine the default libpath from the value encoded in an
+ # empty executable.
+ _LT_SYS_MODULE_PATH_AIX([$1])
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
+ # Warning - without using the other run time loading flags,
+ # -berok will link without error, but may produce a broken library.
+ _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok'
+ _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok'
+ if test "$with_gnu_ld" = yes; then
+ # We only use this code for GNU lds that support --whole-archive.
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
+ else
+ # Exported symbols can be pulled into shared objects from archives
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
+ fi
+ _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
+ # This is similar to how AIX traditionally builds its shared
+ # libraries.
+ _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
+ fi
+ fi
+ ;;
+
+ beos*)
+ if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+ _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
+ # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
+ # support --undefined. This deserves some investigation. FIXME
+ _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ else
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ fi
+ ;;
+
+ chorus*)
+ case $cc_basename in
+ *)
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ esac
+ ;;
+
+ cygwin* | mingw* | pw32* | cegcc*)
+ case $GXX,$cc_basename in
+ ,cl* | no,cl*)
+ # Native MSVC
+ # hardcode_libdir_flag_spec is actually meaningless, as there is
+ # no search path for DLLs.
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
+ _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
+ _LT_TAGVAR(always_export_symbols, $1)=yes
+ _LT_TAGVAR(file_list_spec, $1)='@'
+ # Tell ltmain to make .lib files, not .a files.
+ libext=lib
+ # Tell ltmain to make .dll files, not .so files.
+ shrext_cmds=".dll"
+ # FIXME: Setting linknames here is a bad hack.
+ _LT_TAGVAR(archive_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-dll~linknames='
+ _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
+ $SED -n -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' -e '1\\\!p' < $export_symbols > $output_objdir/$soname.exp;
+ else
+ $SED -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' < $export_symbols > $output_objdir/$soname.exp;
+ fi~
+ $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~
+ linknames='
+ # The linker will not automatically build a static lib if we build a DLL.
+ # _LT_TAGVAR(old_archive_from_new_cmds, $1)='true'
+ _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
+ # Don't use ranlib
+ _LT_TAGVAR(old_postinstall_cmds, $1)='chmod 644 $oldlib'
+ _LT_TAGVAR(postlink_cmds, $1)='lt_outputfile="@OUTPUT@"~
+ lt_tool_outputfile="@TOOL_OUTPUT@"~
+ case $lt_outputfile in
+ *.exe|*.EXE) ;;
+ *)
+ lt_outputfile="$lt_outputfile.exe"
+ lt_tool_outputfile="$lt_tool_outputfile.exe"
+ ;;
+ esac~
+ func_to_tool_file "$lt_outputfile"~
+ if test "$MANIFEST_TOOL" != ":" && test -f "$lt_outputfile.manifest"; then
+ $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1;
+ $RM "$lt_outputfile.manifest";
+ fi'
+ ;;
+ *)
+ # g++
+ # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
+ # as there is no search path for DLLs.
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-all-symbols'
+ _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
+ _LT_TAGVAR(always_export_symbols, $1)=no
+ _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
+
+ if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+ # If the export-symbols file already is a .def file (1st line
+ # is EXPORTS), use it as is; otherwise, prepend...
+ _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
+ cp $export_symbols $output_objdir/$soname.def;
+ else
+ echo EXPORTS > $output_objdir/$soname.def;
+ cat $export_symbols >> $output_objdir/$soname.def;
+ fi~
+ $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+ else
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ fi
+ ;;
+ esac
+ ;;
+ darwin* | rhapsody*)
+ _LT_DARWIN_LINKER_FEATURES($1)
+ ;;
+
+ dgux*)
+ case $cc_basename in
+ ec++*)
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ ghcx*)
+ # Green Hills C++ Compiler
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ *)
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ esac
+ ;;
+
+ freebsd2.*)
+ # C++ shared libraries reported to be fairly broken before
+ # switch to ELF
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+
+ freebsd-elf*)
+ _LT_TAGVAR(archive_cmds_need_lc, $1)=no
+ ;;
+
+ freebsd* | dragonfly*)
+ # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF
+ # conventions
+ _LT_TAGVAR(ld_shlibs, $1)=yes
+ ;;
+
+ gnu*)
+ ;;
+
+ haiku*)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ _LT_TAGVAR(link_all_deplibs, $1)=yes
+ ;;
+
+ hpux9*)
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+ _LT_TAGVAR(hardcode_direct, $1)=yes
+ _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH,
+ # but as the default
+ # location of the library.
+
+ case $cc_basename in
+ CC*)
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ aCC*)
+ _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ #
+ # There doesn't appear to be a way to prevent this compiler from
+ # explicitly linking system object files so we need to strip them
+ # from the output so that they don't get included in the library
+ # dependencies.
+ output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
+ ;;
+ *)
+ if test "$GXX" = yes; then
+ _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared -nostdlib $pic_flag ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+ else
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ fi
+ ;;
+ esac
+ ;;
+
+ hpux10*|hpux11*)
+ if test $with_gnu_ld = no; then
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+
+ case $host_cpu in
+ hppa*64*|ia64*)
+ ;;
+ *)
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+ ;;
+ esac
+ fi
+ case $host_cpu in
+ hppa*64*|ia64*)
+ _LT_TAGVAR(hardcode_direct, $1)=no
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ ;;
+ *)
+ _LT_TAGVAR(hardcode_direct, $1)=yes
+ _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
+ _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH,
+ # but as the default
+ # location of the library.
+ ;;
+ esac
+
+ case $cc_basename in
+ CC*)
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ aCC*)
+ case $host_cpu in
+ hppa*64*)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ ;;
+ ia64*)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ ;;
+ *)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ ;;
+ esac
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ #
+ # There doesn't appear to be a way to prevent this compiler from
+ # explicitly linking system object files so we need to strip them
+ # from the output so that they don't get included in the library
+ # dependencies.
+ output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
+ ;;
+ *)
+ if test "$GXX" = yes; then
+ if test $with_gnu_ld = no; then
+ case $host_cpu in
+ hppa*64*)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ ;;
+ ia64*)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $pic_flag ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ ;;
+ *)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ ;;
+ esac
+ fi
+ else
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ fi
+ ;;
+ esac
+ ;;
+
+ interix[[3-9]]*)
+ _LT_TAGVAR(hardcode_direct, $1)=no
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+ # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
+ # Instead, shared libraries are loaded at an image base (0x10000000 by
+ # default) and relocated if they conflict, which is a slow very memory
+ # consuming and fragmenting process. To avoid this, we pick a random,
+ # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
+ # time. Moving up from 0x10000000 also allows more sbrk(2) space.
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+ ;;
+ irix5* | irix6*)
+ case $cc_basename in
+ CC*)
+ # SGI C++
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
+
+ # Archives containing C++ object files must be created using
+ # "CC -ar", where "CC" is the IRIX C++ compiler. This is
+ # necessary to make sure instantiated templates are included
+ # in the archive.
+ _LT_TAGVAR(old_archive_cmds, $1)='$CC -ar -WR,-u -o $oldlib $oldobjs'
+ ;;
+ *)
+ if test "$GXX" = yes; then
+ if test "$with_gnu_ld" = no; then
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ else
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` -o $lib'
+ fi
+ fi
+ _LT_TAGVAR(link_all_deplibs, $1)=yes
+ ;;
+ esac
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+ _LT_TAGVAR(inherit_rpath, $1)=yes
+ ;;
+
+ linux* | k*bsd*-gnu | kopensolaris*-gnu)
+ case $cc_basename in
+ KCC*)
+ # Kuck and Associates, Inc. (KAI) C++ Compiler
+
+ # KCC will only create a shared library if the output file
+ # ends with ".so" (or ".sl" for HP-UX), so rename the library
+ # to its proper name (with version) after linking.
+ _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib'
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ #
+ # There doesn't appear to be a way to prevent this compiler from
+ # explicitly linking system object files so we need to strip them
+ # from the output so that they don't get included in the library
+ # dependencies.
+ output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | $GREP "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
+
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
+
+ # Archives containing C++ object files must be created using
+ # "CC -Bstatic", where "CC" is the KAI C++ compiler.
+ _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs'
+ ;;
+ icpc* | ecpc* )
+ # Intel C++
+ with_gnu_ld=yes
+ # version 8.0 and above of icpc choke on multiply defined symbols
+ # if we add $predep_objects and $postdep_objects, however 7.1 and
+ # earlier do not add the objects themselves.
+ case `$CC -V 2>&1` in
+ *"Version 7."*)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ ;;
+ *) # Version 8.0 or newer
+ tmp_idyn=
+ case $host_cpu in
+ ia64*) tmp_idyn=' -i_dynamic';;
+ esac
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ ;;
+ esac
+ _LT_TAGVAR(archive_cmds_need_lc, $1)=no
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
+ ;;
+ pgCC* | pgcpp*)
+ # Portland Group C++ compiler
+ case `$CC -V` in
+ *pgCC\ [[1-5]].* | *pgcpp\ [[1-5]].*)
+ _LT_TAGVAR(prelink_cmds, $1)='tpldir=Template.dir~
+ rm -rf $tpldir~
+ $CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~
+ compile_command="$compile_command `find $tpldir -name \*.o | sort | $NL2SP`"'
+ _LT_TAGVAR(old_archive_cmds, $1)='tpldir=Template.dir~
+ rm -rf $tpldir~
+ $CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~
+ $AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | sort | $NL2SP`~
+ $RANLIB $oldlib'
+ _LT_TAGVAR(archive_cmds, $1)='tpldir=Template.dir~
+ rm -rf $tpldir~
+ $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
+ $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='tpldir=Template.dir~
+ rm -rf $tpldir~
+ $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
+ $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib'
+ ;;
+ *) # Version 6 and above use weak symbols
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib'
+ ;;
+ esac
+
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir'
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
+ ;;
+ cxx*)
+ # Compaq C++
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib ${wl}-retain-symbols-file $wl$export_symbols'
+
+ runpath_var=LD_RUN_PATH
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ #
+ # There doesn't appear to be a way to prevent this compiler from
+ # explicitly linking system object files so we need to strip them
+ # from the output so that they don't get included in the library
+ # dependencies.
+ output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "X$list" | $Xsed'
+ ;;
+ xl* | mpixl* | bgxl*)
+ # IBM XL 8.0 on PPC, with GNU ld
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ if test "x$supports_anon_versioning" = xyes; then
+ _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
+ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
+ echo "local: *; };" >> $output_objdir/$libname.ver~
+ $CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
+ fi
+ ;;
+ *)
+ case `$CC -V 2>&1 | sed 5q` in
+ *Sun\ C*)
+ # Sun C++ 5.9
+ _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file ${wl}$export_symbols'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
+ _LT_TAGVAR(compiler_needs_object, $1)=yes
+
+ # Not sure whether something based on
+ # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1
+ # would be better.
+ output_verbose_link_cmd='func_echo_all'
+
+ # Archives containing C++ object files must be created using
+ # "CC -xar", where "CC" is the Sun C++ compiler. This is
+ # necessary to make sure instantiated templates are included
+ # in the archive.
+ _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs'
+ ;;
+ esac
+ ;;
+ esac
+ ;;
+
+ lynxos*)
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+
+ m88k*)
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+
+ mvs*)
+ case $cc_basename in
+ cxx*)
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ *)
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ esac
+ ;;
+
+ netbsd*)
+ if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
+ _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags'
+ wlarc=
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+ _LT_TAGVAR(hardcode_direct, $1)=yes
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ fi
+ # Workaround some broken pre-1.5 toolchains
+ output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"'
+ ;;
+
+ *nto* | *qnx*)
+ _LT_TAGVAR(ld_shlibs, $1)=yes
+ ;;
+
+ openbsd2*)
+ # C++ shared libraries are fairly broken
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+
+ openbsd*)
+ if test -f /usr/libexec/ld.so; then
+ _LT_TAGVAR(hardcode_direct, $1)=yes
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+ if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib'
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+ _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
+ fi
+ output_verbose_link_cmd=func_echo_all
+ else
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ fi
+ ;;
+
+ osf3* | osf4* | osf5*)
+ case $cc_basename in
+ KCC*)
+ # Kuck and Associates, Inc. (KAI) C++ Compiler
+
+ # KCC will only create a shared library if the output file
+ # ends with ".so" (or ".sl" for HP-UX), so rename the library
+ # to its proper name (with version) after linking.
+ _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo "$lib" | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
+
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+
+ # Archives containing C++ object files must be created using
+ # the KAI C++ compiler.
+ case $host in
+ osf3*) _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' ;;
+ *) _LT_TAGVAR(old_archive_cmds, $1)='$CC -o $oldlib $oldobjs' ;;
+ esac
+ ;;
+ RCC*)
+ # Rational C++ 2.4.1
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ cxx*)
+ case $host in
+ osf3*)
+ _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && func_echo_all "${wl}-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+ ;;
+ *)
+ _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~
+ echo "-hidden">> $lib.exp~
+ $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname ${wl}-input ${wl}$lib.exp `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib~
+ $RM $lib.exp'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
+ ;;
+ esac
+
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ #
+ # There doesn't appear to be a way to prevent this compiler from
+ # explicitly linking system object files so we need to strip them
+ # from the output so that they don't get included in the library
+ # dependencies.
+ output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld" | $GREP -v "ld:"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
+ ;;
+ *)
+ if test "$GXX" = yes && test "$with_gnu_ld" = no; then
+ _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
+ case $host in
+ osf3*)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ ;;
+ *)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ ;;
+ esac
+
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
+
+ else
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ fi
+ ;;
+ esac
+ ;;
+
+ psos*)
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+
+ sunos4*)
+ case $cc_basename in
+ CC*)
+ # Sun C++ 4.x
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ lcc*)
+ # Lucid
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ *)
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ esac
+ ;;
+
+ solaris*)
+ case $cc_basename in
+ CC* | sunCC*)
+ # Sun C++ 4.2, 5.x and Centerline C++
+ _LT_TAGVAR(archive_cmds_need_lc,$1)=yes
+ _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+ $CC -G${allow_undefined_flag} ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
+
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ case $host_os in
+ solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
+ *)
+ # The compiler driver will combine and reorder linker options,
+ # but understands `-z linker_flag'.
+ # Supported since Solaris 2.6 (maybe 2.5.1?)
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract'
+ ;;
+ esac
+ _LT_TAGVAR(link_all_deplibs, $1)=yes
+
+ output_verbose_link_cmd='func_echo_all'
+
+ # Archives containing C++ object files must be created using
+ # "CC -xar", where "CC" is the Sun C++ compiler. This is
+ # necessary to make sure instantiated templates are included
+ # in the archive.
+ _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs'
+ ;;
+ gcx*)
+ # Green Hills C++ Compiler
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
+
+ # The C++ compiler must be used to create the archive.
+ _LT_TAGVAR(old_archive_cmds, $1)='$CC $LDFLAGS -archive -o $oldlib $oldobjs'
+ ;;
+ *)
+ # GNU C++ compiler with Solaris linker
+ if test "$GXX" = yes && test "$with_gnu_ld" = no; then
+ _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-z ${wl}defs'
+ if $CC --version | $GREP -v '^2\.7' > /dev/null; then
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+ $CC -shared $pic_flag -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
+
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
+ else
+ # g++ 2.7 appears to require `-G' NOT `-shared' on this
+ # platform.
+ _LT_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+ $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
+
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
+ fi
+
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $wl$libdir'
+ case $host_os in
+ solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
+ *)
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
+ ;;
+ esac
+ fi
+ ;;
+ esac
+ ;;
+
+ sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*)
+ _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
+ _LT_TAGVAR(archive_cmds_need_lc, $1)=no
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ runpath_var='LD_RUN_PATH'
+
+ case $cc_basename in
+ CC*)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ *)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ esac
+ ;;
+
+ sysv5* | sco3.2v5* | sco5v6*)
+ # Note: We can NOT use -z defs as we might desire, because we do not
+ # link with -lc, and that would cause any symbols used from libc to
+ # always be unresolved, which means just about no library would
+ # ever link correctly. If we're not using GNU ld we use -z text
+ # though, which does catch some bad symbols but isn't as heavy-handed
+ # as -z defs.
+ _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
+ _LT_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs'
+ _LT_TAGVAR(archive_cmds_need_lc, $1)=no
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R,$libdir'
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
+ _LT_TAGVAR(link_all_deplibs, $1)=yes
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport'
+ runpath_var='LD_RUN_PATH'
+
+ case $cc_basename in
+ CC*)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(old_archive_cmds, $1)='$CC -Tprelink_objects $oldobjs~
+ '"$_LT_TAGVAR(old_archive_cmds, $1)"
+ _LT_TAGVAR(reload_cmds, $1)='$CC -Tprelink_objects $reload_objs~
+ '"$_LT_TAGVAR(reload_cmds, $1)"
+ ;;
+ *)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ esac
+ ;;
+
+ tandem*)
+ case $cc_basename in
+ NCC*)
+ # NonStop-UX NCC 3.20
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ *)
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ esac
+ ;;
+
+ vxworks*)
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+
+ *)
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ esac
+
+ AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)])
+ test "$_LT_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no
+
+ _LT_TAGVAR(GCC, $1)="$GXX"
+ _LT_TAGVAR(LD, $1)="$LD"
+
+ ## CAVEAT EMPTOR:
+ ## There is no encapsulation within the following macros, do not change
+ ## the running order or otherwise move them around unless you know exactly
+ ## what you are doing...
+ _LT_SYS_HIDDEN_LIBDEPS($1)
+ _LT_COMPILER_PIC($1)
+ _LT_COMPILER_C_O($1)
+ _LT_COMPILER_FILE_LOCKS($1)
+ _LT_LINKER_SHLIBS($1)
+ _LT_SYS_DYNAMIC_LINKER($1)
+ _LT_LINKER_HARDCODE_LIBPATH($1)
+
+ _LT_CONFIG($1)
+ fi # test -n "$compiler"
+
+ CC=$lt_save_CC
+ CFLAGS=$lt_save_CFLAGS
+ LDCXX=$LD
+ LD=$lt_save_LD
+ GCC=$lt_save_GCC
+ with_gnu_ld=$lt_save_with_gnu_ld
+ lt_cv_path_LDCXX=$lt_cv_path_LD
+ lt_cv_path_LD=$lt_save_path_LD
+ lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld
+ lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld
+fi # test "$_lt_caught_CXX_error" != yes
+
+AC_LANG_POP
+])# _LT_LANG_CXX_CONFIG
+
+
+# _LT_FUNC_STRIPNAME_CNF
+# ----------------------
+# func_stripname_cnf prefix suffix name
+# strip PREFIX and SUFFIX off of NAME.
+# PREFIX and SUFFIX must not contain globbing or regex special
+# characters, hashes, percent signs, but SUFFIX may contain a leading
+# dot (in which case that matches only a dot).
+#
+# This function is identical to the (non-XSI) version of func_stripname,
+# except this one can be used by m4 code that may be executed by configure,
+# rather than the libtool script.
+m4_defun([_LT_FUNC_STRIPNAME_CNF],[dnl
+AC_REQUIRE([_LT_DECL_SED])
+AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH])
+func_stripname_cnf ()
+{
+ case ${2} in
+ .*) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%\\\\${2}\$%%"`;;
+ *) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%${2}\$%%"`;;
+ esac
+} # func_stripname_cnf
+])# _LT_FUNC_STRIPNAME_CNF
+
+# _LT_SYS_HIDDEN_LIBDEPS([TAGNAME])
+# ---------------------------------
+# Figure out "hidden" library dependencies from verbose
+# compiler output when linking a shared library.
+# Parse the compiler output and extract the necessary
+# objects, libraries and library flags.
+m4_defun([_LT_SYS_HIDDEN_LIBDEPS],
+[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+AC_REQUIRE([_LT_FUNC_STRIPNAME_CNF])dnl
+# Dependencies to place before and after the object being linked:
+_LT_TAGVAR(predep_objects, $1)=
+_LT_TAGVAR(postdep_objects, $1)=
+_LT_TAGVAR(predeps, $1)=
+_LT_TAGVAR(postdeps, $1)=
+_LT_TAGVAR(compiler_lib_search_path, $1)=
+
+dnl we can't use the lt_simple_compile_test_code here,
+dnl because it contains code intended for an executable,
+dnl not a library. It's possible we should let each
+dnl tag define a new lt_????_link_test_code variable,
+dnl but it's only used here...
+m4_if([$1], [], [cat > conftest.$ac_ext <<_LT_EOF
+int a;
+void foo (void) { a = 0; }
+_LT_EOF
+], [$1], [CXX], [cat > conftest.$ac_ext <<_LT_EOF
+class Foo
+{
+public:
+ Foo (void) { a = 0; }
+private:
+ int a;
+};
+_LT_EOF
+], [$1], [F77], [cat > conftest.$ac_ext <<_LT_EOF
+ subroutine foo
+ implicit none
+ integer*4 a
+ a=0
+ return
+ end
+_LT_EOF
+], [$1], [FC], [cat > conftest.$ac_ext <<_LT_EOF
+ subroutine foo
+ implicit none
+ integer a
+ a=0
+ return
+ end
+_LT_EOF
+], [$1], [GCJ], [cat > conftest.$ac_ext <<_LT_EOF
+public class foo {
+ private int a;
+ public void bar (void) {
+ a = 0;
+ }
+};
+_LT_EOF
+], [$1], [GO], [cat > conftest.$ac_ext <<_LT_EOF
+package foo
+func foo() {
+}
+_LT_EOF
+])
+
+_lt_libdeps_save_CFLAGS=$CFLAGS
+case "$CC $CFLAGS " in #(
+*\ -flto*\ *) CFLAGS="$CFLAGS -fno-lto" ;;
+*\ -fwhopr*\ *) CFLAGS="$CFLAGS -fno-whopr" ;;
+*\ -fuse-linker-plugin*\ *) CFLAGS="$CFLAGS -fno-use-linker-plugin" ;;
+esac
+
+dnl Parse the compiler output and extract the necessary
+dnl objects, libraries and library flags.
+if AC_TRY_EVAL(ac_compile); then
+ # Parse the compiler output and extract the necessary
+ # objects, libraries and library flags.
+
+ # Sentinel used to keep track of whether or not we are before
+ # the conftest object file.
+ pre_test_object_deps_done=no
+
+ for p in `eval "$output_verbose_link_cmd"`; do
+ case ${prev}${p} in
+
+ -L* | -R* | -l*)
+ # Some compilers place space between "-{L,R}" and the path.
+ # Remove the space.
+ if test $p = "-L" ||
+ test $p = "-R"; then
+ prev=$p
+ continue
+ fi
+
+ # Expand the sysroot to ease extracting the directories later.
+ if test -z "$prev"; then
+ case $p in
+ -L*) func_stripname_cnf '-L' '' "$p"; prev=-L; p=$func_stripname_result ;;
+ -R*) func_stripname_cnf '-R' '' "$p"; prev=-R; p=$func_stripname_result ;;
+ -l*) func_stripname_cnf '-l' '' "$p"; prev=-l; p=$func_stripname_result ;;
+ esac
+ fi
+ case $p in
+ =*) func_stripname_cnf '=' '' "$p"; p=$lt_sysroot$func_stripname_result ;;
+ esac
+ if test "$pre_test_object_deps_done" = no; then
+ case ${prev} in
+ -L | -R)
+ # Internal compiler library paths should come after those
+ # provided the user. The postdeps already come after the
+ # user supplied libs so there is no need to process them.
+ if test -z "$_LT_TAGVAR(compiler_lib_search_path, $1)"; then
+ _LT_TAGVAR(compiler_lib_search_path, $1)="${prev}${p}"
+ else
+ _LT_TAGVAR(compiler_lib_search_path, $1)="${_LT_TAGVAR(compiler_lib_search_path, $1)} ${prev}${p}"
+ fi
+ ;;
+ # The "-l" case would never come before the object being
+ # linked, so don't bother handling this case.
+ esac
+ else
+ if test -z "$_LT_TAGVAR(postdeps, $1)"; then
+ _LT_TAGVAR(postdeps, $1)="${prev}${p}"
+ else
+ _LT_TAGVAR(postdeps, $1)="${_LT_TAGVAR(postdeps, $1)} ${prev}${p}"
+ fi
+ fi
+ prev=
+ ;;
+
+ *.lto.$objext) ;; # Ignore GCC LTO objects
+ *.$objext)
+ # This assumes that the test object file only shows up
+ # once in the compiler output.
+ if test "$p" = "conftest.$objext"; then
+ pre_test_object_deps_done=yes
+ continue
+ fi
+
+ if test "$pre_test_object_deps_done" = no; then
+ if test -z "$_LT_TAGVAR(predep_objects, $1)"; then
+ _LT_TAGVAR(predep_objects, $1)="$p"
+ else
+ _LT_TAGVAR(predep_objects, $1)="$_LT_TAGVAR(predep_objects, $1) $p"
+ fi
+ else
+ if test -z "$_LT_TAGVAR(postdep_objects, $1)"; then
+ _LT_TAGVAR(postdep_objects, $1)="$p"
+ else
+ _LT_TAGVAR(postdep_objects, $1)="$_LT_TAGVAR(postdep_objects, $1) $p"
+ fi
+ fi
+ ;;
+
+ *) ;; # Ignore the rest.
+
+ esac
+ done
+
+ # Clean up.
+ rm -f a.out a.exe
+else
+ echo "libtool.m4: error: problem compiling $1 test program"
+fi
+
+$RM -f confest.$objext
+CFLAGS=$_lt_libdeps_save_CFLAGS
+
+# PORTME: override above test on systems where it is broken
+m4_if([$1], [CXX],
+[case $host_os in
+interix[[3-9]]*)
+ # Interix 3.5 installs completely hosed .la files for C++, so rather than
+ # hack all around it, let's just trust "g++" to DTRT.
+ _LT_TAGVAR(predep_objects,$1)=
+ _LT_TAGVAR(postdep_objects,$1)=
+ _LT_TAGVAR(postdeps,$1)=
+ ;;
+
+linux*)
+ case `$CC -V 2>&1 | sed 5q` in
+ *Sun\ C*)
+ # Sun C++ 5.9
+
+ # The more standards-conforming stlport4 library is
+ # incompatible with the Cstd library. Avoid specifying
+ # it if it's in CXXFLAGS. Ignore libCrun as
+ # -library=stlport4 depends on it.
+ case " $CXX $CXXFLAGS " in
+ *" -library=stlport4 "*)
+ solaris_use_stlport4=yes
+ ;;
+ esac
+
+ if test "$solaris_use_stlport4" != yes; then
+ _LT_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun'
+ fi
+ ;;
+ esac
+ ;;
+
+solaris*)
+ case $cc_basename in
+ CC* | sunCC*)
+ # The more standards-conforming stlport4 library is
+ # incompatible with the Cstd library. Avoid specifying
+ # it if it's in CXXFLAGS. Ignore libCrun as
+ # -library=stlport4 depends on it.
+ case " $CXX $CXXFLAGS " in
+ *" -library=stlport4 "*)
+ solaris_use_stlport4=yes
+ ;;
+ esac
+
+ # Adding this requires a known-good setup of shared libraries for
+ # Sun compiler versions before 5.6, else PIC objects from an old
+ # archive will be linked into the output, leading to subtle bugs.
+ if test "$solaris_use_stlport4" != yes; then
+ _LT_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun'
+ fi
+ ;;
+ esac
+ ;;
+esac
+])
+
+case " $_LT_TAGVAR(postdeps, $1) " in
+*" -lc "*) _LT_TAGVAR(archive_cmds_need_lc, $1)=no ;;
+esac
+ _LT_TAGVAR(compiler_lib_search_dirs, $1)=
+if test -n "${_LT_TAGVAR(compiler_lib_search_path, $1)}"; then
+ _LT_TAGVAR(compiler_lib_search_dirs, $1)=`echo " ${_LT_TAGVAR(compiler_lib_search_path, $1)}" | ${SED} -e 's! -L! !g' -e 's!^ !!'`
+fi
+_LT_TAGDECL([], [compiler_lib_search_dirs], [1],
+ [The directories searched by this compiler when creating a shared library])
+_LT_TAGDECL([], [predep_objects], [1],
+ [Dependencies to place before and after the objects being linked to
+ create a shared library])
+_LT_TAGDECL([], [postdep_objects], [1])
+_LT_TAGDECL([], [predeps], [1])
+_LT_TAGDECL([], [postdeps], [1])
+_LT_TAGDECL([], [compiler_lib_search_path], [1],
+ [The library search path used internally by the compiler when linking
+ a shared library])
+])# _LT_SYS_HIDDEN_LIBDEPS
+
+
+# _LT_LANG_F77_CONFIG([TAG])
+# --------------------------
+# Ensure that the configuration variables for a Fortran 77 compiler are
+# suitably defined. These variables are subsequently used by _LT_CONFIG
+# to write the compiler configuration to `libtool'.
+m4_defun([_LT_LANG_F77_CONFIG],
+[AC_LANG_PUSH(Fortran 77)
+if test -z "$F77" || test "X$F77" = "Xno"; then
+ _lt_disable_F77=yes
+fi
+
+_LT_TAGVAR(archive_cmds_need_lc, $1)=no
+_LT_TAGVAR(allow_undefined_flag, $1)=
+_LT_TAGVAR(always_export_symbols, $1)=no
+_LT_TAGVAR(archive_expsym_cmds, $1)=
+_LT_TAGVAR(export_dynamic_flag_spec, $1)=
+_LT_TAGVAR(hardcode_direct, $1)=no
+_LT_TAGVAR(hardcode_direct_absolute, $1)=no
+_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
+_LT_TAGVAR(hardcode_libdir_separator, $1)=
+_LT_TAGVAR(hardcode_minus_L, $1)=no
+_LT_TAGVAR(hardcode_automatic, $1)=no
+_LT_TAGVAR(inherit_rpath, $1)=no
+_LT_TAGVAR(module_cmds, $1)=
+_LT_TAGVAR(module_expsym_cmds, $1)=
+_LT_TAGVAR(link_all_deplibs, $1)=unknown
+_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
+_LT_TAGVAR(reload_flag, $1)=$reload_flag
+_LT_TAGVAR(reload_cmds, $1)=$reload_cmds
+_LT_TAGVAR(no_undefined_flag, $1)=
+_LT_TAGVAR(whole_archive_flag_spec, $1)=
+_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
+
+# Source file extension for f77 test sources.
+ac_ext=f
+
+# Object file extension for compiled f77 test sources.
+objext=o
+_LT_TAGVAR(objext, $1)=$objext
+
+# No sense in running all these tests if we already determined that
+# the F77 compiler isn't working. Some variables (like enable_shared)
+# are currently assumed to apply to all compilers on this platform,
+# and will be corrupted by setting them based on a non-working compiler.
+if test "$_lt_disable_F77" != yes; then
+ # Code to be used in simple compile tests
+ lt_simple_compile_test_code="\
+ subroutine t
+ return
+ end
+"
+
+ # Code to be used in simple link tests
+ lt_simple_link_test_code="\
+ program t
+ end
+"
+
+ # ltmain only uses $CC for tagged configurations so make sure $CC is set.
+ _LT_TAG_COMPILER
+
+ # save warnings/boilerplate of simple test code
+ _LT_COMPILER_BOILERPLATE
+ _LT_LINKER_BOILERPLATE
+
+ # Allow CC to be a program name with arguments.
+ lt_save_CC="$CC"
+ lt_save_GCC=$GCC
+ lt_save_CFLAGS=$CFLAGS
+ CC=${F77-"f77"}
+ CFLAGS=$FFLAGS
+ compiler=$CC
+ _LT_TAGVAR(compiler, $1)=$CC
+ _LT_CC_BASENAME([$compiler])
+ GCC=$G77
+ if test -n "$compiler"; then
+ AC_MSG_CHECKING([if libtool supports shared libraries])
+ AC_MSG_RESULT([$can_build_shared])
+
+ AC_MSG_CHECKING([whether to build shared libraries])
+ test "$can_build_shared" = "no" && enable_shared=no
+
+ # On AIX, shared libraries and static libraries use the same namespace, and
+ # are all built from PIC.
+ case $host_os in
+ aix3*)
+ test "$enable_shared" = yes && enable_static=no
+ if test -n "$RANLIB"; then
+ archive_cmds="$archive_cmds~\$RANLIB \$lib"
+ postinstall_cmds='$RANLIB $lib'
+ fi
+ ;;
+ aix[[4-9]]*)
+ if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
+ test "$enable_shared" = yes && enable_static=no
+ fi
+ ;;
+ esac
+ AC_MSG_RESULT([$enable_shared])
+
+ AC_MSG_CHECKING([whether to build static libraries])
+ # Make sure either enable_shared or enable_static is yes.
+ test "$enable_shared" = yes || enable_static=yes
+ AC_MSG_RESULT([$enable_static])
+
+ _LT_TAGVAR(GCC, $1)="$G77"
+ _LT_TAGVAR(LD, $1)="$LD"
+
+ ## CAVEAT EMPTOR:
+ ## There is no encapsulation within the following macros, do not change
+ ## the running order or otherwise move them around unless you know exactly
+ ## what you are doing...
+ _LT_COMPILER_PIC($1)
+ _LT_COMPILER_C_O($1)
+ _LT_COMPILER_FILE_LOCKS($1)
+ _LT_LINKER_SHLIBS($1)
+ _LT_SYS_DYNAMIC_LINKER($1)
+ _LT_LINKER_HARDCODE_LIBPATH($1)
+
+ _LT_CONFIG($1)
+ fi # test -n "$compiler"
+
+ GCC=$lt_save_GCC
+ CC="$lt_save_CC"
+ CFLAGS="$lt_save_CFLAGS"
+fi # test "$_lt_disable_F77" != yes
+
+AC_LANG_POP
+])# _LT_LANG_F77_CONFIG
+
+
+# _LT_LANG_FC_CONFIG([TAG])
+# -------------------------
+# Ensure that the configuration variables for a Fortran compiler are
+# suitably defined. These variables are subsequently used by _LT_CONFIG
+# to write the compiler configuration to `libtool'.
+m4_defun([_LT_LANG_FC_CONFIG],
+[AC_LANG_PUSH(Fortran)
+
+if test -z "$FC" || test "X$FC" = "Xno"; then
+ _lt_disable_FC=yes
+fi
+
+_LT_TAGVAR(archive_cmds_need_lc, $1)=no
+_LT_TAGVAR(allow_undefined_flag, $1)=
+_LT_TAGVAR(always_export_symbols, $1)=no
+_LT_TAGVAR(archive_expsym_cmds, $1)=
+_LT_TAGVAR(export_dynamic_flag_spec, $1)=
+_LT_TAGVAR(hardcode_direct, $1)=no
+_LT_TAGVAR(hardcode_direct_absolute, $1)=no
+_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
+_LT_TAGVAR(hardcode_libdir_separator, $1)=
+_LT_TAGVAR(hardcode_minus_L, $1)=no
+_LT_TAGVAR(hardcode_automatic, $1)=no
+_LT_TAGVAR(inherit_rpath, $1)=no
+_LT_TAGVAR(module_cmds, $1)=
+_LT_TAGVAR(module_expsym_cmds, $1)=
+_LT_TAGVAR(link_all_deplibs, $1)=unknown
+_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
+_LT_TAGVAR(reload_flag, $1)=$reload_flag
+_LT_TAGVAR(reload_cmds, $1)=$reload_cmds
+_LT_TAGVAR(no_undefined_flag, $1)=
+_LT_TAGVAR(whole_archive_flag_spec, $1)=
+_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
+
+# Source file extension for fc test sources.
+ac_ext=${ac_fc_srcext-f}
+
+# Object file extension for compiled fc test sources.
+objext=o
+_LT_TAGVAR(objext, $1)=$objext
+
+# No sense in running all these tests if we already determined that
+# the FC compiler isn't working. Some variables (like enable_shared)
+# are currently assumed to apply to all compilers on this platform,
+# and will be corrupted by setting them based on a non-working compiler.
+if test "$_lt_disable_FC" != yes; then
+ # Code to be used in simple compile tests
+ lt_simple_compile_test_code="\
+ subroutine t
+ return
+ end
+"
+
+ # Code to be used in simple link tests
+ lt_simple_link_test_code="\
+ program t
+ end
+"
+
+ # ltmain only uses $CC for tagged configurations so make sure $CC is set.
+ _LT_TAG_COMPILER
+
+ # save warnings/boilerplate of simple test code
+ _LT_COMPILER_BOILERPLATE
+ _LT_LINKER_BOILERPLATE
+
+ # Allow CC to be a program name with arguments.
+ lt_save_CC="$CC"
+ lt_save_GCC=$GCC
+ lt_save_CFLAGS=$CFLAGS
+ CC=${FC-"f95"}
+ CFLAGS=$FCFLAGS
+ compiler=$CC
+ GCC=$ac_cv_fc_compiler_gnu
+
+ _LT_TAGVAR(compiler, $1)=$CC
+ _LT_CC_BASENAME([$compiler])
+
+ if test -n "$compiler"; then
+ AC_MSG_CHECKING([if libtool supports shared libraries])
+ AC_MSG_RESULT([$can_build_shared])
+
+ AC_MSG_CHECKING([whether to build shared libraries])
+ test "$can_build_shared" = "no" && enable_shared=no
+
+ # On AIX, shared libraries and static libraries use the same namespace, and
+ # are all built from PIC.
+ case $host_os in
+ aix3*)
+ test "$enable_shared" = yes && enable_static=no
+ if test -n "$RANLIB"; then
+ archive_cmds="$archive_cmds~\$RANLIB \$lib"
+ postinstall_cmds='$RANLIB $lib'
+ fi
+ ;;
+ aix[[4-9]]*)
+ if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
+ test "$enable_shared" = yes && enable_static=no
+ fi
+ ;;
+ esac
+ AC_MSG_RESULT([$enable_shared])
+
+ AC_MSG_CHECKING([whether to build static libraries])
+ # Make sure either enable_shared or enable_static is yes.
+ test "$enable_shared" = yes || enable_static=yes
+ AC_MSG_RESULT([$enable_static])
+
+ _LT_TAGVAR(GCC, $1)="$ac_cv_fc_compiler_gnu"
+ _LT_TAGVAR(LD, $1)="$LD"
+
+ ## CAVEAT EMPTOR:
+ ## There is no encapsulation within the following macros, do not change
+ ## the running order or otherwise move them around unless you know exactly
+ ## what you are doing...
+ _LT_SYS_HIDDEN_LIBDEPS($1)
+ _LT_COMPILER_PIC($1)
+ _LT_COMPILER_C_O($1)
+ _LT_COMPILER_FILE_LOCKS($1)
+ _LT_LINKER_SHLIBS($1)
+ _LT_SYS_DYNAMIC_LINKER($1)
+ _LT_LINKER_HARDCODE_LIBPATH($1)
+
+ _LT_CONFIG($1)
+ fi # test -n "$compiler"
+
+ GCC=$lt_save_GCC
+ CC=$lt_save_CC
+ CFLAGS=$lt_save_CFLAGS
+fi # test "$_lt_disable_FC" != yes
+
+AC_LANG_POP
+])# _LT_LANG_FC_CONFIG
+
+
+# _LT_LANG_GCJ_CONFIG([TAG])
+# --------------------------
+# Ensure that the configuration variables for the GNU Java Compiler compiler
+# are suitably defined. These variables are subsequently used by _LT_CONFIG
+# to write the compiler configuration to `libtool'.
+m4_defun([_LT_LANG_GCJ_CONFIG],
+[AC_REQUIRE([LT_PROG_GCJ])dnl
+AC_LANG_SAVE
+
+# Source file extension for Java test sources.
+ac_ext=java
+
+# Object file extension for compiled Java test sources.
+objext=o
+_LT_TAGVAR(objext, $1)=$objext
+
+# Code to be used in simple compile tests
+lt_simple_compile_test_code="class foo {}"
+
+# Code to be used in simple link tests
+lt_simple_link_test_code='public class conftest { public static void main(String[[]] argv) {}; }'
+
+# ltmain only uses $CC for tagged configurations so make sure $CC is set.
+_LT_TAG_COMPILER
+
+# save warnings/boilerplate of simple test code
+_LT_COMPILER_BOILERPLATE
+_LT_LINKER_BOILERPLATE
+
+# Allow CC to be a program name with arguments.
+lt_save_CC=$CC
+lt_save_CFLAGS=$CFLAGS
+lt_save_GCC=$GCC
+GCC=yes
+CC=${GCJ-"gcj"}
+CFLAGS=$GCJFLAGS
+compiler=$CC
+_LT_TAGVAR(compiler, $1)=$CC
+_LT_TAGVAR(LD, $1)="$LD"
+_LT_CC_BASENAME([$compiler])
+
+# GCJ did not exist at the time GCC didn't implicitly link libc in.
+_LT_TAGVAR(archive_cmds_need_lc, $1)=no
+
+_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
+_LT_TAGVAR(reload_flag, $1)=$reload_flag
+_LT_TAGVAR(reload_cmds, $1)=$reload_cmds
+
+## CAVEAT EMPTOR:
+## There is no encapsulation within the following macros, do not change
+## the running order or otherwise move them around unless you know exactly
+## what you are doing...
+if test -n "$compiler"; then
+ _LT_COMPILER_NO_RTTI($1)
+ _LT_COMPILER_PIC($1)
+ _LT_COMPILER_C_O($1)
+ _LT_COMPILER_FILE_LOCKS($1)
+ _LT_LINKER_SHLIBS($1)
+ _LT_LINKER_HARDCODE_LIBPATH($1)
+
+ _LT_CONFIG($1)
+fi
+
+AC_LANG_RESTORE
+
+GCC=$lt_save_GCC
+CC=$lt_save_CC
+CFLAGS=$lt_save_CFLAGS
+])# _LT_LANG_GCJ_CONFIG
+
+
+# _LT_LANG_GO_CONFIG([TAG])
+# --------------------------
+# Ensure that the configuration variables for the GNU Go compiler
+# are suitably defined. These variables are subsequently used by _LT_CONFIG
+# to write the compiler configuration to `libtool'.
+m4_defun([_LT_LANG_GO_CONFIG],
+[AC_REQUIRE([LT_PROG_GO])dnl
+AC_LANG_SAVE
+
+# Source file extension for Go test sources.
+ac_ext=go
+
+# Object file extension for compiled Go test sources.
+objext=o
+_LT_TAGVAR(objext, $1)=$objext
+
+# Code to be used in simple compile tests
+lt_simple_compile_test_code="package main; func main() { }"
+
+# Code to be used in simple link tests
+lt_simple_link_test_code='package main; func main() { }'
+
+# ltmain only uses $CC for tagged configurations so make sure $CC is set.
+_LT_TAG_COMPILER
+
+# save warnings/boilerplate of simple test code
+_LT_COMPILER_BOILERPLATE
+_LT_LINKER_BOILERPLATE
+
+# Allow CC to be a program name with arguments.
+lt_save_CC=$CC
+lt_save_CFLAGS=$CFLAGS
+lt_save_GCC=$GCC
+GCC=yes
+CC=${GOC-"gccgo"}
+CFLAGS=$GOFLAGS
+compiler=$CC
+_LT_TAGVAR(compiler, $1)=$CC
+_LT_TAGVAR(LD, $1)="$LD"
+_LT_CC_BASENAME([$compiler])
+
+# Go did not exist at the time GCC didn't implicitly link libc in.
+_LT_TAGVAR(archive_cmds_need_lc, $1)=no
+
+_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
+_LT_TAGVAR(reload_flag, $1)=$reload_flag
+_LT_TAGVAR(reload_cmds, $1)=$reload_cmds
+
+## CAVEAT EMPTOR:
+## There is no encapsulation within the following macros, do not change
+## the running order or otherwise move them around unless you know exactly
+## what you are doing...
+if test -n "$compiler"; then
+ _LT_COMPILER_NO_RTTI($1)
+ _LT_COMPILER_PIC($1)
+ _LT_COMPILER_C_O($1)
+ _LT_COMPILER_FILE_LOCKS($1)
+ _LT_LINKER_SHLIBS($1)
+ _LT_LINKER_HARDCODE_LIBPATH($1)
+
+ _LT_CONFIG($1)
+fi
+
+AC_LANG_RESTORE
+
+GCC=$lt_save_GCC
+CC=$lt_save_CC
+CFLAGS=$lt_save_CFLAGS
+])# _LT_LANG_GO_CONFIG
+
+
+# _LT_LANG_RC_CONFIG([TAG])
+# -------------------------
+# Ensure that the configuration variables for the Windows resource compiler
+# are suitably defined. These variables are subsequently used by _LT_CONFIG
+# to write the compiler configuration to `libtool'.
+m4_defun([_LT_LANG_RC_CONFIG],
+[AC_REQUIRE([LT_PROG_RC])dnl
+AC_LANG_SAVE
+
+# Source file extension for RC test sources.
+ac_ext=rc
+
+# Object file extension for compiled RC test sources.
+objext=o
+_LT_TAGVAR(objext, $1)=$objext
+
+# Code to be used in simple compile tests
+lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }'
+
+# Code to be used in simple link tests
+lt_simple_link_test_code="$lt_simple_compile_test_code"
+
+# ltmain only uses $CC for tagged configurations so make sure $CC is set.
+_LT_TAG_COMPILER
+
+# save warnings/boilerplate of simple test code
+_LT_COMPILER_BOILERPLATE
+_LT_LINKER_BOILERPLATE
+
+# Allow CC to be a program name with arguments.
+lt_save_CC="$CC"
+lt_save_CFLAGS=$CFLAGS
+lt_save_GCC=$GCC
+GCC=
+CC=${RC-"windres"}
+CFLAGS=
+compiler=$CC
+_LT_TAGVAR(compiler, $1)=$CC
+_LT_CC_BASENAME([$compiler])
+_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
+
+if test -n "$compiler"; then
+ :
+ _LT_CONFIG($1)
+fi
+
+GCC=$lt_save_GCC
+AC_LANG_RESTORE
+CC=$lt_save_CC
+CFLAGS=$lt_save_CFLAGS
+])# _LT_LANG_RC_CONFIG
+
+
+# LT_PROG_GCJ
+# -----------
+AC_DEFUN([LT_PROG_GCJ],
+[m4_ifdef([AC_PROG_GCJ], [AC_PROG_GCJ],
+ [m4_ifdef([A][M_PROG_GCJ], [A][M_PROG_GCJ],
+ [AC_CHECK_TOOL(GCJ, gcj,)
+ test "x${GCJFLAGS+set}" = xset || GCJFLAGS="-g -O2"
+ AC_SUBST(GCJFLAGS)])])[]dnl
+])
+
+# Old name:
+AU_ALIAS([LT_AC_PROG_GCJ], [LT_PROG_GCJ])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([LT_AC_PROG_GCJ], [])
+
+
+# LT_PROG_GO
+# ----------
+AC_DEFUN([LT_PROG_GO],
+[AC_CHECK_TOOL(GOC, gccgo,)
+])
+
+
+# LT_PROG_RC
+# ----------
+AC_DEFUN([LT_PROG_RC],
+[AC_CHECK_TOOL(RC, windres,)
+])
+
+# Old name:
+AU_ALIAS([LT_AC_PROG_RC], [LT_PROG_RC])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([LT_AC_PROG_RC], [])
+
+
+# _LT_DECL_EGREP
+# --------------
+# If we don't have a new enough Autoconf to choose the best grep
+# available, choose the one first in the user's PATH.
+m4_defun([_LT_DECL_EGREP],
+[AC_REQUIRE([AC_PROG_EGREP])dnl
+AC_REQUIRE([AC_PROG_FGREP])dnl
+test -z "$GREP" && GREP=grep
+_LT_DECL([], [GREP], [1], [A grep program that handles long lines])
+_LT_DECL([], [EGREP], [1], [An ERE matcher])
+_LT_DECL([], [FGREP], [1], [A literal string matcher])
+dnl Non-bleeding-edge autoconf doesn't subst GREP, so do it here too
+AC_SUBST([GREP])
+])
+
+
+# _LT_DECL_OBJDUMP
+# --------------
+# If we don't have a new enough Autoconf to choose the best objdump
+# available, choose the one first in the user's PATH.
+m4_defun([_LT_DECL_OBJDUMP],
+[AC_CHECK_TOOL(OBJDUMP, objdump, false)
+test -z "$OBJDUMP" && OBJDUMP=objdump
+_LT_DECL([], [OBJDUMP], [1], [An object symbol dumper])
+AC_SUBST([OBJDUMP])
+])
+
+# _LT_DECL_DLLTOOL
+# ----------------
+# Ensure DLLTOOL variable is set.
+m4_defun([_LT_DECL_DLLTOOL],
+[AC_CHECK_TOOL(DLLTOOL, dlltool, false)
+test -z "$DLLTOOL" && DLLTOOL=dlltool
+_LT_DECL([], [DLLTOOL], [1], [DLL creation program])
+AC_SUBST([DLLTOOL])
+])
+
+# _LT_DECL_SED
+# ------------
+# Check for a fully-functional sed program, that truncates
+# as few characters as possible. Prefer GNU sed if found.
+m4_defun([_LT_DECL_SED],
+[AC_PROG_SED
+test -z "$SED" && SED=sed
+Xsed="$SED -e 1s/^X//"
+_LT_DECL([], [SED], [1], [A sed program that does not truncate output])
+_LT_DECL([], [Xsed], ["\$SED -e 1s/^X//"],
+ [Sed that helps us avoid accidentally triggering echo(1) options like -n])
+])# _LT_DECL_SED
+
+m4_ifndef([AC_PROG_SED], [
+############################################################
+# NOTE: This macro has been submitted for inclusion into #
+# GNU Autoconf as AC_PROG_SED. When it is available in #
+# a released version of Autoconf we should remove this #
+# macro and use it instead. #
+############################################################
+
+m4_defun([AC_PROG_SED],
+[AC_MSG_CHECKING([for a sed that does not truncate output])
+AC_CACHE_VAL(lt_cv_path_SED,
+[# Loop through the user's path and test for sed and gsed.
+# Then use that list of sed's as ones to test for truncation.
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for lt_ac_prog in sed gsed; do
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if $as_executable_p "$as_dir/$lt_ac_prog$ac_exec_ext"; then
+ lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext"
+ fi
+ done
+ done
+done
+IFS=$as_save_IFS
+lt_ac_max=0
+lt_ac_count=0
+# Add /usr/xpg4/bin/sed as it is typically found on Solaris
+# along with /bin/sed that truncates output.
+for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do
+ test ! -f $lt_ac_sed && continue
+ cat /dev/null > conftest.in
+ lt_ac_count=0
+ echo $ECHO_N "0123456789$ECHO_C" >conftest.in
+ # Check for GNU sed and select it if it is found.
+ if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then
+ lt_cv_path_SED=$lt_ac_sed
+ break
+ fi
+ while true; do
+ cat conftest.in conftest.in >conftest.tmp
+ mv conftest.tmp conftest.in
+ cp conftest.in conftest.nl
+ echo >>conftest.nl
+ $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break
+ cmp -s conftest.out conftest.nl || break
+ # 10000 chars as input seems more than enough
+ test $lt_ac_count -gt 10 && break
+ lt_ac_count=`expr $lt_ac_count + 1`
+ if test $lt_ac_count -gt $lt_ac_max; then
+ lt_ac_max=$lt_ac_count
+ lt_cv_path_SED=$lt_ac_sed
+ fi
+ done
+done
+])
+SED=$lt_cv_path_SED
+AC_SUBST([SED])
+AC_MSG_RESULT([$SED])
+])#AC_PROG_SED
+])#m4_ifndef
+
+# Old name:
+AU_ALIAS([LT_AC_PROG_SED], [AC_PROG_SED])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([LT_AC_PROG_SED], [])
+
+
+# _LT_CHECK_SHELL_FEATURES
+# ------------------------
+# Find out whether the shell is Bourne or XSI compatible,
+# or has some other useful features.
+m4_defun([_LT_CHECK_SHELL_FEATURES],
+[AC_MSG_CHECKING([whether the shell understands some XSI constructs])
+# Try some XSI features
+xsi_shell=no
+( _lt_dummy="a/b/c"
+ test "${_lt_dummy##*/},${_lt_dummy%/*},${_lt_dummy#??}"${_lt_dummy%"$_lt_dummy"}, \
+ = c,a/b,b/c, \
+ && eval 'test $(( 1 + 1 )) -eq 2 \
+ && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \
+ && xsi_shell=yes
+AC_MSG_RESULT([$xsi_shell])
+_LT_CONFIG_LIBTOOL_INIT([xsi_shell='$xsi_shell'])
+
+AC_MSG_CHECKING([whether the shell understands "+="])
+lt_shell_append=no
+( foo=bar; set foo baz; eval "$[1]+=\$[2]" && test "$foo" = barbaz ) \
+ >/dev/null 2>&1 \
+ && lt_shell_append=yes
+AC_MSG_RESULT([$lt_shell_append])
+_LT_CONFIG_LIBTOOL_INIT([lt_shell_append='$lt_shell_append'])
+
+if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
+ lt_unset=unset
+else
+ lt_unset=false
+fi
+_LT_DECL([], [lt_unset], [0], [whether the shell understands "unset"])dnl
+
+# test EBCDIC or ASCII
+case `echo X|tr X '\101'` in
+ A) # ASCII based system
+ # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr
+ lt_SP2NL='tr \040 \012'
+ lt_NL2SP='tr \015\012 \040\040'
+ ;;
+ *) # EBCDIC based system
+ lt_SP2NL='tr \100 \n'
+ lt_NL2SP='tr \r\n \100\100'
+ ;;
+esac
+_LT_DECL([SP2NL], [lt_SP2NL], [1], [turn spaces into newlines])dnl
+_LT_DECL([NL2SP], [lt_NL2SP], [1], [turn newlines into spaces])dnl
+])# _LT_CHECK_SHELL_FEATURES
+
+
+# _LT_PROG_FUNCTION_REPLACE (FUNCNAME, REPLACEMENT-BODY)
+# ------------------------------------------------------
+# In `$cfgfile', look for function FUNCNAME delimited by `^FUNCNAME ()$' and
+# '^} FUNCNAME ', and replace its body with REPLACEMENT-BODY.
+m4_defun([_LT_PROG_FUNCTION_REPLACE],
+[dnl {
+sed -e '/^$1 ()$/,/^} # $1 /c\
+$1 ()\
+{\
+m4_bpatsubsts([$2], [$], [\\], [^\([ ]\)], [\\\1])
+} # Extended-shell $1 implementation' "$cfgfile" > $cfgfile.tmp \
+ && mv -f "$cfgfile.tmp" "$cfgfile" \
+ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
+test 0 -eq $? || _lt_function_replace_fail=:
+])
+
+
+# _LT_PROG_REPLACE_SHELLFNS
+# -------------------------
+# Replace existing portable implementations of several shell functions with
+# equivalent extended shell implementations where those features are available..
+m4_defun([_LT_PROG_REPLACE_SHELLFNS],
+[if test x"$xsi_shell" = xyes; then
+ _LT_PROG_FUNCTION_REPLACE([func_dirname], [dnl
+ case ${1} in
+ */*) func_dirname_result="${1%/*}${2}" ;;
+ * ) func_dirname_result="${3}" ;;
+ esac])
+
+ _LT_PROG_FUNCTION_REPLACE([func_basename], [dnl
+ func_basename_result="${1##*/}"])
+
+ _LT_PROG_FUNCTION_REPLACE([func_dirname_and_basename], [dnl
+ case ${1} in
+ */*) func_dirname_result="${1%/*}${2}" ;;
+ * ) func_dirname_result="${3}" ;;
+ esac
+ func_basename_result="${1##*/}"])
+
+ _LT_PROG_FUNCTION_REPLACE([func_stripname], [dnl
+ # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are
+ # positional parameters, so assign one to ordinary parameter first.
+ func_stripname_result=${3}
+ func_stripname_result=${func_stripname_result#"${1}"}
+ func_stripname_result=${func_stripname_result%"${2}"}])
+
+ _LT_PROG_FUNCTION_REPLACE([func_split_long_opt], [dnl
+ func_split_long_opt_name=${1%%=*}
+ func_split_long_opt_arg=${1#*=}])
+
+ _LT_PROG_FUNCTION_REPLACE([func_split_short_opt], [dnl
+ func_split_short_opt_arg=${1#??}
+ func_split_short_opt_name=${1%"$func_split_short_opt_arg"}])
+
+ _LT_PROG_FUNCTION_REPLACE([func_lo2o], [dnl
+ case ${1} in
+ *.lo) func_lo2o_result=${1%.lo}.${objext} ;;
+ *) func_lo2o_result=${1} ;;
+ esac])
+
+ _LT_PROG_FUNCTION_REPLACE([func_xform], [ func_xform_result=${1%.*}.lo])
+
+ _LT_PROG_FUNCTION_REPLACE([func_arith], [ func_arith_result=$(( $[*] ))])
+
+ _LT_PROG_FUNCTION_REPLACE([func_len], [ func_len_result=${#1}])
+fi
+
+if test x"$lt_shell_append" = xyes; then
+ _LT_PROG_FUNCTION_REPLACE([func_append], [ eval "${1}+=\\${2}"])
+
+ _LT_PROG_FUNCTION_REPLACE([func_append_quoted], [dnl
+ func_quote_for_eval "${2}"
+dnl m4 expansion turns \\\\ into \\, and then the shell eval turns that into \
+ eval "${1}+=\\\\ \\$func_quote_for_eval_result"])
+
+ # Save a `func_append' function call where possible by direct use of '+='
+ sed -e 's%func_append \([[a-zA-Z_]]\{1,\}\) "%\1+="%g' $cfgfile > $cfgfile.tmp \
+ && mv -f "$cfgfile.tmp" "$cfgfile" \
+ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
+ test 0 -eq $? || _lt_function_replace_fail=:
+else
+ # Save a `func_append' function call even when '+=' is not available
+ sed -e 's%func_append \([[a-zA-Z_]]\{1,\}\) "%\1="$\1%g' $cfgfile > $cfgfile.tmp \
+ && mv -f "$cfgfile.tmp" "$cfgfile" \
+ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
+ test 0 -eq $? || _lt_function_replace_fail=:
+fi
+
+if test x"$_lt_function_replace_fail" = x":"; then
+ AC_MSG_WARN([Unable to substitute extended shell functions in $ofile])
+fi
+])
+
+# _LT_PATH_CONVERSION_FUNCTIONS
+# -----------------------------
+# Determine which file name conversion functions should be used by
+# func_to_host_file (and, implicitly, by func_to_host_path). These are needed
+# for certain cross-compile configurations and native mingw.
+m4_defun([_LT_PATH_CONVERSION_FUNCTIONS],
+[AC_REQUIRE([AC_CANONICAL_HOST])dnl
+AC_REQUIRE([AC_CANONICAL_BUILD])dnl
+AC_MSG_CHECKING([how to convert $build file names to $host format])
+AC_CACHE_VAL(lt_cv_to_host_file_cmd,
+[case $host in
+ *-*-mingw* )
+ case $build in
+ *-*-mingw* ) # actually msys
+ lt_cv_to_host_file_cmd=func_convert_file_msys_to_w32
+ ;;
+ *-*-cygwin* )
+ lt_cv_to_host_file_cmd=func_convert_file_cygwin_to_w32
+ ;;
+ * ) # otherwise, assume *nix
+ lt_cv_to_host_file_cmd=func_convert_file_nix_to_w32
+ ;;
+ esac
+ ;;
+ *-*-cygwin* )
+ case $build in
+ *-*-mingw* ) # actually msys
+ lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin
+ ;;
+ *-*-cygwin* )
+ lt_cv_to_host_file_cmd=func_convert_file_noop
+ ;;
+ * ) # otherwise, assume *nix
+ lt_cv_to_host_file_cmd=func_convert_file_nix_to_cygwin
+ ;;
+ esac
+ ;;
+ * ) # unhandled hosts (and "normal" native builds)
+ lt_cv_to_host_file_cmd=func_convert_file_noop
+ ;;
+esac
+])
+to_host_file_cmd=$lt_cv_to_host_file_cmd
+AC_MSG_RESULT([$lt_cv_to_host_file_cmd])
+_LT_DECL([to_host_file_cmd], [lt_cv_to_host_file_cmd],
+ [0], [convert $build file names to $host format])dnl
+
+AC_MSG_CHECKING([how to convert $build file names to toolchain format])
+AC_CACHE_VAL(lt_cv_to_tool_file_cmd,
+[#assume ordinary cross tools, or native build.
+lt_cv_to_tool_file_cmd=func_convert_file_noop
+case $host in
+ *-*-mingw* )
+ case $build in
+ *-*-mingw* ) # actually msys
+ lt_cv_to_tool_file_cmd=func_convert_file_msys_to_w32
+ ;;
+ esac
+ ;;
+esac
+])
+to_tool_file_cmd=$lt_cv_to_tool_file_cmd
+AC_MSG_RESULT([$lt_cv_to_tool_file_cmd])
+_LT_DECL([to_tool_file_cmd], [lt_cv_to_tool_file_cmd],
+ [0], [convert $build files to toolchain format])dnl
+])# _LT_PATH_CONVERSION_FUNCTIONS
diff --git a/m4/ltoptions.m4 b/m4/ltoptions.m4
new file mode 100644
index 0000000..5d9acd8
--- /dev/null
+++ b/m4/ltoptions.m4
@@ -0,0 +1,384 @@
+# Helper functions for option handling. -*- Autoconf -*-
+#
+# Copyright (C) 2004, 2005, 2007, 2008, 2009 Free Software Foundation,
+# Inc.
+# Written by Gary V. Vaughan, 2004
+#
+# This file is free software; the Free Software Foundation gives
+# unlimited permission to copy and/or distribute it, with or without
+# modifications, as long as this notice is preserved.
+
+# serial 7 ltoptions.m4
+
+# This is to help aclocal find these macros, as it can't see m4_define.
+AC_DEFUN([LTOPTIONS_VERSION], [m4_if([1])])
+
+
+# _LT_MANGLE_OPTION(MACRO-NAME, OPTION-NAME)
+# ------------------------------------------
+m4_define([_LT_MANGLE_OPTION],
+[[_LT_OPTION_]m4_bpatsubst($1__$2, [[^a-zA-Z0-9_]], [_])])
+
+
+# _LT_SET_OPTION(MACRO-NAME, OPTION-NAME)
+# ---------------------------------------
+# Set option OPTION-NAME for macro MACRO-NAME, and if there is a
+# matching handler defined, dispatch to it. Other OPTION-NAMEs are
+# saved as a flag.
+m4_define([_LT_SET_OPTION],
+[m4_define(_LT_MANGLE_OPTION([$1], [$2]))dnl
+m4_ifdef(_LT_MANGLE_DEFUN([$1], [$2]),
+ _LT_MANGLE_DEFUN([$1], [$2]),
+ [m4_warning([Unknown $1 option `$2'])])[]dnl
+])
+
+
+# _LT_IF_OPTION(MACRO-NAME, OPTION-NAME, IF-SET, [IF-NOT-SET])
+# ------------------------------------------------------------
+# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise.
+m4_define([_LT_IF_OPTION],
+[m4_ifdef(_LT_MANGLE_OPTION([$1], [$2]), [$3], [$4])])
+
+
+# _LT_UNLESS_OPTIONS(MACRO-NAME, OPTION-LIST, IF-NOT-SET)
+# -------------------------------------------------------
+# Execute IF-NOT-SET unless all options in OPTION-LIST for MACRO-NAME
+# are set.
+m4_define([_LT_UNLESS_OPTIONS],
+[m4_foreach([_LT_Option], m4_split(m4_normalize([$2])),
+ [m4_ifdef(_LT_MANGLE_OPTION([$1], _LT_Option),
+ [m4_define([$0_found])])])[]dnl
+m4_ifdef([$0_found], [m4_undefine([$0_found])], [$3
+])[]dnl
+])
+
+
+# _LT_SET_OPTIONS(MACRO-NAME, OPTION-LIST)
+# ----------------------------------------
+# OPTION-LIST is a space-separated list of Libtool options associated
+# with MACRO-NAME. If any OPTION has a matching handler declared with
+# LT_OPTION_DEFINE, dispatch to that macro; otherwise complain about
+# the unknown option and exit.
+m4_defun([_LT_SET_OPTIONS],
+[# Set options
+m4_foreach([_LT_Option], m4_split(m4_normalize([$2])),
+ [_LT_SET_OPTION([$1], _LT_Option)])
+
+m4_if([$1],[LT_INIT],[
+ dnl
+ dnl Simply set some default values (i.e off) if boolean options were not
+ dnl specified:
+ _LT_UNLESS_OPTIONS([LT_INIT], [dlopen], [enable_dlopen=no
+ ])
+ _LT_UNLESS_OPTIONS([LT_INIT], [win32-dll], [enable_win32_dll=no
+ ])
+ dnl
+ dnl If no reference was made to various pairs of opposing options, then
+ dnl we run the default mode handler for the pair. For example, if neither
+ dnl `shared' nor `disable-shared' was passed, we enable building of shared
+ dnl archives by default:
+ _LT_UNLESS_OPTIONS([LT_INIT], [shared disable-shared], [_LT_ENABLE_SHARED])
+ _LT_UNLESS_OPTIONS([LT_INIT], [static disable-static], [_LT_ENABLE_STATIC])
+ _LT_UNLESS_OPTIONS([LT_INIT], [pic-only no-pic], [_LT_WITH_PIC])
+ _LT_UNLESS_OPTIONS([LT_INIT], [fast-install disable-fast-install],
+ [_LT_ENABLE_FAST_INSTALL])
+ ])
+])# _LT_SET_OPTIONS
+
+
+## --------------------------------- ##
+## Macros to handle LT_INIT options. ##
+## --------------------------------- ##
+
+# _LT_MANGLE_DEFUN(MACRO-NAME, OPTION-NAME)
+# -----------------------------------------
+m4_define([_LT_MANGLE_DEFUN],
+[[_LT_OPTION_DEFUN_]m4_bpatsubst(m4_toupper([$1__$2]), [[^A-Z0-9_]], [_])])
+
+
+# LT_OPTION_DEFINE(MACRO-NAME, OPTION-NAME, CODE)
+# -----------------------------------------------
+m4_define([LT_OPTION_DEFINE],
+[m4_define(_LT_MANGLE_DEFUN([$1], [$2]), [$3])[]dnl
+])# LT_OPTION_DEFINE
+
+
+# dlopen
+# ------
+LT_OPTION_DEFINE([LT_INIT], [dlopen], [enable_dlopen=yes
+])
+
+AU_DEFUN([AC_LIBTOOL_DLOPEN],
+[_LT_SET_OPTION([LT_INIT], [dlopen])
+AC_DIAGNOSE([obsolete],
+[$0: Remove this warning and the call to _LT_SET_OPTION when you
+put the `dlopen' option into LT_INIT's first parameter.])
+])
+
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_LIBTOOL_DLOPEN], [])
+
+
+# win32-dll
+# ---------
+# Declare package support for building win32 dll's.
+LT_OPTION_DEFINE([LT_INIT], [win32-dll],
+[enable_win32_dll=yes
+
+case $host in
+*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-cegcc*)
+ AC_CHECK_TOOL(AS, as, false)
+ AC_CHECK_TOOL(DLLTOOL, dlltool, false)
+ AC_CHECK_TOOL(OBJDUMP, objdump, false)
+ ;;
+esac
+
+test -z "$AS" && AS=as
+_LT_DECL([], [AS], [1], [Assembler program])dnl
+
+test -z "$DLLTOOL" && DLLTOOL=dlltool
+_LT_DECL([], [DLLTOOL], [1], [DLL creation program])dnl
+
+test -z "$OBJDUMP" && OBJDUMP=objdump
+_LT_DECL([], [OBJDUMP], [1], [Object dumper program])dnl
+])# win32-dll
+
+AU_DEFUN([AC_LIBTOOL_WIN32_DLL],
+[AC_REQUIRE([AC_CANONICAL_HOST])dnl
+_LT_SET_OPTION([LT_INIT], [win32-dll])
+AC_DIAGNOSE([obsolete],
+[$0: Remove this warning and the call to _LT_SET_OPTION when you
+put the `win32-dll' option into LT_INIT's first parameter.])
+])
+
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_LIBTOOL_WIN32_DLL], [])
+
+
+# _LT_ENABLE_SHARED([DEFAULT])
+# ----------------------------
+# implement the --enable-shared flag, and supports the `shared' and
+# `disable-shared' LT_INIT options.
+# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'.
+m4_define([_LT_ENABLE_SHARED],
+[m4_define([_LT_ENABLE_SHARED_DEFAULT], [m4_if($1, no, no, yes)])dnl
+AC_ARG_ENABLE([shared],
+ [AS_HELP_STRING([--enable-shared@<:@=PKGS@:>@],
+ [build shared libraries @<:@default=]_LT_ENABLE_SHARED_DEFAULT[@:>@])],
+ [p=${PACKAGE-default}
+ case $enableval in
+ yes) enable_shared=yes ;;
+ no) enable_shared=no ;;
+ *)
+ enable_shared=no
+ # Look at the argument we got. We use all the common list separators.
+ lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+ for pkg in $enableval; do
+ IFS="$lt_save_ifs"
+ if test "X$pkg" = "X$p"; then
+ enable_shared=yes
+ fi
+ done
+ IFS="$lt_save_ifs"
+ ;;
+ esac],
+ [enable_shared=]_LT_ENABLE_SHARED_DEFAULT)
+
+ _LT_DECL([build_libtool_libs], [enable_shared], [0],
+ [Whether or not to build shared libraries])
+])# _LT_ENABLE_SHARED
+
+LT_OPTION_DEFINE([LT_INIT], [shared], [_LT_ENABLE_SHARED([yes])])
+LT_OPTION_DEFINE([LT_INIT], [disable-shared], [_LT_ENABLE_SHARED([no])])
+
+# Old names:
+AC_DEFUN([AC_ENABLE_SHARED],
+[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[shared])
+])
+
+AC_DEFUN([AC_DISABLE_SHARED],
+[_LT_SET_OPTION([LT_INIT], [disable-shared])
+])
+
+AU_DEFUN([AM_ENABLE_SHARED], [AC_ENABLE_SHARED($@)])
+AU_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)])
+
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AM_ENABLE_SHARED], [])
+dnl AC_DEFUN([AM_DISABLE_SHARED], [])
+
+
+
+# _LT_ENABLE_STATIC([DEFAULT])
+# ----------------------------
+# implement the --enable-static flag, and support the `static' and
+# `disable-static' LT_INIT options.
+# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'.
+m4_define([_LT_ENABLE_STATIC],
+[m4_define([_LT_ENABLE_STATIC_DEFAULT], [m4_if($1, no, no, yes)])dnl
+AC_ARG_ENABLE([static],
+ [AS_HELP_STRING([--enable-static@<:@=PKGS@:>@],
+ [build static libraries @<:@default=]_LT_ENABLE_STATIC_DEFAULT[@:>@])],
+ [p=${PACKAGE-default}
+ case $enableval in
+ yes) enable_static=yes ;;
+ no) enable_static=no ;;
+ *)
+ enable_static=no
+ # Look at the argument we got. We use all the common list separators.
+ lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+ for pkg in $enableval; do
+ IFS="$lt_save_ifs"
+ if test "X$pkg" = "X$p"; then
+ enable_static=yes
+ fi
+ done
+ IFS="$lt_save_ifs"
+ ;;
+ esac],
+ [enable_static=]_LT_ENABLE_STATIC_DEFAULT)
+
+ _LT_DECL([build_old_libs], [enable_static], [0],
+ [Whether or not to build static libraries])
+])# _LT_ENABLE_STATIC
+
+LT_OPTION_DEFINE([LT_INIT], [static], [_LT_ENABLE_STATIC([yes])])
+LT_OPTION_DEFINE([LT_INIT], [disable-static], [_LT_ENABLE_STATIC([no])])
+
+# Old names:
+AC_DEFUN([AC_ENABLE_STATIC],
+[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[static])
+])
+
+AC_DEFUN([AC_DISABLE_STATIC],
+[_LT_SET_OPTION([LT_INIT], [disable-static])
+])
+
+AU_DEFUN([AM_ENABLE_STATIC], [AC_ENABLE_STATIC($@)])
+AU_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)])
+
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AM_ENABLE_STATIC], [])
+dnl AC_DEFUN([AM_DISABLE_STATIC], [])
+
+
+
+# _LT_ENABLE_FAST_INSTALL([DEFAULT])
+# ----------------------------------
+# implement the --enable-fast-install flag, and support the `fast-install'
+# and `disable-fast-install' LT_INIT options.
+# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'.
+m4_define([_LT_ENABLE_FAST_INSTALL],
+[m4_define([_LT_ENABLE_FAST_INSTALL_DEFAULT], [m4_if($1, no, no, yes)])dnl
+AC_ARG_ENABLE([fast-install],
+ [AS_HELP_STRING([--enable-fast-install@<:@=PKGS@:>@],
+ [optimize for fast installation @<:@default=]_LT_ENABLE_FAST_INSTALL_DEFAULT[@:>@])],
+ [p=${PACKAGE-default}
+ case $enableval in
+ yes) enable_fast_install=yes ;;
+ no) enable_fast_install=no ;;
+ *)
+ enable_fast_install=no
+ # Look at the argument we got. We use all the common list separators.
+ lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+ for pkg in $enableval; do
+ IFS="$lt_save_ifs"
+ if test "X$pkg" = "X$p"; then
+ enable_fast_install=yes
+ fi
+ done
+ IFS="$lt_save_ifs"
+ ;;
+ esac],
+ [enable_fast_install=]_LT_ENABLE_FAST_INSTALL_DEFAULT)
+
+_LT_DECL([fast_install], [enable_fast_install], [0],
+ [Whether or not to optimize for fast installation])dnl
+])# _LT_ENABLE_FAST_INSTALL
+
+LT_OPTION_DEFINE([LT_INIT], [fast-install], [_LT_ENABLE_FAST_INSTALL([yes])])
+LT_OPTION_DEFINE([LT_INIT], [disable-fast-install], [_LT_ENABLE_FAST_INSTALL([no])])
+
+# Old names:
+AU_DEFUN([AC_ENABLE_FAST_INSTALL],
+[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[fast-install])
+AC_DIAGNOSE([obsolete],
+[$0: Remove this warning and the call to _LT_SET_OPTION when you put
+the `fast-install' option into LT_INIT's first parameter.])
+])
+
+AU_DEFUN([AC_DISABLE_FAST_INSTALL],
+[_LT_SET_OPTION([LT_INIT], [disable-fast-install])
+AC_DIAGNOSE([obsolete],
+[$0: Remove this warning and the call to _LT_SET_OPTION when you put
+the `disable-fast-install' option into LT_INIT's first parameter.])
+])
+
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_ENABLE_FAST_INSTALL], [])
+dnl AC_DEFUN([AM_DISABLE_FAST_INSTALL], [])
+
+
+# _LT_WITH_PIC([MODE])
+# --------------------
+# implement the --with-pic flag, and support the `pic-only' and `no-pic'
+# LT_INIT options.
+# MODE is either `yes' or `no'. If omitted, it defaults to `both'.
+m4_define([_LT_WITH_PIC],
+[AC_ARG_WITH([pic],
+ [AS_HELP_STRING([--with-pic@<:@=PKGS@:>@],
+ [try to use only PIC/non-PIC objects @<:@default=use both@:>@])],
+ [lt_p=${PACKAGE-default}
+ case $withval in
+ yes|no) pic_mode=$withval ;;
+ *)
+ pic_mode=default
+ # Look at the argument we got. We use all the common list separators.
+ lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+ for lt_pkg in $withval; do
+ IFS="$lt_save_ifs"
+ if test "X$lt_pkg" = "X$lt_p"; then
+ pic_mode=yes
+ fi
+ done
+ IFS="$lt_save_ifs"
+ ;;
+ esac],
+ [pic_mode=default])
+
+test -z "$pic_mode" && pic_mode=m4_default([$1], [default])
+
+_LT_DECL([], [pic_mode], [0], [What type of objects to build])dnl
+])# _LT_WITH_PIC
+
+LT_OPTION_DEFINE([LT_INIT], [pic-only], [_LT_WITH_PIC([yes])])
+LT_OPTION_DEFINE([LT_INIT], [no-pic], [_LT_WITH_PIC([no])])
+
+# Old name:
+AU_DEFUN([AC_LIBTOOL_PICMODE],
+[_LT_SET_OPTION([LT_INIT], [pic-only])
+AC_DIAGNOSE([obsolete],
+[$0: Remove this warning and the call to _LT_SET_OPTION when you
+put the `pic-only' option into LT_INIT's first parameter.])
+])
+
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_LIBTOOL_PICMODE], [])
+
+## ----------------- ##
+## LTDL_INIT Options ##
+## ----------------- ##
+
+m4_define([_LTDL_MODE], [])
+LT_OPTION_DEFINE([LTDL_INIT], [nonrecursive],
+ [m4_define([_LTDL_MODE], [nonrecursive])])
+LT_OPTION_DEFINE([LTDL_INIT], [recursive],
+ [m4_define([_LTDL_MODE], [recursive])])
+LT_OPTION_DEFINE([LTDL_INIT], [subproject],
+ [m4_define([_LTDL_MODE], [subproject])])
+
+m4_define([_LTDL_TYPE], [])
+LT_OPTION_DEFINE([LTDL_INIT], [installable],
+ [m4_define([_LTDL_TYPE], [installable])])
+LT_OPTION_DEFINE([LTDL_INIT], [convenience],
+ [m4_define([_LTDL_TYPE], [convenience])])
diff --git a/m4/ltsugar.m4 b/m4/ltsugar.m4
new file mode 100644
index 0000000..9000a05
--- /dev/null
+++ b/m4/ltsugar.m4
@@ -0,0 +1,123 @@
+# ltsugar.m4 -- libtool m4 base layer. -*-Autoconf-*-
+#
+# Copyright (C) 2004, 2005, 2007, 2008 Free Software Foundation, Inc.
+# Written by Gary V. Vaughan, 2004
+#
+# This file is free software; the Free Software Foundation gives
+# unlimited permission to copy and/or distribute it, with or without
+# modifications, as long as this notice is preserved.
+
+# serial 6 ltsugar.m4
+
+# This is to help aclocal find these macros, as it can't see m4_define.
+AC_DEFUN([LTSUGAR_VERSION], [m4_if([0.1])])
+
+
+# lt_join(SEP, ARG1, [ARG2...])
+# -----------------------------
+# Produce ARG1SEPARG2...SEPARGn, omitting [] arguments and their
+# associated separator.
+# Needed until we can rely on m4_join from Autoconf 2.62, since all earlier
+# versions in m4sugar had bugs.
+m4_define([lt_join],
+[m4_if([$#], [1], [],
+ [$#], [2], [[$2]],
+ [m4_if([$2], [], [], [[$2]_])$0([$1], m4_shift(m4_shift($@)))])])
+m4_define([_lt_join],
+[m4_if([$#$2], [2], [],
+ [m4_if([$2], [], [], [[$1$2]])$0([$1], m4_shift(m4_shift($@)))])])
+
+
+# lt_car(LIST)
+# lt_cdr(LIST)
+# ------------
+# Manipulate m4 lists.
+# These macros are necessary as long as will still need to support
+# Autoconf-2.59 which quotes differently.
+m4_define([lt_car], [[$1]])
+m4_define([lt_cdr],
+[m4_if([$#], 0, [m4_fatal([$0: cannot be called without arguments])],
+ [$#], 1, [],
+ [m4_dquote(m4_shift($@))])])
+m4_define([lt_unquote], $1)
+
+
+# lt_append(MACRO-NAME, STRING, [SEPARATOR])
+# ------------------------------------------
+# Redefine MACRO-NAME to hold its former content plus `SEPARATOR'`STRING'.
+# Note that neither SEPARATOR nor STRING are expanded; they are appended
+# to MACRO-NAME as is (leaving the expansion for when MACRO-NAME is invoked).
+# No SEPARATOR is output if MACRO-NAME was previously undefined (different
+# than defined and empty).
+#
+# This macro is needed until we can rely on Autoconf 2.62, since earlier
+# versions of m4sugar mistakenly expanded SEPARATOR but not STRING.
+m4_define([lt_append],
+[m4_define([$1],
+ m4_ifdef([$1], [m4_defn([$1])[$3]])[$2])])
+
+
+
+# lt_combine(SEP, PREFIX-LIST, INFIX, SUFFIX1, [SUFFIX2...])
+# ----------------------------------------------------------
+# Produce a SEP delimited list of all paired combinations of elements of
+# PREFIX-LIST with SUFFIX1 through SUFFIXn. Each element of the list
+# has the form PREFIXmINFIXSUFFIXn.
+# Needed until we can rely on m4_combine added in Autoconf 2.62.
+m4_define([lt_combine],
+[m4_if(m4_eval([$# > 3]), [1],
+ [m4_pushdef([_Lt_sep], [m4_define([_Lt_sep], m4_defn([lt_car]))])]]dnl
+[[m4_foreach([_Lt_prefix], [$2],
+ [m4_foreach([_Lt_suffix],
+ ]m4_dquote(m4_dquote(m4_shift(m4_shift(m4_shift($@)))))[,
+ [_Lt_sep([$1])[]m4_defn([_Lt_prefix])[$3]m4_defn([_Lt_suffix])])])])])
+
+
+# lt_if_append_uniq(MACRO-NAME, VARNAME, [SEPARATOR], [UNIQ], [NOT-UNIQ])
+# -----------------------------------------------------------------------
+# Iff MACRO-NAME does not yet contain VARNAME, then append it (delimited
+# by SEPARATOR if supplied) and expand UNIQ, else NOT-UNIQ.
+m4_define([lt_if_append_uniq],
+[m4_ifdef([$1],
+ [m4_if(m4_index([$3]m4_defn([$1])[$3], [$3$2$3]), [-1],
+ [lt_append([$1], [$2], [$3])$4],
+ [$5])],
+ [lt_append([$1], [$2], [$3])$4])])
+
+
+# lt_dict_add(DICT, KEY, VALUE)
+# -----------------------------
+m4_define([lt_dict_add],
+[m4_define([$1($2)], [$3])])
+
+
+# lt_dict_add_subkey(DICT, KEY, SUBKEY, VALUE)
+# --------------------------------------------
+m4_define([lt_dict_add_subkey],
+[m4_define([$1($2:$3)], [$4])])
+
+
+# lt_dict_fetch(DICT, KEY, [SUBKEY])
+# ----------------------------------
+m4_define([lt_dict_fetch],
+[m4_ifval([$3],
+ m4_ifdef([$1($2:$3)], [m4_defn([$1($2:$3)])]),
+ m4_ifdef([$1($2)], [m4_defn([$1($2)])]))])
+
+
+# lt_if_dict_fetch(DICT, KEY, [SUBKEY], VALUE, IF-TRUE, [IF-FALSE])
+# -----------------------------------------------------------------
+m4_define([lt_if_dict_fetch],
+[m4_if(lt_dict_fetch([$1], [$2], [$3]), [$4],
+ [$5],
+ [$6])])
+
+
+# lt_dict_filter(DICT, [SUBKEY], VALUE, [SEPARATOR], KEY, [...])
+# --------------------------------------------------------------
+m4_define([lt_dict_filter],
+[m4_if([$5], [], [],
+ [lt_join(m4_quote(m4_default([$4], [[, ]])),
+ lt_unquote(m4_split(m4_normalize(m4_foreach(_Lt_key, lt_car([m4_shiftn(4, $@)]),
+ [lt_if_dict_fetch([$1], _Lt_key, [$2], [$3], [_Lt_key ])])))))])[]dnl
+])
diff --git a/m4/ltversion.m4 b/m4/ltversion.m4
new file mode 100644
index 0000000..07a8602
--- /dev/null
+++ b/m4/ltversion.m4
@@ -0,0 +1,23 @@
+# ltversion.m4 -- version numbers -*- Autoconf -*-
+#
+# Copyright (C) 2004 Free Software Foundation, Inc.
+# Written by Scott James Remnant, 2004
+#
+# This file is free software; the Free Software Foundation gives
+# unlimited permission to copy and/or distribute it, with or without
+# modifications, as long as this notice is preserved.
+
+# @configure_input@
+
+# serial 3337 ltversion.m4
+# This file is part of GNU Libtool
+
+m4_define([LT_PACKAGE_VERSION], [2.4.2])
+m4_define([LT_PACKAGE_REVISION], [1.3337])
+
+AC_DEFUN([LTVERSION_VERSION],
+[macro_version='2.4.2'
+macro_revision='1.3337'
+_LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?])
+_LT_DECL(, macro_revision, 0)
+])
diff --git a/m4/lt~obsolete.m4 b/m4/lt~obsolete.m4
new file mode 100644
index 0000000..c573da9
--- /dev/null
+++ b/m4/lt~obsolete.m4
@@ -0,0 +1,98 @@
+# lt~obsolete.m4 -- aclocal satisfying obsolete definitions. -*-Autoconf-*-
+#
+# Copyright (C) 2004, 2005, 2007, 2009 Free Software Foundation, Inc.
+# Written by Scott James Remnant, 2004.
+#
+# This file is free software; the Free Software Foundation gives
+# unlimited permission to copy and/or distribute it, with or without
+# modifications, as long as this notice is preserved.
+
+# serial 5 lt~obsolete.m4
+
+# These exist entirely to fool aclocal when bootstrapping libtool.
+#
+# In the past libtool.m4 has provided macros via AC_DEFUN (or AU_DEFUN)
+# which have later been changed to m4_define as they aren't part of the
+# exported API, or moved to Autoconf or Automake where they belong.
+#
+# The trouble is, aclocal is a bit thick. It'll see the old AC_DEFUN
+# in /usr/share/aclocal/libtool.m4 and remember it, then when it sees us
+# using a macro with the same name in our local m4/libtool.m4 it'll
+# pull the old libtool.m4 in (it doesn't see our shiny new m4_define
+# and doesn't know about Autoconf macros at all.)
+#
+# So we provide this file, which has a silly filename so it's always
+# included after everything else. This provides aclocal with the
+# AC_DEFUNs it wants, but when m4 processes it, it doesn't do anything
+# because those macros already exist, or will be overwritten later.
+# We use AC_DEFUN over AU_DEFUN for compatibility with aclocal-1.6.
+#
+# Anytime we withdraw an AC_DEFUN or AU_DEFUN, remember to add it here.
+# Yes, that means every name once taken will need to remain here until
+# we give up compatibility with versions before 1.7, at which point
+# we need to keep only those names which we still refer to.
+
+# This is to help aclocal find these macros, as it can't see m4_define.
+AC_DEFUN([LTOBSOLETE_VERSION], [m4_if([1])])
+
+m4_ifndef([AC_LIBTOOL_LINKER_OPTION], [AC_DEFUN([AC_LIBTOOL_LINKER_OPTION])])
+m4_ifndef([AC_PROG_EGREP], [AC_DEFUN([AC_PROG_EGREP])])
+m4_ifndef([_LT_AC_PROG_ECHO_BACKSLASH], [AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH])])
+m4_ifndef([_LT_AC_SHELL_INIT], [AC_DEFUN([_LT_AC_SHELL_INIT])])
+m4_ifndef([_LT_AC_SYS_LIBPATH_AIX], [AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX])])
+m4_ifndef([_LT_PROG_LTMAIN], [AC_DEFUN([_LT_PROG_LTMAIN])])
+m4_ifndef([_LT_AC_TAGVAR], [AC_DEFUN([_LT_AC_TAGVAR])])
+m4_ifndef([AC_LTDL_ENABLE_INSTALL], [AC_DEFUN([AC_LTDL_ENABLE_INSTALL])])
+m4_ifndef([AC_LTDL_PREOPEN], [AC_DEFUN([AC_LTDL_PREOPEN])])
+m4_ifndef([_LT_AC_SYS_COMPILER], [AC_DEFUN([_LT_AC_SYS_COMPILER])])
+m4_ifndef([_LT_AC_LOCK], [AC_DEFUN([_LT_AC_LOCK])])
+m4_ifndef([AC_LIBTOOL_SYS_OLD_ARCHIVE], [AC_DEFUN([AC_LIBTOOL_SYS_OLD_ARCHIVE])])
+m4_ifndef([_LT_AC_TRY_DLOPEN_SELF], [AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF])])
+m4_ifndef([AC_LIBTOOL_PROG_CC_C_O], [AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O])])
+m4_ifndef([AC_LIBTOOL_SYS_HARD_LINK_LOCKS], [AC_DEFUN([AC_LIBTOOL_SYS_HARD_LINK_LOCKS])])
+m4_ifndef([AC_LIBTOOL_OBJDIR], [AC_DEFUN([AC_LIBTOOL_OBJDIR])])
+m4_ifndef([AC_LTDL_OBJDIR], [AC_DEFUN([AC_LTDL_OBJDIR])])
+m4_ifndef([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH], [AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH])])
+m4_ifndef([AC_LIBTOOL_SYS_LIB_STRIP], [AC_DEFUN([AC_LIBTOOL_SYS_LIB_STRIP])])
+m4_ifndef([AC_PATH_MAGIC], [AC_DEFUN([AC_PATH_MAGIC])])
+m4_ifndef([AC_PROG_LD_GNU], [AC_DEFUN([AC_PROG_LD_GNU])])
+m4_ifndef([AC_PROG_LD_RELOAD_FLAG], [AC_DEFUN([AC_PROG_LD_RELOAD_FLAG])])
+m4_ifndef([AC_DEPLIBS_CHECK_METHOD], [AC_DEFUN([AC_DEPLIBS_CHECK_METHOD])])
+m4_ifndef([AC_LIBTOOL_PROG_COMPILER_NO_RTTI], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_NO_RTTI])])
+m4_ifndef([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE], [AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE])])
+m4_ifndef([AC_LIBTOOL_PROG_COMPILER_PIC], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_PIC])])
+m4_ifndef([AC_LIBTOOL_PROG_LD_SHLIBS], [AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS])])
+m4_ifndef([AC_LIBTOOL_POSTDEP_PREDEP], [AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP])])
+m4_ifndef([LT_AC_PROG_EGREP], [AC_DEFUN([LT_AC_PROG_EGREP])])
+m4_ifndef([LT_AC_PROG_SED], [AC_DEFUN([LT_AC_PROG_SED])])
+m4_ifndef([_LT_CC_BASENAME], [AC_DEFUN([_LT_CC_BASENAME])])
+m4_ifndef([_LT_COMPILER_BOILERPLATE], [AC_DEFUN([_LT_COMPILER_BOILERPLATE])])
+m4_ifndef([_LT_LINKER_BOILERPLATE], [AC_DEFUN([_LT_LINKER_BOILERPLATE])])
+m4_ifndef([_AC_PROG_LIBTOOL], [AC_DEFUN([_AC_PROG_LIBTOOL])])
+m4_ifndef([AC_LIBTOOL_SETUP], [AC_DEFUN([AC_LIBTOOL_SETUP])])
+m4_ifndef([_LT_AC_CHECK_DLFCN], [AC_DEFUN([_LT_AC_CHECK_DLFCN])])
+m4_ifndef([AC_LIBTOOL_SYS_DYNAMIC_LINKER], [AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER])])
+m4_ifndef([_LT_AC_TAGCONFIG], [AC_DEFUN([_LT_AC_TAGCONFIG])])
+m4_ifndef([AC_DISABLE_FAST_INSTALL], [AC_DEFUN([AC_DISABLE_FAST_INSTALL])])
+m4_ifndef([_LT_AC_LANG_CXX], [AC_DEFUN([_LT_AC_LANG_CXX])])
+m4_ifndef([_LT_AC_LANG_F77], [AC_DEFUN([_LT_AC_LANG_F77])])
+m4_ifndef([_LT_AC_LANG_GCJ], [AC_DEFUN([_LT_AC_LANG_GCJ])])
+m4_ifndef([AC_LIBTOOL_LANG_C_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG])])
+m4_ifndef([_LT_AC_LANG_C_CONFIG], [AC_DEFUN([_LT_AC_LANG_C_CONFIG])])
+m4_ifndef([AC_LIBTOOL_LANG_CXX_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG])])
+m4_ifndef([_LT_AC_LANG_CXX_CONFIG], [AC_DEFUN([_LT_AC_LANG_CXX_CONFIG])])
+m4_ifndef([AC_LIBTOOL_LANG_F77_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_F77_CONFIG])])
+m4_ifndef([_LT_AC_LANG_F77_CONFIG], [AC_DEFUN([_LT_AC_LANG_F77_CONFIG])])
+m4_ifndef([AC_LIBTOOL_LANG_GCJ_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_GCJ_CONFIG])])
+m4_ifndef([_LT_AC_LANG_GCJ_CONFIG], [AC_DEFUN([_LT_AC_LANG_GCJ_CONFIG])])
+m4_ifndef([AC_LIBTOOL_LANG_RC_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_RC_CONFIG])])
+m4_ifndef([_LT_AC_LANG_RC_CONFIG], [AC_DEFUN([_LT_AC_LANG_RC_CONFIG])])
+m4_ifndef([AC_LIBTOOL_CONFIG], [AC_DEFUN([AC_LIBTOOL_CONFIG])])
+m4_ifndef([_LT_AC_FILE_LTDLL_C], [AC_DEFUN([_LT_AC_FILE_LTDLL_C])])
+m4_ifndef([_LT_REQUIRED_DARWIN_CHECKS], [AC_DEFUN([_LT_REQUIRED_DARWIN_CHECKS])])
+m4_ifndef([_LT_AC_PROG_CXXCPP], [AC_DEFUN([_LT_AC_PROG_CXXCPP])])
+m4_ifndef([_LT_PREPARE_SED_QUOTE_VARS], [AC_DEFUN([_LT_PREPARE_SED_QUOTE_VARS])])
+m4_ifndef([_LT_PROG_ECHO_BACKSLASH], [AC_DEFUN([_LT_PROG_ECHO_BACKSLASH])])
+m4_ifndef([_LT_PROG_F77], [AC_DEFUN([_LT_PROG_F77])])
+m4_ifndef([_LT_PROG_FC], [AC_DEFUN([_LT_PROG_FC])])
+m4_ifndef([_LT_PROG_CXX], [AC_DEFUN([_LT_PROG_CXX])])
diff --git a/po/POTFILES.in b/po/POTFILES.in
index 5f7ceba..2cfe774 100644
--- a/po/POTFILES.in
+++ b/po/POTFILES.in
@@ -7,7 +7,6 @@
src/deallocvt.c
src/dumpkeys.c
src/fgconsole.c
-src/findfile.c
src/getfd.c
src/getkeycodes.c
src/getunimap.c
@@ -16,8 +15,15 @@
src/kbdrate.c
src/kdfontop.c
src/kdmapop.c
-src/ksyms.c
-src/loadkeys.analyze.c
+src/libkeymap/common.c
+src/libkeymap/dump.c
+src/libkeymap/findfile.c
+src/libkeymap/kernel.c
+src/libkeymap/kmap.c
+src/libkeymap/ksyms.c
+src/libkeymap/loadkeys.c
+src/libkeymap/modifiers.c
+src/libkeymap/summary.c
src/loadkeys.c
src/loadunimap.c
src/mapscrn.c
diff --git a/po/kbd.pot b/po/kbd.pot
index aa809e9..b4697f0 100644
--- a/po/kbd.pot
+++ b/po/kbd.pot
@@ -8,7 +8,7 @@
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: Alexey Gladkov <gladkov.alexey@gmail.com>\n"
-"POT-Creation-Date: 2012-11-16 00:52+0400\n"
+"POT-Creation-Date: 2013-01-21 03:23+0400\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -47,115 +47,12 @@
msgid "%s: could not deallocate console %d\n"
msgstr ""
-#: src/dumpkeys.c:66
-#, c-format
-msgid "KDGKBENT error at index 0 in table %d\n"
-msgstr ""
-
-#: src/dumpkeys.c:79
-#, c-format
-msgid "%s: cannot find any keymaps?\n"
-msgstr ""
-
-#: src/dumpkeys.c:84
-#, c-format
-msgid "%s: plain map not allocated? very strange ...\n"
-msgstr ""
-
-#: src/dumpkeys.c:118
-#, c-format
-msgid "KDGKBENT error at index %d in table %d\n"
-msgstr ""
-
-#: src/dumpkeys.c:272
-#, c-format
-msgid "keycode range supported by kernel: 1 - %d\n"
-msgstr ""
-
-#: src/dumpkeys.c:274
-#, c-format
-msgid "max number of actions bindable to a key: %d\n"
-msgstr ""
-
-#: src/dumpkeys.c:277
-#, c-format
-msgid "number of keymaps in actual use: %d\n"
-msgstr ""
-
-#: src/dumpkeys.c:280
-#, c-format
-msgid "of which %d dynamically allocated\n"
-msgstr ""
-
-#: src/dumpkeys.c:281
-#, c-format
-msgid "ranges of action codes supported by kernel:\n"
-msgstr ""
-
-#: src/dumpkeys.c:286
-#, c-format
-msgid "number of function keys supported by kernel: %d\n"
-msgstr ""
-
-#: src/dumpkeys.c:289
-#, c-format
-msgid "max nr of compose definitions: %d\n"
-msgstr ""
-
-#: src/dumpkeys.c:291
-#, c-format
-msgid "nr of compose definitions in actual use: %d\n"
-msgstr ""
-
-#: src/dumpkeys.c:316
-#, c-format
-msgid ""
-"Symbols recognized by %s:\n"
-"(numeric value, symbol)\n"
-"\n"
-msgstr ""
-
-#: src/dumpkeys.c:329
-#, c-format
-msgid ""
-"\n"
-"The following synonyms are recognized:\n"
-"\n"
-msgstr ""
-
-#: src/dumpkeys.c:331
-#, c-format
-msgid "%-15s for %s\n"
-msgstr ""
-
-#: src/dumpkeys.c:333
-#, c-format
-msgid ""
-"\n"
-"Recognized modifier names and their column numbers:\n"
-msgstr ""
-
-#: src/dumpkeys.c:398
-#, c-format
-msgid "# not alt_is_meta: on keymap %d key %d is bound to"
-msgstr ""
-
-#: src/dumpkeys.c:475
-#, c-format
-msgid "impossible: not meta?\n"
-msgstr ""
-
-#: src/dumpkeys.c:532
-#, c-format
-msgid "KDGKBSENT failed at index %d: "
-msgstr ""
-
-#: src/dumpkeys.c:552
+#: src/dumpkeys.c:29
#, c-format
msgid "dumpkeys version %s"
msgstr ""
-#: src/dumpkeys.c:553
+#: src/dumpkeys.c:30
#, c-format
msgid ""
"\n"
@@ -175,13 +72,31 @@
"\t-c --charset="
msgstr ""
-#: src/dumpkeys.c:570
+#: src/dumpkeys.c:47
#, c-format
msgid ""
"\t\t\t interpret character action codes to be from the\n"
"\t\t\t specified character set\n"
msgstr ""
+#: src/dumpkeys.c:128
+#, c-format
+msgid "unknown charset %s - ignoring charset request\n"
+msgstr ""
+
+#: src/dumpkeys.c:151 src/loadkeys.c:174
+#, c-format
+msgid "%s: error reading keyboard mode: %m\n"
+msgstr ""
+
+#: src/dumpkeys.c:167
+#, c-format
+msgid ""
+"Symbols recognized by %s:\n"
+"(numeric value, symbol)\n"
+"\n"
+msgstr ""
+
#: src/fgconsole.c:17
#, c-format
msgid ""
@@ -200,16 +115,6 @@
msgid "Couldn't read VTNO: "
msgstr ""
-#: src/findfile.c:51
-#, c-format
-msgid "error executing %s\n"
-msgstr ""
-
-#: src/findfile.c:157
-#, c-format
-msgid "Warning: path too long: %s/%s\n"
-msgstr ""
-
#: src/getfd.c:67
#, c-format
msgid "Couldn't open %s\n"
@@ -225,22 +130,22 @@
msgid "usage: getkeycodes\n"
msgstr ""
-#: src/getkeycodes.c:56
+#: src/getkeycodes.c:54
#, c-format
msgid "Plain scancodes xx (hex) versus keycodes (dec)\n"
msgstr ""
-#: src/getkeycodes.c:59
+#: src/getkeycodes.c:57
#, c-format
msgid "0 is an error; for 1-88 (0x01-0x58) scancode equals keycode\n"
msgstr ""
-#: src/getkeycodes.c:62
+#: src/getkeycodes.c:60
#, c-format
msgid "for 1-%d (0x01-0x%02x) scancode equals keycode\n"
msgstr ""
-#: src/getkeycodes.c:68
+#: src/getkeycodes.c:66
#, c-format
msgid ""
"\n"
@@ -248,7 +153,7 @@
"Escaped scancodes e0 xx (hex)\n"
msgstr ""
-#: src/getkeycodes.c:93
+#: src/getkeycodes.c:91
#, c-format
msgid "failed to get keycode for scancode 0x%x\n"
msgstr ""
@@ -319,31 +224,31 @@
msgid "%s: error setting keyboard mode\n"
msgstr ""
-#: src/kbdrate.c:156 src/kbdrate.c:175 src/kbdrate.c:339
+#: src/kbdrate.c:155 src/kbdrate.c:174 src/kbdrate.c:338
#, c-format
msgid "Typematic Rate set to %.1f cps (delay = %d ms)\n"
msgstr ""
-#: src/kbdrate.c:267
+#: src/kbdrate.c:266
#, c-format
msgid "Usage: kbdrate [-V] [-s] [-r rate] [-d delay]\n"
msgstr ""
-#: src/kbdrate.c:297
+#: src/kbdrate.c:296
msgid "Cannot open /dev/port"
msgstr ""
-#: src/kdfontop.c:197
+#: src/kdfontop.c:95
#, c-format
msgid "bug: getfont called with count<256\n"
msgstr ""
-#: src/kdfontop.c:201
+#: src/kdfontop.c:99
#, c-format
msgid "bug: getfont using GIO_FONT needs buf.\n"
msgstr ""
-#: src/kdfontop.c:258 src/kdmapop.c:150 src/xmalloc.c:15
+#: src/kdfontop.c:156 src/kdmapop.c:150 src/xmalloc.c:15
#, c-format
msgid "%s: out of memory\n"
msgstr ""
@@ -360,75 +265,126 @@
"No Unicode mapping table loaded.\n"
msgstr ""
-#: src/ksyms.c:1713
-#, c-format
-msgid "unknown charset %s - ignoring charset request\n"
+#: src/libkeymap/dump.c:53
+msgid "Error writing map to file"
msgstr ""
-#: src/ksyms.c:1819
+#: src/libkeymap/dump.c:469
+#, c-format
+msgid "impossible: not meta?\n"
+msgstr ""
+
+#: src/libkeymap/ksyms.c:1807
#, c-format
msgid "assuming iso-8859-1 %s\n"
msgstr ""
-#: src/ksyms.c:1826
+#: src/libkeymap/ksyms.c:1814
#, c-format
msgid "assuming iso-8859-15 %s\n"
msgstr ""
-#: src/ksyms.c:1833
+#: src/libkeymap/ksyms.c:1821
#, c-format
msgid "assuming iso-8859-2 %s\n"
msgstr ""
-#: src/ksyms.c:1840
+#: src/libkeymap/ksyms.c:1828
#, c-format
msgid "assuming iso-8859-3 %s\n"
msgstr ""
-#: src/ksyms.c:1847
+#: src/libkeymap/ksyms.c:1835
#, c-format
msgid "assuming iso-8859-4 %s\n"
msgstr ""
-#: src/ksyms.c:1852
+#: src/libkeymap/ksyms.c:1840
#, c-format
msgid "unknown keysym '%s'\n"
msgstr ""
-#: loadkeys.analyze.l:51
-msgid "includes are nested too deeply"
-msgstr ""
-
-#: loadkeys.analyze.l:238
+#: src/libkeymap/load.c:31
#, c-format
-msgid "switching to %s\n"
+msgid "KDGKBENT: %s: error at index %d in table %d"
msgstr ""
-#: loadkeys.analyze.l:242
+#: src/libkeymap/load.c:57
#, c-format
-msgid "cannot open include file %s"
+msgid "KDGKBSENT: %s: Unable to get function key string"
msgstr ""
-#: loadkeys.analyze.l:314
-msgid "expected filename between quotes"
-msgstr ""
-
-#: loadkeys.analyze.l:353
+#: src/libkeymap/load.c:87
#, c-format
-msgid "unicode keysym out of range: %s"
+msgid "KDGKBDIACR(UC): %s: Unable to get accent table"
msgstr ""
-#: loadkeys.analyze.l:404 loadkeys.analyze.l:409 loadkeys.analyze.l:414
-#: loadkeys.analyze.l:419 loadkeys.analyze.l:426
-msgid "string too long"
+#: src/libkeymap/summary.c:69
+#, c-format
+msgid "keycode range supported by kernel: 1 - %d\n"
msgstr ""
-#: loadkeys.y:93
+#: src/libkeymap/summary.c:71
+#, c-format
+msgid "max number of actions bindable to a key: %d\n"
+msgstr ""
+
+#: src/libkeymap/summary.c:73
+#, c-format
+msgid "number of keymaps in actual use: %d\n"
+msgstr ""
+
+#: src/libkeymap/summary.c:77
+#, c-format
+msgid "of which %d dynamically allocated\n"
+msgstr ""
+
+#: src/libkeymap/summary.c:79
+#, c-format
+msgid "ranges of action codes supported by kernel:\n"
+msgstr ""
+
+#: src/libkeymap/summary.c:85
+#, c-format
+msgid "number of function keys supported by kernel: %d\n"
+msgstr ""
+
+#: src/libkeymap/summary.c:87
+#, c-format
+msgid "max nr of compose definitions: %d\n"
+msgstr ""
+
+#: src/libkeymap/summary.c:89
+#, c-format
+msgid "nr of compose definitions in actual use: %d\n"
+msgstr ""
+
+#: src/libkeymap/summary.c:115
+#, c-format
+msgid ""
+"\n"
+"The following synonyms are recognized:\n"
+"\n"
+msgstr ""
+
+#: src/libkeymap/summary.c:118
+#, c-format
+msgid "%-15s for %s\n"
+msgstr ""
+
+#: src/libkeymap/summary.c:122
+#, c-format
+msgid ""
+"\n"
+"Recognized modifier names and their column numbers:\n"
+msgstr ""
+
+#: src/loadkeys.c:36
#, c-format
msgid ""
"loadkeys version %s\n"
"\n"
-"Usage: loadkeys [option...] [mapfile...]\n"
+"Usage: %s [option...] [mapfile...]\n"
"\n"
"Valid options are:\n"
"\n"
@@ -446,234 +402,36 @@
" -v --verbose report the changes\n"
msgstr ""
-#: loadkeys.y:152
+#: src/loadkeys.c:152 src/version.h:20
#, c-format
-msgid "addmap called with bad index %d"
+msgid "%s from %s\n"
msgstr ""
-#: loadkeys.y:156
-#, c-format
-msgid "adding map %d violates explicit keymaps line"
-msgstr ""
-
-#: loadkeys.y:170
-#, c-format
-msgid "killkey called with bad index %d"
-msgstr ""
-
-#: loadkeys.y:173
-#, c-format
-msgid "killkey called with bad table %d"
-msgstr ""
-
-#: loadkeys.y:189
-#, c-format
-msgid "addkey called with bad keycode %d"
-msgstr ""
-
-#: loadkeys.y:192
-#, c-format
-msgid "addkey called with bad index %d"
-msgstr ""
-
-#: loadkeys.y:195
-#, c-format
-msgid "addkey called with bad table %d"
-msgstr ""
-
-#: loadkeys.y:241
-#, c-format
-msgid "%s: addfunc called with bad func %d\n"
-msgstr ""
-
-#: loadkeys.y:272
-#, c-format
-msgid "%s: addfunc: func_buf overflow\n"
-msgstr ""
-
-#: loadkeys.y:300
-#, c-format
-msgid "compose table overflow\n"
-msgstr ""
-
-#: loadkeys.y:320
-#, c-format
-msgid "%s: could not switch to Unicode mode\n"
-msgstr ""
-
-#: loadkeys.y:339
-#, c-format
-msgid "Keymap %d: Permission denied\n"
-msgstr ""
-
-#: loadkeys.y:348
-#, c-format
-msgid "keycode %d, table %d = %d%s\n"
-msgstr ""
-
-#: loadkeys.y:350
-msgid " FAILED"
-msgstr ""
-
-#: loadkeys.y:354
-#, c-format
-msgid "failed to bind key %d to value %d\n"
-msgstr ""
-
-#: loadkeys.y:366
-#, c-format
-msgid "deallocate keymap %d\n"
-msgstr ""
-
-#: loadkeys.y:372
-#, c-format
-msgid "%s: could not deallocate keymap %d\n"
-msgstr ""
-
-#: loadkeys.y:389
-#, c-format
-msgid "%s: cannot deallocate or clear keymap\n"
-msgstr ""
-
-#: loadkeys.y:401
-#, c-format
-msgid "%s: could not return to original keyboard mode\n"
-msgstr ""
-
-#: loadkeys.y:458
-#, c-format
-msgid "failed to bind string '%s' to function %s\n"
-msgstr ""
-
-#: loadkeys.y:467
-#, c-format
-msgid "failed to clear string %s\n"
-msgstr ""
-
-#: loadkeys.y:488
-#, c-format
-msgid "too many compose definitions\n"
-msgstr ""
-
-#: loadkeys.y:580
-msgid "impossible error in do_constant"
-msgstr ""
-
-#: loadkeys.y:596
-#, c-format
-msgid ""
-"\n"
-"Changed %d %s and %d %s.\n"
-msgstr ""
-
-#: loadkeys.y:597
-msgid "key"
-msgstr ""
-
-#: loadkeys.y:597
-msgid "keys"
-msgstr ""
-
-#: loadkeys.y:598
-msgid "string"
-msgstr ""
-
-#: loadkeys.y:598
-msgid "strings"
-msgstr ""
-
-#: loadkeys.y:605
-#, c-format
-msgid "Loaded %d compose %s.\n"
-msgstr ""
-
-#: loadkeys.y:606
-msgid "definition"
-msgstr ""
-
-#: loadkeys.y:606
-msgid "definitions"
-msgstr ""
-
-#: loadkeys.y:610
-#, c-format
-msgid "(No change in compose definitions.)\n"
-msgstr ""
-
-#: loadkeys.y:650
-#, c-format
-msgid "loadkeys: don't know how to compose for %s\n"
-msgstr ""
-
-#: loadkeys.y:886 src/mapscrn.c:275 src/mapscrn.c:280
-#, c-format
-msgid "Error writing map to file\n"
-msgstr ""
-
-#: loadkeys.y:954
-#, c-format
-msgid "'%s' is not a function key symbol"
-msgstr ""
-
-#: loadkeys.y:1028
-#, c-format
-msgid "too many (%d) entries on one line"
-msgstr ""
-
-#: loadkeys.y:1042
-msgid "too many key definitions on one line"
-msgstr ""
-
-#: loadkeys.y:1057
-#, c-format
-msgid "Loading %s\n"
-msgstr ""
-
-#: loadkeys.y:1062
-#, c-format
-msgid "syntax error in map file\n"
-msgstr ""
-
-#: loadkeys.y:1066
-#, c-format
-msgid "key bindings not changed\n"
-msgstr ""
-
-#: loadkeys.y:1146
+#: src/loadkeys.c:162
#, c-format
msgid "%s: Options --unicode and --ascii are mutually exclusive\n"
msgstr ""
-#: loadkeys.y:1158
-#, c-format
-msgid "%s: error reading keyboard mode: %m\n"
-msgstr ""
-
-#: loadkeys.y:1166
+#: src/loadkeys.c:182
#, c-format
msgid ""
"%s: warning: loading non-Unicode keymap on Unicode console\n"
" (perhaps you want to do `kbd_mode -a'?)\n"
msgstr ""
-#: loadkeys.y:1178
+#: src/loadkeys.c:194
#, c-format
msgid ""
"%s: warning: loading Unicode keymap on non-Unicode console\n"
" (perhaps you want to do `kbd_mode -u'?)\n"
msgstr ""
-#: loadkeys.y:1187
-#, c-format
-msgid "Searching in %s\n"
-msgstr ""
-
-#: loadkeys.y:1197
+#: src/loadkeys.c:210
#, c-format
msgid "Cannot find %s\n"
msgstr ""
-#: loadkeys.y:1213
+#: src/loadkeys.c:232
#, c-format
msgid "cannot open file %s\n"
msgstr ""
@@ -717,37 +475,37 @@
msgid "%s: trailing junk (%s) ignored\n"
msgstr ""
-#: src/loadunimap.c:274
+#: src/loadunimap.c:273
#, c-format
msgid "Loading unicode map from file %s\n"
msgstr ""
-#: src/loadunimap.c:280
+#: src/loadunimap.c:279
#, c-format
msgid "%s: %s: Warning: line too long\n"
msgstr ""
-#: src/loadunimap.c:290
+#: src/loadunimap.c:289
#, c-format
msgid ""
"%s: not loading empty unimap\n"
"(if you insist: use option -f to override)\n"
msgstr ""
-#: src/loadunimap.c:311
+#: src/loadunimap.c:310
msgid "entry"
msgstr ""
-#: src/loadunimap.c:311
+#: src/loadunimap.c:310
msgid "entries"
msgstr ""
-#: src/loadunimap.c:337
+#: src/loadunimap.c:336
#, c-format
msgid "Saved unicode map on `%s'\n"
msgstr ""
-#: src/loadunimap.c:373
+#: src/loadunimap.c:372
#, c-format
msgid "Appended Unicode map\n"
msgstr ""
@@ -792,6 +550,11 @@
msgid "Error parsing symbolic map from `%s', line %d\n"
msgstr ""
+#: src/mapscrn.c:275 src/mapscrn.c:280
+#, c-format
+msgid "Error writing map to file\n"
+msgstr ""
+
#: src/mapscrn.c:284
#, c-format
msgid "Cannot read console map\n"
@@ -966,7 +729,7 @@
msgid "Cannot write font file header"
msgstr ""
-#: src/psffontop.c:469 src/setfont.c:677
+#: src/psffontop.c:469 src/setfont.c:678
#, c-format
msgid "Cannot write font file"
msgstr ""
@@ -1041,38 +804,38 @@
msgid "%s: input font does not have an index\n"
msgstr ""
-#: src/resizecons.c:154
+#: src/resizecons.c:153
#, c-format
msgid "resizecons: cannot find videomode file %s\n"
msgstr ""
-#: src/resizecons.c:173
+#: src/resizecons.c:172
#, c-format
msgid "Invalid number of lines\n"
msgstr ""
-#: src/resizecons.c:239
+#: src/resizecons.c:238
#, c-format
msgid "Old mode: %dx%d New mode: %dx%d\n"
msgstr ""
-#: src/resizecons.c:241
+#: src/resizecons.c:240
#, c-format
msgid "Old #scanlines: %d New #scanlines: %d Character height: %d\n"
msgstr ""
-#: src/resizecons.c:252
+#: src/resizecons.c:251
#, c-format
msgid "resizecons: the command `%s' failed\n"
msgstr ""
-#: src/resizecons.c:325
+#: src/resizecons.c:324
#, c-format
msgid ""
"resizecons: don't forget to change TERM (maybe to con%dx%d or linux-%dx%d)\n"
msgstr ""
-#: src/resizecons.c:338
+#: src/resizecons.c:337
#, c-format
msgid ""
"resizecons:\n"
@@ -1081,7 +844,7 @@
"60\n"
msgstr ""
-#: src/resizecons.c:376
+#: src/resizecons.c:375
#, c-format
msgid "resizecons: cannot get I/O permissions.\n"
msgstr ""
@@ -1212,7 +975,7 @@
msgid "Loading Unicode mapping table...\n"
msgstr ""
-#: src/setfont.c:414 src/setfont.c:500
+#: src/setfont.c:414 src/setfont.c:501
#, c-format
msgid "Cannot open font file %s\n"
msgstr ""
@@ -1237,59 +1000,59 @@
msgid "When loading several fonts, all must have the same width\n"
msgstr ""
-#: src/setfont.c:487
+#: src/setfont.c:488
#, c-format
msgid "Cannot find default font\n"
msgstr ""
-#: src/setfont.c:494
+#: src/setfont.c:495
#, c-format
msgid "Cannot find %s font\n"
msgstr ""
-#: src/setfont.c:506
+#: src/setfont.c:507
#, c-format
msgid "Reading font file %s\n"
msgstr ""
-#: src/setfont.c:546
+#: src/setfont.c:547
#, c-format
msgid "No final newline in combine file\n"
msgstr ""
-#: src/setfont.c:552
+#: src/setfont.c:553
#, c-format
msgid "Too many files to combine\n"
msgstr ""
-#: src/setfont.c:576
+#: src/setfont.c:577
#, c-format
msgid "Hmm - a font from restorefont? Using the first half.\n"
msgstr ""
-#: src/setfont.c:593
+#: src/setfont.c:594
#, c-format
msgid "Bad input file size\n"
msgstr ""
-#: src/setfont.c:614
+#: src/setfont.c:615
#, c-format
msgid ""
"This file contains 3 fonts: 8x8, 8x14 and 8x16. Please indicate\n"
"using an option -8 or -14 or -16 which one you want loaded.\n"
msgstr ""
-#: src/setfont.c:628
+#: src/setfont.c:629
#, c-format
msgid "You asked for font size %d, but only 8, 14, 16 are possible here.\n"
msgstr ""
-#: src/setfont.c:673
+#: src/setfont.c:674
#, c-format
msgid "Found nothing to save\n"
msgstr ""
-#: src/setfont.c:682
+#: src/setfont.c:683
#, c-format
msgid "Saved %d-char %dx%d font file on %s\n"
msgstr ""
@@ -1633,11 +1396,6 @@
msgid "usage: totextmode\n"
msgstr ""
-#: src/version.h:20
-#, c-format
-msgid "%s from %s\n"
-msgstr ""
-
#: src/vlock/auth.c:58
msgid ""
"Please try again later.\n"
diff --git a/src/Makefile.am b/src/Makefile.am
index 4b5012b..bfea328 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -1,7 +1,11 @@
-AM_CPPFLAGS = -DDATADIR=\"$(datadir)\" -DLOCALEDIR=\"$(localedir)\" \
+AM_CPPFLAGS = \
+ -I$(srcdir)/libkeymap -I$(builddir)/libkeymap \
+ -I$(srcdir)/libkeymap/keymap -I$(builddir)/libkeymap/keymap \
+ -DDATADIR=\"$(datadir)\" -DLOCALEDIR=\"$(localedir)\" \
+ -D_FORTIFY_SOURCE=2 \
-funit-at-a-time
-SUBDIRS = vlock
+SUBDIRS = vlock libkeymap
OLDPROGS = mapscrn loadunimap
PROGS = \
@@ -27,52 +31,55 @@
bin_PROGRAMS = $(OLDPROGS) $(PROGS)
EXTRA_DIST = \
- loadkeys.analyze.c loadkeys.analyze.h loadkeys.analyze.l wctomb.c \
+ wctomb.c \
totextmode.c README.cad README.init README.openvt \
cad
-ALL_S = modifiers.h nls.h paths.h version.h kbd.h
-FIND_S = findfile.c findfile.h
-GETFD_S = getfd.c getfd.h
-KDMA_S = kdmapop.c kdmapop.h
-KSYMS_S = ksyms.c ksyms.h cp1250.syms.h ethiopic.syms.h koi8.syms.h sami.syms.h thai.syms.h
-PSF_S = psf.h psffontop.c psffontop.h
-UNIM_S = loadunimap.c loadunimap.h
-UTF8_S = utf8.c utf8.h
-XMAL_S = xmalloc.c xmalloc.h
-chvt_SOURCES = $(ALL_S) chvt.c $(GETFD_S)
-clrunimap_SOURCES = $(ALL_S) clrunimap.c $(GETFD_S) $(KDMA_S)
-deallocvt_SOURCES = $(ALL_S) deallocvt.c $(GETFD_S)
-dumpkeys_SOURCES = $(ALL_S) dumpkeys.c $(GETFD_S) $(KSYMS_S) $(XMAL_S)
-fgconsole_SOURCES = $(ALL_S) fgconsole.c $(GETFD_S)
-getkeycodes_SOURCES = $(ALL_S) getkeycodes.c $(GETFD_S)
-getunimap_SOURCES = $(ALL_S) getunimap.c $(GETFD_S) $(KDMA_S)
-kbd_mode_SOURCES = $(ALL_S) kbd_mode.c $(GETFD_S)
-loadunimap_SOURCES = $(ALL_S) loadunimap.c $(FIND_S) $(PSF_S) $(UTF8_S) $(XMAL_S) $(GETFD_S) $(KDMA_S)
-mapscrn_SOURCES = $(ALL_S) mapscrn.c $(FIND_S) $(UTF8_S) $(XMAL_S) $(GETFD_S) $(KDMA_S)
-openvt_SOURCES = $(ALL_S) openvt.c $(GETFD_S) $(XMAL_S)
-psfxtable_SOURCES = $(ALL_S) psfxtable.c $(PSF_S) $(XMAL_S) $(UTF8_S) $(GETFD_S)
-resizecons_SOURCES = $(ALL_S) resizecons.c $(GETFD_S) $(FIND_S) $(XMAL_S)
-screendump_SOURCES = $(ALL_S) screendump.c $(XMAL_S)
-setfont_SOURCES = $(ALL_S) setfont.c $(FIND_S) $(XMAL_S) $(GETFD_S) mapscrn.c $(KDMA_S) $(PSF_S) $(UTF8_S) kdfontop.c kdfontop.h $(UNIM_S)
-setkeycodes_SOURCES = $(ALL_S) setkeycodes.c $(GETFD_S)
-setvtrgb_SOURCES = $(ALL_S) setvtrgb.c $(GETFD_S)
-setlogcons_SOURCES = $(ALL_S) setlogcons.c $(GETFD_S)
-setpalette_SOURCES = $(ALL_S) setpalette.c $(GETFD_S)
-setvesablank_SOURCES = $(ALL_S) setvesablank.c $(GETFD_S)
-showconsolefont_SOURCES = $(ALL_S) showconsolefont.c $(GETFD_S) $(XMAL_S) $(KDMA_S) kdfontop.c kdfontop.h
-showkey_SOURCES = $(ALL_S) showkey.c $(GETFD_S)
-kbdinfo_SOURCES = $(ALL_S) kbdinfo.c $(GETFD_S)
+libcommon_a_SOURCES = \
+ getfd.c getfd.h \
+ xmalloc.c xmalloc.h
+
+libfont_a_SOURCES = \
+ psf.h psffontop.c psffontop.h \
+ utf8.c utf8.h \
+ kdmapop.c kdmapop.h \
+ loadunimap.c loadunimap.h \
+ kdfontop.c kdfontop.h
+
+ALL_S = nls.h paths.h version.h kbd.h
+
+chvt_SOURCES = $(ALL_S) chvt.c
+clrunimap_SOURCES = $(ALL_S) clrunimap.c
+deallocvt_SOURCES = $(ALL_S) deallocvt.c
+fgconsole_SOURCES = $(ALL_S) fgconsole.c
+getkeycodes_SOURCES = $(ALL_S) getkeycodes.c
+getunimap_SOURCES = $(ALL_S) getunimap.c
+kbd_mode_SOURCES = $(ALL_S) kbd_mode.c
+loadunimap_SOURCES = $(ALL_S) loadunimap.c
+mapscrn_SOURCES = $(ALL_S) mapscrn.c
+openvt_SOURCES = $(ALL_S) openvt.c
+psfxtable_SOURCES = $(ALL_S) psfxtable.c
+resizecons_SOURCES = $(ALL_S) resizecons.c
+screendump_SOURCES = $(ALL_S) screendump.c
+setfont_SOURCES = $(ALL_S) setfont.c mapscrn.c
+setkeycodes_SOURCES = $(ALL_S) setkeycodes.c
+setvtrgb_SOURCES = $(ALL_S) setvtrgb.c
+setlogcons_SOURCES = $(ALL_S) setlogcons.c
+setpalette_SOURCES = $(ALL_S) setpalette.c
+setvesablank_SOURCES = $(ALL_S) setvesablank.c
+showconsolefont_SOURCES = $(ALL_S) showconsolefont.c
+showkey_SOURCES = $(ALL_S) showkey.c
+kbdinfo_SOURCES = $(ALL_S) kbdinfo.c
+
+dumpkeys_SOURCES = $(ALL_S) dumpkeys.c
+loadkeys_SOURCES = $(ALL_S) loadkeys.c
mapscrn_CFLAGS = -DMAIN
loadunimap_CFLAGS = -DMAIN
-AM_YFLAGS = -d
-AM_LFLAGS = --header-file=$(CURDIR)/loadkeys.analyze.h
-BUILT_SOURCES = loadkeys.c loadkeys.analyze.c loadkeys.h loadkeys.analyze.h
-loadkeys_SOURCES = loadkeys.y loadkeys.analyze.l $(GETFD_S) $(KSYMS_S) $(XMAL_S) $(FIND_S)
-loadkeys.analyze.h: loadkeys.analyze.c ; @true
+noinst_LIBRARIES = libcommon.a libfont.a
+LDADD = libcommon.a libfont.a libkeymap/libkeymap.la
install-exec-hook:
for i in psfaddtable psfgettable psfstriptable; do \
diff --git a/src/compat/linux-kd.h b/src/compat/linux-kd.h
new file mode 100644
index 0000000..f2d37f3
--- /dev/null
+++ b/src/compat/linux-kd.h
@@ -0,0 +1,112 @@
+/*
+ * Linux pre-0.96 introduced, and 1.1.63 removed the defines
+ * #define GIO_FONT8x8 0x4B28
+ * #define PIO_FONT8x8 0x4B29
+ * #define GIO_FONT8x14 0x4B2A
+ * #define PIO_FONT8x14 0x4B2B
+ * #define GIO_FONT8x16 0x4B2C
+ * #define PIO_FONT8x16 0x4B2D
+ * but these ioctls have never been implemented.
+ */
+
+/*
+ * Linux 0.99.14y introduces the GIO_FONT and PIO_FONT ioctls.
+ * Usage:
+ char buf[8192];
+ ioctl(fd, GIO_FONT, buf);
+ * to get 256*32=8192 bytes of data for 256 characters,
+ * 32 for each symbol, of which only the first H are used
+ * for an 8xH font.
+ * Changes in use: 1.1.74: you have to be root for PIO_FONT.
+ */
+#ifndef GIO_FONT
+#define GIO_FONT 0x4B60
+#define PIO_FONT 0x4B61
+#endif
+
+/*
+ * Linux 1.3.1 introduces 512-character fonts and the
+ * GIO_FONTX and PIO_FONTX ioctls to read and load them.
+ * The PIO_FONTX ioctl also adjusts screen character height.
+ * Usage:
+ char buf[16384];
+ struct consolefontdesc cfd;
+ cfd.charcount = fontsize;
+ cfd.charheight = height;
+ cfd.chardata = buf;
+ ioctl(fd, PIO_FONTX, &cfd);
+ * and
+ char buf[32*N];
+ cfd.charcount = N;
+ cfd.chardata = buf;
+ ioctl(fd, GIO_FONTX, &cfd);
+ * (where the ioctl will fail if N was too small);
+ * the ioctl fills cfd.charcount and cfd.charheight.
+ * With GIO_FONTX, the chardata pointer may be NULL.
+ * The old GIO_FONT will fail if the fontsize is 512.
+ */
+#ifndef GIO_FONTX
+#define GIO_FONTX 0x4B6B
+#define PIO_FONTX 0x4B6C
+struct consolefontdesc {
+ unsigned short charcount;
+ unsigned short charheight;
+ char *chardata;
+};
+#endif
+
+/*
+ * Linux 1.3.28 introduces the PIO_FONTRESET ioctl.
+ * Usage:
+ ioctl(fd, PIO_FONTRESET, 0);
+ * The default font is kept in slot 0 of the video card character ROM,
+ * and is never touched.
+ * A custom font is loaded in slot 2 (256 char) or 2:3 (512 char).
+ *
+ * However, 1.3.30 takes this away again by hiding it behind
+ * #ifndef BROKEN_GRAPHICS_PROGRAMS, while in fact this variable
+ * is defined (in vt_kern.h). Now by default every font lives in
+ * slot 0 (256 char) or 0:1 (512 char).
+ * And these days (2.2pre), even if BROKEN_GRAPHICS_PROGRAMS is undefined,
+ * the PIO_FONTRESET does not work since it is not implemented for vgacon.
+ *
+ * In other words, this ioctl is totally useless today.
+ */
+#ifndef PIO_FONTRESET
+#define PIO_FONTRESET 0x4B6D /* reset to default font */
+#endif
+
+/*
+ * Linux 2.1.111 introduces the KDFONTOP ioctl.
+ * Details of use have changed a bit in 2.1.111-115,124.
+ * Usage:
+ struct console_font_op cfo;
+ ioctl(fd, KDFONTOP, &cfo);
+ */
+#ifndef KDFONTOP
+#define KDFONTOP 0x4B72
+struct console_font_op {
+ unsigned int op; /* KD_FONT_OP_* */
+ unsigned int flags; /* KD_FONT_FLAG_* */
+ unsigned int width, height;
+ unsigned int charcount;
+ unsigned char *data; /* font data with height fixed to 32 */
+};
+
+#define KD_FONT_OP_SET 0 /* Set font */
+#define KD_FONT_OP_GET 1 /* Get font */
+#define KD_FONT_OP_SET_DEFAULT 2 /* Set font to default,
+ data points to name / NULL */
+#define KD_FONT_OP_COPY 3 /* Copy from another console */
+
+#define KD_FONT_FLAG_OLD 0x80000000 /* Invoked via old interface */
+#define KD_FONT_FLAG_DONT_RECALC 1 /* Don't call adjust_height() */
+ /* (Used internally for PIO_FONT support) */
+#endif /* KDFONTOP */
+
+#ifndef KDKBDREP
+/* usually defined in <linux/kd.h> */
+/* set keyboard delay/repeat rate;
+ * actually used values are returned */
+#define KDKBDREP 0x4B52
+#endif
diff --git a/src/compat/linux-keyboard.h b/src/compat/linux-keyboard.h
new file mode 100644
index 0000000..fcdfc30
--- /dev/null
+++ b/src/compat/linux-keyboard.h
@@ -0,0 +1,11 @@
+#ifndef KT_LETTER
+#define KT_LETTER KT_LATIN
+#endif
+
+#ifndef MAX_NR_KEYMAPS
+#define MAX_NR_KEYMAPS NR_KEYMAPS
+#endif
+
+#ifndef NR_KEYS
+#define NR_KEYS 256
+#endif
diff --git a/src/compat/linux-limits.h b/src/compat/linux-limits.h
new file mode 100644
index 0000000..a88e65f
--- /dev/null
+++ b/src/compat/linux-limits.h
@@ -0,0 +1,3 @@
+#ifndef NAME_MAX
+#define NAME_MAX 255
+#endif
diff --git a/src/dumpkeys.c b/src/dumpkeys.c
index 326ec37..cc7ae36 100644
--- a/src/dumpkeys.c
+++ b/src/dumpkeys.c
@@ -8,6 +8,7 @@
#include <ctype.h>
#include <fcntl.h>
#include <getopt.h>
+#include <unistd.h>
#include <linux/types.h>
#include <linux/kd.h>
#include <linux/keyboard.h>
@@ -20,534 +21,9 @@
#include "nls.h"
#include "version.h"
-#ifndef KT_LETTER
-#define KT_LETTER KT_LATIN
-#endif
-
-#ifndef MAX_NR_KEYMAPS
-#define MAX_NR_KEYMAPS NR_KEYMAPS
-#endif
-
static int fd;
-static int verbose;
-static int nr_keys = 0; /* probably 112, 128, 256 or 512 */
-int keymap_index[MAX_NR_KEYMAPS]; /* inverse of good_keymap */
-int good_keymap[MAX_NR_KEYMAPS], keymapnr, allocct;
-
-/* note: asking for n > 255 is not meaningful: ke.kb_index is uchar */
-static int
-has_key(int n) {
- struct kbentry ke;
-
- ke.kb_table = 0; /* plain map is always present */
- ke.kb_index = n;
- return !ioctl(fd, KDGKBENT, (unsigned long)&ke);
-}
-
-static void
-find_nr_keys(void) {
- nr_keys = (has_key(255) ? 256 : has_key(127) ? 128 : 112);
-}
-
-static void
-get_keymaps(void) {
- int i, j;
- struct kbentry ke;
-
- keymapnr = allocct = 0;
- for (i=0; i<MAX_NR_KEYMAPS; i++) {
- ke.kb_index = 0;
- ke.kb_table = i;
- j = ioctl(fd, KDGKBENT, (unsigned long)&ke);
- if (j && errno != EINVAL) {
- perror("KDGKBENT");
- fprintf(stderr,
- _("KDGKBENT error at index 0 in table %d\n"), i);
- exit(1);
- }
- if (!j && ke.kb_value != K_NOSUCHMAP) {
- keymap_index[i] = keymapnr;
- good_keymap[keymapnr++] = i;
- if (ke.kb_value == K_ALLOCATED)
- allocct++;
- } else {
- keymap_index[i] = -1;
- }
- }
- if (keymapnr == 0) {
- fprintf(stderr, _("%s: cannot find any keymaps?\n"), progname);
- exit(1);
- }
- if (good_keymap[0] != 0) {
- fprintf(stderr,
- _("%s: plain map not allocated? very strange ...\n"),
- progname);
- /* this is not fatal */
- }
-}
-
-static void
-print_keymaps(void) {
- int i,m0,m;
-
- printf("keymaps ");
- for (i=0; i<keymapnr; i++) {
- if (i)
- printf(",");
- m0 = m = good_keymap[i];
- while (i+1 < keymapnr && good_keymap[i+1] == m+1)
- i++, m++;
- if (m0 == m)
- printf("%d", m0);
- else
- printf("%d-%d", m0, m);
- }
- printf("\n");
-}
-
-static int
-get_bind(u_char kb_index, u_char kb_table) {
- struct kbentry ke;
-
- ke.kb_index = kb_index;
- ke.kb_table = kb_table;
- if (ioctl(fd, KDGKBENT, (unsigned long)&ke)) {
- if (kb_index < 128) {
- perror("KDGKBENT");
- fprintf(stderr, _("KDGKBENT error at index %d in table %d\n"),
- kb_index, kb_table);
- exit(1);
- } else
- return -1;
- }
- return ke.kb_value;
-}
-
-static void
-print_keysym(int code, char numeric) {
- unsigned int t;
- int v;
- const char *p;
- int plus;
-
- printf(" ");
- t = KTYP(code);
- v = KVAL(code);
- if (t >= syms_size) {
- if (!numeric && (p = codetoksym(code)) != NULL)
- printf("%-16s", p);
- else
- printf("U+%04x ", code ^ 0xf000);
- return;
- }
- plus = 0;
- if (t == KT_LETTER) {
- t = KT_LATIN;
- printf("+");
- plus++;
- }
- if (!numeric && t < syms_size && v < syms[t].size &&
- (p = syms[t].table[v])[0])
- printf("%-*s", 16 - plus, p);
- else if (!numeric && t == KT_META && v < 128 && v < syms[0].size &&
- (p = syms[0].table[v])[0])
- printf("Meta_%-11s", p);
- else
- printf("0x%04x %s", code, plus ? "" : " ");
-}
-
-static char
-valid_type(int t) {
- struct kbentry ke;
- char status;
-
- ke.kb_index = 0;
- ke.kb_table = 0;
- ke.kb_value = K(t, 0);
- status = (ioctl(fd, KDSKBENT, (unsigned long)&ke) == 0);
- return status;
-}
-
-static u_char
-maximum_val(int t) {
- struct kbentry ke, ke0;
- int i;
-
- ke.kb_index = 0;
- ke.kb_table = 0;
- ke.kb_value = K_HOLE;
- ke0 = ke;
- ioctl(fd, KDGKBENT, (unsigned long)&ke0);
-
- for (i = 0; i < 256; i++) {
- ke.kb_value = K(t, i);
- if (ioctl(fd, KDSKBENT, (unsigned long)&ke))
- break;
- }
- ke.kb_value = K_HOLE;
- ioctl(fd, KDSKBENT, (unsigned long)&ke0);
-
- return i - 1;
-}
-
-#define NR_TYPES 15
-int maxval[NR_TYPES];
-
-#ifdef KDGKBDIACR
-/* isgraph() does not know about iso-8859; printing the character
- unescaped makes the output easier to check. Maybe this should
- be an option. Use locale? */
-static void
-outchar (unsigned char c) {
- printf("'");
- printf((c == '\'' || c == '\\') ? "\\%c"
- : (isgraph(c) || c == ' ' || c >= 0200) ? "%c"
- : "\\%03o", c);
- printf("'");
-}
-
-#ifdef KDGKBDIACRUC
-static struct kbdiacrsuc kd;
-#else
-static struct kbdiacrs kd;
-#endif
-
-static void
-get_diacs(void) {
- static int got_diacs = 0;
-
-#ifdef KDGKBDIACRUC
- if(!got_diacs && ioctl(fd, KDGKBDIACRUC, (unsigned long)&kd)) {
- perror("KDGKBDIACRUC");
- exit(1);
- }
-#else
- if(!got_diacs && ioctl(fd, KDGKBDIACR, (unsigned long)&kd)) {
- perror("KDGKBDIACR");
- exit(1);
- }
-#endif
-
- got_diacs = 1;
-}
-
-static int
-nr_of_diacs(void) {
- get_diacs();
- return kd.kb_cnt;
-}
-
-static void
-dump_diacs(void) {
- unsigned int i;
-
- get_diacs();
-#ifdef KDGKBDIACRUC
- for (i = 0; i < kd.kb_cnt; i++) {
- printf("compose ");
- outchar(kd.kbdiacruc[i].diacr & 0xff);
- printf(" ");
- outchar(kd.kbdiacruc[i].base & 0xff);
- printf(" to U+%04x\n", kd.kbdiacruc[i].result);
- }
-#else
- for (i = 0; i < kd.kb_cnt; i++) {
- printf("compose ");
- outchar(kd.kbdiacr[i].diacr);
- printf(" ");
- outchar(kd.kbdiacr[i].base);
- printf(" to ");
- outchar(kd.kbdiacr[i].result);
- printf("\n");
- }
-#endif
-}
-#endif
-
-static void
-show_short_info(void) {
- int i;
-
- printf(_("keycode range supported by kernel: 1 - %d\n"),
- nr_keys - 1);
- printf(_("max number of actions bindable to a key: %d\n"),
- MAX_NR_KEYMAPS);
- get_keymaps();
- printf(_("number of keymaps in actual use: %d\n"),
- keymapnr);
- if (allocct)
- printf(_("of which %d dynamically allocated\n"), allocct);
- printf(_("ranges of action codes supported by kernel:\n"));
- for (i = 0; i < NR_TYPES && valid_type(i); i++) {
- maxval[i] = maximum_val(i);
- printf(" 0x%04x - 0x%04x\n", K(i, 0), K(i, maxval[i]));
- }
- printf(_("number of function keys supported by kernel: %d\n"),
- MAX_NR_FUNC);
-
- printf(_("max nr of compose definitions: %d\n"),
- MAX_DIACR);
- printf(_("nr of compose definitions in actual use: %d\n"),
- nr_of_diacs());
-}
-
-static struct {
- char *name;
- int bit;
-} modifiers[] = {
- { "shift", KG_SHIFT },
- { "altgr", KG_ALTGR },
- { "control",KG_CTRL },
- { "alt", KG_ALT },
- { "shiftl", KG_SHIFTL },
- { "shiftr", KG_SHIFTR },
- { "ctrll", KG_CTRLL },
- { "ctrlr", KG_CTRLR },
- { "capsshift", KG_CAPSSHIFT }
-};
-
-static void
-dump_symbols(void) {
- unsigned int t;
- int v;
- const char *p;
-
- printf(_("Symbols recognized by %s:\n(numeric value, symbol)\n\n"),
- progname);
- for (t = 0; t < syms_size; t++) {
- if (syms[t].size) {
- for (v = 0; v < syms[t].size; v++)
- if ((p = syms[t].table[v])[0])
- printf("0x%04x\t%s\n", K(t, v), p);
- } else if (t == KT_META) {
- for (v = 0; v < syms[0].size && v < 128; v++)
- if ((p = syms[0].table[v])[0])
- printf("0x%04x\tMeta_%s\n", K(t, v), p);
- }
- }
- printf(_("\nThe following synonyms are recognized:\n\n"));
- for (t = 0; t < syn_size; t++)
- printf(_("%-15s for %s\n"), synonyms[t].synonym,
- synonyms[t].official_name);
- printf(_("\nRecognized modifier names and their column numbers:\n"));
- for (t = 0; t < sizeof(modifiers)/sizeof(modifiers[0]); t++)
- printf("%s\t\t%3d\n", modifiers[t].name, 1 << modifiers[t].bit);
-}
-
-static void
-print_mod(int x) {
- unsigned int t;
-
- if (!x)
- printf("plain\t");
- else
- for (t = 0; t < sizeof(modifiers)/sizeof(modifiers[0]); t++)
- if (x & (1 << modifiers[t].bit))
- printf("%s\t", modifiers[t].name);
-}
-
-static void
-print_bind(int bufj, int i, int j, char numeric) {
- if(j)
- printf("\t");
- print_mod(j);
- printf("keycode %3d =", i);
- print_keysym(bufj, numeric);
- printf("\n");
-}
-
-#define DEFAULT 0
-#define FULL_TABLE 1 /* one line for each keycode */
-#define SEPARATE_LINES 2 /* one line for each (modifier,keycode) pair */
-#define UNTIL_HOLE 3 /* one line for each keycode, until 1st hole */
-
-static void
-dump_keys(char table_shape, char numeric) {
- int i, j, k;
- int buf[MAX_NR_KEYMAPS];
- int isletter, islatin, isasexpected;
- int typ, val;
- int alt_is_meta = 0;
- int zapped[MAX_NR_KEYMAPS];
-
- get_keymaps();
- print_keymaps();
- if (!keymapnr)
- return;
-
- if (table_shape == FULL_TABLE || table_shape == SEPARATE_LINES)
- goto no_shorthands;
-
- /* first pass: determine whether to set alt_is_meta */
- for (j = 0; j < MAX_NR_KEYMAPS; j++) {
- int ja = (j | M_ALT);
- if (j != ja && keymap_index[j] >= 0 && keymap_index[ja] >= 0)
- for (i = 1; i < nr_keys; i++) {
- int buf0, buf1, type;
-
- buf0 = get_bind(i, j);
- if (buf0 == -1)
- break;
- type = KTYP(buf0);
- if ((type == KT_LATIN || type == KT_LETTER)
- && KVAL(buf0) < 128) {
- buf1 = get_bind(i, ja);
- if (buf1 != K(KT_META, KVAL(buf0))) {
- if (verbose) {
- printf(_("# not alt_is_meta: "
- "on keymap %d key %d is bound to"),
- ja, i);
- print_keysym(buf1, numeric);
- printf("\n");
- }
- goto not_alt_is_meta;
- }
- }
- }
- }
- alt_is_meta = 1;
- printf("alt_is_meta\n");
-not_alt_is_meta:
-
-no_shorthands:
- for (i = 1; i < nr_keys; i++) {
- for (j = 0; j < keymapnr; j++)
- buf[j] = get_bind(i, good_keymap[j]);
- if (buf[0] == -1)
- break;
-
- if (table_shape == FULL_TABLE) {
- printf("keycode %3d =", i);
- for (j = 0; j < keymapnr; j++)
- print_keysym(buf[j], numeric);
- printf("\n");
- continue;
- }
-
- if (table_shape == SEPARATE_LINES) {
- for (j = 0; j < keymapnr; j++)
- print_bind(buf[j], i, good_keymap[j], numeric);
- printf("\n");
- continue;
- }
-
- typ = KTYP(buf[0]);
- val = KVAL(buf[0]);
- islatin = (typ == KT_LATIN || typ == KT_LETTER);
- isletter = (islatin &&
- ((val >= 'A' && val <= 'Z') ||
- (val >= 'a' && val <= 'z')));
- isasexpected = 0;
- if (isletter) {
- u_short defs[16];
- defs[0] = K(KT_LETTER, val);
- defs[1] = K(KT_LETTER, val ^ 32);
- defs[2] = defs[0];
- defs[3] = defs[1];
- for(j=4; j<8; j++)
- defs[j] = K(KT_LATIN, val & ~96);
- for(j=8; j<16; j++)
- defs[j] = K(KT_META, KVAL(defs[j-8]));
-
- for(j = 0; j < keymapnr; j++) {
- k = good_keymap[j];
- if ((k >= 16 && buf[j] != K_HOLE) || (k < 16 && buf[j] != defs[k]))
- goto unexpected;
- }
- isasexpected = 1;
- }
- unexpected:
-
- /* wipe out predictable meta bindings */
- for (j = 0; j < keymapnr; j++)
- zapped[j] = 0;
- if (alt_is_meta) {
- for(j = 0; j < keymapnr; j++) {
- int ka, ja, ktyp;
- k = good_keymap[j];
- ka = (k | M_ALT);
- ja = keymap_index[ka];
- if (k != ka && ja >= 0
- && ((ktyp=KTYP(buf[j])) == KT_LATIN || ktyp == KT_LETTER)
- && KVAL(buf[j]) < 128) {
- if (buf[ja] != K(KT_META, KVAL(buf[j])))
- fprintf(stderr, _("impossible: not meta?\n"));
- buf[ja] = K_HOLE;
- zapped[ja] = 1;
- }
- }
- }
-
- printf("keycode %3d =", i);
- if (isasexpected) {
- /* print only a single entry */
- /* suppress the + for ordinary a-zA-Z */
- print_keysym(K(KT_LATIN, val), numeric);
- printf("\n");
- } else {
- /* choose between single entry line followed by exceptions,
- and long line followed by exceptions; avoid VoidSymbol */
- int bad = 0;
- int count = 0;
- for(j = 1; j < keymapnr; j++) if (!zapped[j]) {
- if (buf[j] != buf[0])
- bad++;
- if (buf[j] != K_HOLE)
- count++;
- }
- if (bad <= count && bad < keymapnr-1) {
- if (buf[0] != K_HOLE)
- print_keysym(buf[0], numeric);
- printf("\n");
- for (j = 1; j < keymapnr; j++)
- if (buf[j] != buf[0] && !zapped[j])
- print_bind(buf[j], i, good_keymap[j], numeric);
- } else {
- for (j = 0; j < keymapnr && buf[j] != K_HOLE &&
- (j == 0 || table_shape != UNTIL_HOLE ||
- good_keymap[j] == good_keymap[j-1]+1); j++)
- print_keysym(buf[j], numeric);
- printf("\n");
- for ( ; j < keymapnr; j++)
- if (buf[j] != K_HOLE)
- print_bind(buf[j], i, good_keymap[j], numeric);
- }
- }
- }
-}
-
-static void
-dump_funcs(void) {
- int i;
- struct kbsentry fbuf;
- unsigned char *p;
-
- for (i = 0; i < MAX_NR_FUNC; i++) {
- fbuf.kb_func = i;
- if (ioctl(fd, KDGKBSENT, (unsigned long)&fbuf)) {
- if (errno == EINVAL && i > 0) /* an old kernel */
- break;
- perror("KDGKBSENT");
- fprintf(stderr, _("KDGKBSENT failed at index %d: "), i);
- exit(1);
- }
- if (!fbuf.kb_string[0])
- continue;
- printf("string %s = \"", syms[KT_FN].table[i]);
- for (p = fbuf.kb_string; *p; p++) {
- if (*p == '"' || *p == '\\') {
- putchar('\\'); putchar(*p);
- } else if (isgraph(*p) || *p == ' ')
- putchar(*p);
- else
- printf("\\%03o", *p);
- }
- printf("\"\n");
- }
-}
-
-static void attr_noreturn
+static void __attribute__ ((noreturn))
usage(void) {
fprintf(stderr, _("dumpkeys version %s"), PACKAGE_VERSION);
fprintf(stderr, _("\
@@ -566,7 +42,7 @@
--keys-only display only key bindings\n\
--compose-only display only compose key combinations\n\
-c --charset="));
- list_charsets(stderr);
+ lk_list_charsets(stderr);
fprintf(stderr, _("\
interpret character action codes to be from the\n\
specified character set\n\
@@ -576,7 +52,7 @@
int
main (int argc, char *argv[]) {
- const char *short_opts = "hilvsnf1S:c:V";
+ const char *short_opts = "hilvsnf1tkdS:c:V";
const struct option long_opts[] = {
{ "help", no_argument, NULL, 'h' },
{ "short-info", no_argument, NULL, 'i' },
@@ -593,21 +69,30 @@
{ "version", no_argument, NULL, 'V' },
{ NULL, 0, NULL, 0 }
};
- int c;
+ int c, rc;
+ int kbd_mode;
+
char long_info = 0;
char short_info = 0;
char numeric = 0;
- char table_shape = 0;
+ lk_table_shape table = LK_SHAPE_DEFAULT;
char funcs_only = 0;
char keys_only = 0;
char diac_only = 0;
+ struct lk_ctx *ctx;
+
set_progname(argv[0]);
setlocale(LC_ALL, "");
bindtextdomain(PACKAGE_NAME, LOCALEDIR);
textdomain(PACKAGE_NAME);
+ ctx = lk_init();
+ if (!ctx) {
+ exit(EXIT_FAILURE);
+ }
+
while ((c = getopt_long(argc, argv,
short_opts, long_opts, NULL)) != -1) {
switch (c) {
@@ -622,13 +107,13 @@
numeric = 1;
break;
case 'f':
- table_shape = FULL_TABLE;
+ table = LK_SHAPE_FULL_TABLE;
break;
case '1':
- table_shape = SEPARATE_LINES;
+ table = LK_SHAPE_SEPARATE_LINES;
break;
case 'S':
- table_shape = atoi(optarg);
+ table = atoi(optarg);
break;
case 't':
funcs_only = 1;
@@ -640,11 +125,14 @@
diac_only = 1;
break;
case 'v':
- verbose = 1;
+ lk_set_log_priority(ctx, LOG_INFO);
break;
case 'c':
- if ((set_charset(optarg)) != 0)
+ if ((lk_set_charset(ctx, optarg)) != 0) {
+ fprintf(stderr, _("unknown charset %s - ignoring charset request\n"),
+ optarg);
usage();
+ }
printf("charset \"%s\"\n", optarg);
break;
case 'V':
@@ -660,27 +148,49 @@
fd = getfd(NULL);
- find_nr_keys();
+ /* check whether the keyboard is in Unicode mode */
+ if (ioctl(fd, KDGKBMODE, &kbd_mode)) {
+ fprintf(stderr, _("%s: error reading keyboard mode: %m\n"),
+ progname);
+ exit(EXIT_FAILURE);
+ }
+
+ if (kbd_mode == K_UNICODE) {
+ lk_set_parser_flags(ctx, LK_FLAG_PREFER_UNICODE);
+ }
+
+ if ((rc = lk_kernel_keymap(ctx, fd)) < 0)
+ goto fail;
if (short_info || long_info) {
- show_short_info();
- if (long_info)
- dump_symbols();
- exit(0);
+ lk_dump_summary(ctx, stdout, fd);
+
+ if (long_info) {
+ printf(_("Symbols recognized by %s:\n(numeric value, symbol)\n\n"),
+ progname);
+ lk_dump_symbols(stdout);
+ }
+ exit(EXIT_SUCCESS);
}
#ifdef KDGKBDIACR
if (!diac_only) {
#endif
- if (!funcs_only)
- dump_keys(table_shape, numeric);
- if (!keys_only)
- dump_funcs();
+ if (!funcs_only) {
+ lk_dump_keymap(ctx, stdout, table, numeric);
+ }
#ifdef KDGKBDIACR
}
+
if (!funcs_only && !keys_only)
- dump_diacs();
+ lk_dump_diacs(ctx, stdout);
#endif
- exit(0);
+ fail: lk_free(ctx);
+ close(fd);
+
+ if (rc < 0)
+ exit(EXIT_FAILURE);
+
+ exit(EXIT_SUCCESS);
}
diff --git a/src/fgconsole.c b/src/fgconsole.c
index 268bfda..d4a2e23 100644
--- a/src/fgconsole.c
+++ b/src/fgconsole.c
@@ -11,7 +11,7 @@
#include "nls.h"
#include "version.h"
-static void attr_noreturn
+static void __attribute__ ((noreturn))
usage(void)
{
fprintf(stderr, _("%s version %s\n"
diff --git a/src/findfile.c b/src/findfile.c
deleted file mode 100644
index f7551f9..0000000
--- a/src/findfile.c
+++ /dev/null
@@ -1,278 +0,0 @@
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-#include <unistd.h>
-#include <sys/param.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <dirent.h>
-#include "xmalloc.h"
-#include "findfile.h"
-#include "nls.h"
-
-char pathname[MAXPATHLEN];
-int ispipe;
-
-void fpclose(FILE *fp) {
- if (ispipe)
- pclose(fp);
- else
- fclose(fp);
-}
-
-void fpclose1(FILE *fp, int is_pipe) {
- if (is_pipe)
- pclose(fp);
- else
- fclose(fp);
-}
-
-#define SIZE(a) (sizeof(a)/sizeof(a[0]))
-
-static struct decompressor {
- char *ext; /* starts with `.', has no other dots */
- char *cmd;
-} decompressors[] = {
- { ".gz", "gzip -d -c" },
- { ".bz2", "bzip2 -d -c" },
- { 0, 0 }
-};
-
-static FILE *
-pipe_open(struct decompressor *dc) {
- char *pipe_cmd;
- FILE *fp;
-
- ispipe = 1;
- pipe_cmd = xmalloc(strlen(dc->cmd) + strlen(pathname) + 2);
- sprintf(pipe_cmd, "%s %s", dc->cmd, pathname);
- fp = popen(pipe_cmd, "r");
- if (fp == NULL)
- fprintf(stderr, _("error executing %s\n"), pipe_cmd);
- xfree(pipe_cmd);
- return fp;
-}
-
-/* If a file PATHNAME exists, then open it.
- If is has a `compressed' extension, then open a pipe reading it */
-static FILE *
-maybe_pipe_open(void) {
- FILE *fp;
- char *t;
- struct decompressor *dc;
-
- if ((fp = fopen(pathname, "r")) != NULL) {
- t = strrchr(pathname, '.');
- if (t) {
- for (dc = &decompressors[0]; dc->cmd; dc++)
- if (strcmp(t, dc->ext) == 0) {
- fclose(fp);
- return pipe_open(dc);
- }
- }
- }
- return fp;
-}
-
-static FILE *
-findfile_by_fullname(char *fnam, char **suffixes) {
- FILE *fp = NULL;
- char **sp;
- struct stat st;
- struct decompressor *dc;
- size_t fnam_len, sp_len;
-
- fnam_len = strlen(fnam);
-
- for (sp = suffixes; *sp; sp++) {
- if (*sp == 0)
- continue; /* we tried it already */
-
- sp_len = strlen(*sp);
-
- if (fnam_len + sp_len + 1 > sizeof(pathname))
- continue;
-
- sprintf(pathname, "%s%s", fnam, *sp);
-
- if(stat(pathname, &st) == 0
- && S_ISREG(st.st_mode)
- && (fp = fopen(pathname, "r")) != NULL)
- return fp;
-
- for (dc = &decompressors[0]; dc->cmd; dc++) {
- if (fnam_len + sp_len + strlen(dc->ext) + 1 > sizeof(pathname))
- continue;
-
- sprintf(pathname, "%s%s%s", fnam, *sp, dc->ext);
-
- if (stat(pathname, &st) == 0
- && S_ISREG(st.st_mode)
- && access(pathname, R_OK) == 0)
- return pipe_open(dc);
- }
- }
-
- return NULL;
-}
-
-static FILE *
-findfile_in_dir(char *fnam, char *dir, int recdepth, char **suf) {
- FILE *fp = NULL;
- DIR *d;
- struct dirent *de;
- char *ff, *fdir, *p, *q, **sp;
- struct decompressor *dc;
- int secondpass = 0;
- size_t dir_len;
-
- ispipe = 0;
-
- if ((d = opendir(dir)) == NULL)
- return NULL;
-
- dir_len = strlen(dir);
-
- fdir = NULL;
- if ((ff = strchr(fnam, '/')) != NULL)
- fdir = xstrndup(fnam, ff - fnam);
-
- /* Scan the directory twice: first for files, then
- for subdirectories, so that we do never search
- a subdirectory when the directory itself already
- contains the file we are looking for. */
-StartScan:
- while ((de = readdir(d)) != NULL) {
- struct stat st;
- int okdir;
- size_t d_len;
-
- d_len = strlen(de->d_name);
- if (d_len < 3) {
- if (!strcmp(de->d_name, ".") || !strcmp(de->d_name, ".."))
- continue;
- }
-
- if (dir_len + d_len + 2 > sizeof(pathname)) {
- fprintf(stderr, _("Warning: path too long: %s/%s\n"), dir, de->d_name);
- continue;
- }
-
- okdir = (ff && strcmp(de->d_name, fdir) == 0);
-
- if ((secondpass && recdepth) || okdir) {
- char *a;
-
- a = xmalloc(dir_len + d_len + 2);
- sprintf(a, "%s/%s", dir, de->d_name);
-
- if (stat(a, &st) == 0 && S_ISDIR(st.st_mode)) {
- if (okdir)
- fp = findfile_in_dir(ff+1, a, 0, suf);
-
- if (!fp && recdepth)
- fp = findfile_in_dir(fnam, a, recdepth-1, suf);
-
- if (fp) {
- xfree(a);
- goto EndScan;
- }
- }
- xfree(a);
- }
-
- if (secondpass)
- continue;
-
- /* Should we be in a subdirectory? */
- if (ff)
- continue;
-
- /* Does d_name start right? */
- p = &de->d_name[0];
- q = fnam;
- while (*p && *p == *q) p++,q++;
- if (*q)
- continue;
-
- sprintf(pathname, "%s/%s", dir, de->d_name);
- if (stat(pathname, &st) != 0 || !S_ISREG(st.st_mode))
- continue;
-
- /* Does tail consist of a known suffix and possibly
- a compression suffix? */
- for(sp = suf; *sp; sp++) {
- size_t l;
-
- if (!strcmp(p, *sp)) {
- fp = maybe_pipe_open();
- goto EndScan;
- }
-
- l = strlen(*sp);
- if (!strncmp(p, *sp, l)) {
- for (dc = &decompressors[0]; dc->cmd; dc++)
- if (strcmp(p+l, dc->ext) == 0) {
- fp = pipe_open(dc);
- goto EndScan;
- }
- }
- }
- }
-
- if (recdepth > 0 && !secondpass) {
- secondpass = 1;
- seekdir(d, 0);
- goto StartScan;
- }
-
-EndScan:
- xfree(fdir);
- closedir(d);
- return fp;
-}
-
-/* find input file; leave name in pathname[] */
-FILE *
-findfile(char *fnam, char **dirpath, char **suffixes) {
- char **dp, *dir;
- FILE *fp = NULL;
- int dl, recdepth;
-
- if (strlen(fnam) >= sizeof(pathname))
- return NULL;
-
- /* Try explicitly given name first */
- strcpy(pathname, fnam);
- fp = maybe_pipe_open();
- if (fp)
- return fp;
-
- /* Test for full pathname - opening it failed, so need suffix */
- /* (This is just nonsense, for backwards compatibility.) */
- if (*fnam == '/')
- return findfile_by_fullname(fnam, suffixes);
-
- /* Search a list of directories and directory hierarchies */
- for (dp = dirpath; (*dp && !fp); dp++) {
- recdepth = 0;
- dl = strlen(*dp);
-
- /* trailing stars denote recursion */
- while (dl && (*dp)[dl-1] == '*')
- dl--, recdepth++;
-
- /* delete trailing slashes */
- while (dl && (*dp)[dl-1] == '/')
- dl--;
-
- if (dl)
- dir = xstrndup(*dp, dl);
- else
- dir = xstrdup(".");
-
- fp = findfile_in_dir(fnam, dir, recdepth, suffixes);
- xfree(dir);
- }
- return fp;
-}
diff --git a/src/findfile.h b/src/findfile.h
deleted file mode 100644
index e97a016..0000000
--- a/src/findfile.h
+++ /dev/null
@@ -1,17 +0,0 @@
-#ifndef _FINDFILE_H
-#define _FINDFILE_H
-
-typedef struct lkfile {
- FILE *fd;
- int pipe;
-} lkfile_y;
-
-extern char pathname[];
-extern int ispipe;
-
-extern void fpclose(FILE *fp);
-extern void fpclose1(FILE *fp, int pipe);
-//extern void fpclose1(lkfile_t *fp);
-extern FILE *findfile(char *fnam, char **dirpath, char **suffixes);
-
-#endif /* _FINDFILE_H */
diff --git a/src/getkeycodes.c b/src/getkeycodes.c
index 9bee144..d1fccf9 100644
--- a/src/getkeycodes.c
+++ b/src/getkeycodes.c
@@ -13,7 +13,7 @@
#include "nls.h"
#include "version.h"
-static void attr_noreturn
+static void __attribute__ ((noreturn))
usage(void) {
fprintf(stderr, _("usage: getkeycodes\n"));
exit(1);
@@ -24,7 +24,6 @@
int fd;
unsigned int sc, sc0;
struct kbkeycode a;
- int old_kernel = 0;
set_progname(argv[0]);
@@ -43,7 +42,6 @@
a.scancode = 0;
a.keycode = 0;
if (ioctl(fd, KDGETKEYCODE, &a)) {
- old_kernel = 1;
sc0 = 89;
} else
for (sc0 = 1; sc0 <= 88; sc0++) {
diff --git a/src/getunimap.c b/src/getunimap.c
index e36326d..5e7b8fb 100644
--- a/src/getunimap.c
+++ b/src/getunimap.c
@@ -24,7 +24,7 @@
return (int) fp1 - (int) fp2;
}
-static void attr_noreturn
+static void __attribute__ ((noreturn))
usage(void) {
fprintf(stderr, _("Usage:\n\t%s [-s] [-C console]\n"), progname);
exit(1);
diff --git a/src/kbd.h b/src/kbd.h
index 08c6945..102a475 100644
--- a/src/kbd.h
+++ b/src/kbd.h
@@ -1,8 +1,8 @@
#ifndef _KBD_H
#define _KBD_H
-#define attr_noreturn __attribute__ ((noreturn))
-#define attr_unused __attribute__ ((unused))
-#define attr_format_1_2 __attribute__ ((format (printf, 1, 2)))
+#ifndef __GNUC__
+# define __attribute__(x) /*NOTHING*/
+#endif
#endif /* _KBD_H */
diff --git a/src/kbd_mode.c b/src/kbd_mode.c
index 991df8d..7d979a1 100644
--- a/src/kbd_mode.c
+++ b/src/kbd_mode.c
@@ -15,7 +15,7 @@
#include "nls.h"
#include "version.h"
-static void attr_noreturn
+static void __attribute__ ((noreturn))
usage(void){
fprintf(stderr, _("usage: kbd_mode [-a|-u|-k|-s] [-C device]\n"));
exit(1);
diff --git a/src/kbdinfo.c b/src/kbdinfo.c
index 615cfee..e5f122d 100644
--- a/src/kbdinfo.c
+++ b/src/kbdinfo.c
@@ -12,7 +12,7 @@
static const char *action = NULL;
static const char *value = NULL;
-static void attr_noreturn
+static void __attribute__ ((noreturn))
usage(int code) {
fprintf(stderr,
_("Usage: %1$s [-C DEVICE] getmode [text|graphics]\n"
diff --git a/src/kbdrate.c b/src/kbdrate.c
index 95ff723..2ab8388 100644
--- a/src/kbdrate.c
+++ b/src/kbdrate.c
@@ -74,15 +74,14 @@
#include <errno.h>
#include <sys/file.h>
#include <sys/ioctl.h>
+#include <linux/kd.h>
#ifdef __sparc__
#include <asm/param.h>
#endif
-#ifndef KDKBDREP
-/* usually defined in <linux/kd.h> */
-#define KDKBDREP 0x4B52 /* set keyboard delay/repeat rate;
- * actually used values are returned */
+#ifdef COMPAT_HEADERS
+#include "compat/linux-kd.h"
#endif
/* Equal to kernel version, but field names vary. */
@@ -179,7 +178,7 @@
}
#ifndef KIOCSRATE
-#define arg_state attr_unused
+#define arg_state __attribute__ ((unused))
#else
#define arg_state
#endif
@@ -218,7 +217,7 @@
}
static void
-sigalrmhandler( attr_unused int sig ) {
+sigalrmhandler(int sig __attribute__ ((unused))) {
fprintf( stderr, "kbdrate: Failed waiting for kbd controller!\n" );
raise( SIGINT );
}
diff --git a/src/kdfontop.c b/src/kdfontop.c
index 51158fd..88f5411 100644
--- a/src/kdfontop.c
+++ b/src/kdfontop.c
@@ -14,82 +14,8 @@
#include "nls.h"
#include "version.h"
-/*
- * Linux pre-0.96 introduced, and 1.1.63 removed the defines
- * #define GIO_FONT8x8 0x4B28
- * #define PIO_FONT8x8 0x4B29
- * #define GIO_FONT8x14 0x4B2A
- * #define PIO_FONT8x14 0x4B2B
- * #define GIO_FONT8x16 0x4B2C
- * #define PIO_FONT8x16 0x4B2D
- * but these ioctls have never been implemented.
- */
-
-/*
- * Linux 0.99.14y introduces the GIO_FONT and PIO_FONT ioctls.
- * Usage:
- char buf[8192];
- ioctl(fd, GIO_FONT, buf);
- * to get 256*32=8192 bytes of data for 256 characters,
- * 32 for each symbol, of which only the first H are used
- * for an 8xH font.
- * Changes in use: 1.1.74: you have to be root for PIO_FONT.
- */
-#ifndef GIO_FONT
-#define GIO_FONT 0x4B60
-#define PIO_FONT 0x4B61
-#endif
-
-/*
- * Linux 1.3.1 introduces 512-character fonts and the
- * GIO_FONTX and PIO_FONTX ioctls to read and load them.
- * The PIO_FONTX ioctl also adjusts screen character height.
- * Usage:
- char buf[16384];
- struct consolefontdesc cfd;
- cfd.charcount = fontsize;
- cfd.charheight = height;
- cfd.chardata = buf;
- ioctl(fd, PIO_FONTX, &cfd);
- * and
- char buf[32*N];
- cfd.charcount = N;
- cfd.chardata = buf;
- ioctl(fd, GIO_FONTX, &cfd);
- * (where the ioctl will fail if N was too small);
- * the ioctl fills cfd.charcount and cfd.charheight.
- * With GIO_FONTX, the chardata pointer may be NULL.
- * The old GIO_FONT will fail if the fontsize is 512.
- */
-#ifndef GIO_FONTX
-#define GIO_FONTX 0x4B6B
-#define PIO_FONTX 0x4B6C
-struct consolefontdesc {
- unsigned short charcount;
- unsigned short charheight;
- char *chardata;
-};
-#endif
-
-/*
- * Linux 1.3.28 introduces the PIO_FONTRESET ioctl.
- * Usage:
- ioctl(fd, PIO_FONTRESET, 0);
- * The default font is kept in slot 0 of the video card character ROM,
- * and is never touched.
- * A custom font is loaded in slot 2 (256 char) or 2:3 (512 char).
- *
- * However, 1.3.30 takes this away again by hiding it behind
- * #ifndef BROKEN_GRAPHICS_PROGRAMS, while in fact this variable
- * is defined (in vt_kern.h). Now by default every font lives in
- * slot 0 (256 char) or 0:1 (512 char).
- * And these days (2.2pre), even if BROKEN_GRAPHICS_PROGRAMS is undefined,
- * the PIO_FONTRESET does not work since it is not implemented for vgacon.
- *
- * In other words, this ioctl is totally useless today.
- */
-#ifndef PIO_FONTRESET
-#define PIO_FONTRESET 0x4B6D /* reset to default font */
+#ifdef COMPAT_HEADERS
+#include "compat/linux-kd.h"
#endif
int
@@ -101,34 +27,6 @@
return 0;
}
-/*
- * Linux 2.1.111 introduces the KDFONTOP ioctl.
- * Details of use have changed a bit in 2.1.111-115,124.
- * Usage:
- struct console_font_op cfo;
- ioctl(fd, KDFONTOP, &cfo);
- */
-#ifndef KDFONTOP
-#define KDFONTOP 0x4B72
-struct console_font_op {
- unsigned int op; /* KD_FONT_OP_* */
- unsigned int flags; /* KD_FONT_FLAG_* */
- unsigned int width, height;
- unsigned int charcount;
- unsigned char *data; /* font data with height fixed to 32 */
-};
-
-#define KD_FONT_OP_SET 0 /* Set font */
-#define KD_FONT_OP_GET 1 /* Get font */
-#define KD_FONT_OP_SET_DEFAULT 2 /* Set font to default,
- data points to name / NULL */
-#define KD_FONT_OP_COPY 3 /* Copy from another console */
-
-#define KD_FONT_FLAG_OLD 0x80000000 /* Invoked via old interface */
-#define KD_FONT_FLAG_DONT_RECALC 1 /* Don't call adjust_height() */
- /* (Used internally for PIO_FONT support) */
-#endif /* KDFONTOP */
-
int
font_charheight(unsigned char *buf, int count, int width) {
int h, i, x;
diff --git a/src/ksyms.c b/src/ksyms.c
deleted file mode 100644
index a7b7394..0000000
--- a/src/ksyms.c
+++ /dev/null
@@ -1,1909 +0,0 @@
-#include <linux/keyboard.h>
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-#include "ksyms.h"
-#include "nls.h"
-
-/* Keysyms whose KTYP is KT_LATIN or KT_LETTER and whose KVAL is 0..127. */
-
-static const char *iso646_syms[] = {
- "nul",
- "Control_a",
- "Control_b",
- "Control_c",
- "Control_d",
- "Control_e",
- "Control_f",
- "Control_g",
- "BackSpace",
- "Tab",
- "Linefeed",
- "Control_k",
- "Control_l",
- "Control_m",
- "Control_n",
- "Control_o",
- "Control_p",
- "Control_q",
- "Control_r",
- "Control_s",
- "Control_t",
- "Control_u",
- "Control_v",
- "Control_w",
- "Control_x",
- "Control_y",
- "Control_z",
- "Escape",
- "Control_backslash",
- "Control_bracketright",
- "Control_asciicircum",
- "Control_underscore",
- "space",
- "exclam",
- "quotedbl",
- "numbersign",
- "dollar",
- "percent",
- "ampersand",
- "apostrophe",
- "parenleft",
- "parenright",
- "asterisk",
- "plus",
- "comma",
- "minus",
- "period",
- "slash",
- "zero",
- "one",
- "two",
- "three",
- "four",
- "five",
- "six",
- "seven",
- "eight",
- "nine",
- "colon",
- "semicolon",
- "less",
- "equal",
- "greater",
- "question",
- "at",
- "A",
- "B",
- "C",
- "D",
- "E",
- "F",
- "G",
- "H",
- "I",
- "J",
- "K",
- "L",
- "M",
- "N",
- "O",
- "P",
- "Q",
- "R",
- "S",
- "T",
- "U",
- "V",
- "W",
- "X",
- "Y",
- "Z",
- "bracketleft",
- "backslash",
- "bracketright",
- "asciicircum",
- "underscore",
- "grave",
- "a",
- "b",
- "c",
- "d",
- "e",
- "f",
- "g",
- "h",
- "i",
- "j",
- "k",
- "l",
- "m",
- "n",
- "o",
- "p",
- "q",
- "r",
- "s",
- "t",
- "u",
- "v",
- "w",
- "x",
- "y",
- "z",
- "braceleft",
- "bar",
- "braceright",
- "asciitilde",
- "Delete",
-
- /* set_charset() fills in charset dependent strings here. */
- /* start with the latin1 defaults */
- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "",
- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "",
- "nobreakspace",
- "exclamdown",
- "cent",
- "sterling",
- "currency",
- "yen",
- "brokenbar",
- "section",
- "diaeresis",
- "copyright",
- "ordfeminine",
- "guillemotleft",
- "notsign",
- "hyphen",
- "registered",
- "macron",
- "degree",
- "plusminus",
- "twosuperior",
- "threesuperior",
- "acute",
- "mu",
- "paragraph",
- "periodcentered",
- "cedilla",
- "onesuperior",
- "masculine",
- "guillemotright",
- "onequarter",
- "onehalf",
- "threequarters",
- "questiondown",
- "Agrave",
- "Aacute",
- "Acircumflex",
- "Atilde",
- "Adiaeresis",
- "Aring",
- "AE",
- "Ccedilla",
- "Egrave",
- "Eacute",
- "Ecircumflex",
- "Ediaeresis",
- "Igrave",
- "Iacute",
- "Icircumflex",
- "Idiaeresis",
- "ETH",
- "Ntilde",
- "Ograve",
- "Oacute",
- "Ocircumflex",
- "Otilde",
- "Odiaeresis",
- "multiply",
- "Ooblique",
- "Ugrave",
- "Uacute",
- "Ucircumflex",
- "Udiaeresis",
- "Yacute",
- "THORN",
- "ssharp",
- "agrave",
- "aacute",
- "acircumflex",
- "atilde",
- "adiaeresis",
- "aring",
- "ae",
- "ccedilla",
- "egrave",
- "eacute",
- "ecircumflex",
- "ediaeresis",
- "igrave",
- "iacute",
- "icircumflex",
- "idiaeresis",
- "eth",
- "ntilde",
- "ograve",
- "oacute",
- "ocircumflex",
- "otilde",
- "odiaeresis",
- "division",
- "oslash",
- "ugrave",
- "uacute",
- "ucircumflex",
- "udiaeresis",
- "yacute",
- "thorn",
- "ydiaeresis",
-};
-
-/* Keysyms whose KTYP is KT_LATIN or KT_LETTER and whose KVAL is 128..255,
- and their Unicode equivalent. */
-
-static sym latin1_syms[] = {
- { 0x00a0, "nobreakspace" },
- { 0x00a1, "exclamdown" },
- { 0x00a2, "cent" },
- { 0x00a3, "sterling" },
- { 0x00a4, "currency" },
- { 0x00a5, "yen" },
- { 0x00a6, "brokenbar" },
- { 0x00a7, "section" },
- { 0x00a8, "diaeresis" },
- { 0x00a9, "copyright" },
- { 0x00aa, "ordfeminine" },
- { 0x00ab, "guillemotleft" },
- { 0x00ac, "notsign" },
- { 0x00ad, "hyphen" },
- { 0x00ae, "registered" },
- { 0x00af, "macron" },
- { 0x00b0, "degree" },
- { 0x00b1, "plusminus" },
- { 0x00b2, "twosuperior" },
- { 0x00b3, "threesuperior" },
- { 0x00b4, "acute" },
- { 0x00b5, "mu" },
- { 0x00b6, "paragraph" },
- { 0x00b7, "periodcentered" },
- { 0x00b8, "cedilla" },
- { 0x00b9, "onesuperior" },
- { 0x00ba, "masculine" },
- { 0x00bb, "guillemotright" },
- { 0x00bc, "onequarter" },
- { 0x00bd, "onehalf" },
- { 0x00be, "threequarters" },
- { 0x00bf, "questiondown" },
- { 0x00c0, "Agrave" },
- { 0x00c1, "Aacute" },
- { 0x00c2, "Acircumflex" },
- { 0x00c3, "Atilde" },
- { 0x00c4, "Adiaeresis" },
- { 0x00c5, "Aring" },
- { 0x00c6, "AE" },
- { 0x00c7, "Ccedilla" },
- { 0x00c8, "Egrave" },
- { 0x00c9, "Eacute" },
- { 0x00ca, "Ecircumflex" },
- { 0x00cb, "Ediaeresis" },
- { 0x00cc, "Igrave" },
- { 0x00cd, "Iacute" },
- { 0x00ce, "Icircumflex" },
- { 0x00cf, "Idiaeresis" },
- { 0x00d0, "ETH" },
- { 0x00d1, "Ntilde" },
- { 0x00d2, "Ograve" },
- { 0x00d3, "Oacute" },
- { 0x00d4, "Ocircumflex" },
- { 0x00d5, "Otilde" },
- { 0x00d6, "Odiaeresis" },
- { 0x00d7, "multiply" },
- { 0x00d8, "Ooblique" },
- { 0x00d9, "Ugrave" },
- { 0x00da, "Uacute" },
- { 0x00db, "Ucircumflex" },
- { 0x00dc, "Udiaeresis" },
- { 0x00dd, "Yacute" },
- { 0x00de, "THORN" },
- { 0x00df, "ssharp" },
- { 0x00e0, "agrave" },
- { 0x00e1, "aacute" },
- { 0x00e2, "acircumflex" },
- { 0x00e3, "atilde" },
- { 0x00e4, "adiaeresis" },
- { 0x00e5, "aring" },
- { 0x00e6, "ae" },
- { 0x00e7, "ccedilla" },
- { 0x00e8, "egrave" },
- { 0x00e9, "eacute" },
- { 0x00ea, "ecircumflex" },
- { 0x00eb, "ediaeresis" },
- { 0x00ec, "igrave" },
- { 0x00ed, "iacute" },
- { 0x00ee, "icircumflex" },
- { 0x00ef, "idiaeresis" },
- { 0x00f0, "eth" },
- { 0x00f1, "ntilde" },
- { 0x00f2, "ograve" },
- { 0x00f3, "oacute" },
- { 0x00f4, "ocircumflex" },
- { 0x00f5, "otilde" },
- { 0x00f6, "odiaeresis" },
- { 0x00f7, "division" },
- { 0x00f8, "oslash" },
- { 0x00f9, "ugrave" },
- { 0x00fa, "uacute" },
- { 0x00fb, "ucircumflex" },
- { 0x00fc, "udiaeresis" },
- { 0x00fd, "yacute" },
- { 0x00fe, "thorn" },
- { 0x00ff, "ydiaeresis" }
-};
-
-static sym latin2_syms[] = {
- { 0x00a0, "" }, /* 0240 */
- { 0x0104, "Aogonek" },
- { 0x02d8, "breve" },
- { 0x0141, "Lstroke" },
- { 0x00a4, "" },
- { 0x013d, "Lcaron" },
- { 0x015a, "Sacute" },
- { 0x00a7, "" },
- { 0x00a8, "" },
- { 0x0160, "Scaron" },
- { 0x015e, "Scedilla" },
- { 0x0164, "Tcaron" },
- { 0x0179, "Zacute" },
- { 0x00ad, "" },
- { 0x017d, "Zcaron" },
- { 0x017b, "Zabovedot" },
- { 0x00b0, "" },
- { 0x0105, "aogonek" },
- { 0x02db, "ogonek" },
- { 0x0142, "lstroke" },
- { 0x00b4, "" },
- { 0x013e, "lcaron" },
- { 0x015b, "sacute" },
- { 0x02c7, "caron" },
- { 0x00b8, "" },
- { 0x0161, "scaron" },
- { 0x015f, "scedilla" },
- { 0x0165, "tcaron" },
- { 0x017a, "zacute" },
- { 0x02dd, "doubleacute" },
- { 0x017e, "zcaron" },
- { 0x017c, "zabovedot" },
- { 0x0154, "Racute" }, /* 0300 */
- { 0x00c1, "" },
- { 0x00c2, "" },
- { 0x0102, "Abreve" },
- { 0x00c4, "" },
- { 0x0139, "Lacute" },
- { 0x0106, "Cacute" },
- { 0x00c7, "" },
- { 0x010c, "Ccaron" },
- { 0x00c9, "" },
- { 0x0118, "Eogonek" },
- { 0x00cb, "" },
- { 0x011a, "Ecaron" },
- { 0x00cd, "" },
- { 0x00ce, "" },
- { 0x010e, "Dcaron" },
- { 0x0110, "Dstroke" },
- { 0x0143, "Nacute" },
- { 0x0147, "Ncaron" },
- { 0x00d3, "" },
- { 0x00d4, "" },
- { 0x0150, "Odoubleacute" },
- { 0x00d6, "" },
- { 0x00d7, "" },
- { 0x0158, "Rcaron" },
- { 0x016e, "Uring" },
- { 0x00da, "" },
- { 0x0170, "Udoubleacute" },
- { 0x00dc, "" },
- { 0x00dd, "" },
- { 0x0162, "Tcedilla" },
- { 0x00df, "" },
- { 0x0155, "racute" },
- { 0x00e1, "" },
- { 0x00e2, "" },
- { 0x0103, "abreve" },
- { 0x00e4, "" },
- { 0x013a, "lacute" },
- { 0x0107, "cacute" },
- { 0x00e7, "" },
- { 0x010d, "ccaron" },
- { 0x00e9, "" },
- { 0x0119, "eogonek" },
- { 0x00eb, "" },
- { 0x011b, "ecaron" },
- { 0x00ed, "" },
- { 0x00ee, "" },
- { 0x010f, "dcaron" },
- { 0x0111, "dstroke" },
- { 0x0144, "nacute" },
- { 0x0148, "ncaron" },
- { 0x00f3, "" },
- { 0x00f4, "" },
- { 0x0151, "odoubleacute" },
- { 0x00f6, "" },
- { 0x00f7, "" },
- { 0x0159, "rcaron" },
- { 0x016f, "uring" },
- { 0x00fa, "" },
- { 0x0171, "udoubleacute" },
- { 0x00fc, "" },
- { 0x00fd, "" },
- { 0x0163, "tcedilla" },
- { 0x02d9, "abovedot" }
-};
-
-static sym mazovia_syms[] = {
- /* as specified by Wlodek Bzyl <matwb@univ.gda.pl> */
- { 0x0080, "" },
- { 0x0081, "" },
- { 0x0082, "" },
- { 0x0083, "" },
- { 0x0084, "" },
- { 0x0085, "" },
- { 0x0105, "aogonek" },
- { 0x0087, "" },
- { 0x0088, "" },
- { 0x0089, "" },
- { 0x008a, "" },
- { 0x008b, "" },
- { 0x008c, "" },
- { 0x0107, "cacute" },
- { 0x008e, "" },
- { 0x0104, "Aogonek" },
- { 0x0118, "Eogonek" },
- { 0x0119, "eogonek" },
- { 0x0142, "lstroke" },
- { 0x0093, "" },
- { 0x0094, "" },
- { 0x0106, "Cacute" },
- { 0x0096, "" },
- { 0x0097, "" },
- { 0x015a, "Sacute" },
- { 0x0099, "" },
- { 0x009a, "" },
- { 0x009b, "" },
- { 0x0141, "Lstroke" },
- { 0x009d, "" },
- { 0x015b, "sacute" },
- { 0x009f, "" },
- { 0x0179, "Zacute" },
- { 0x017b, "Zabovedot" },
- { 0x00f3, "oacute" },
- { 0x00d3, "Oacute" },
- { 0x0144, "nacute" },
- { 0x0143, "Nacute" },
- { 0x017a, "zacute" },
- { 0x017c, "zabovedot" },
- { 0x00a8, "" },
- { 0x00a9, "" },
- { 0x00aa, "" },
- { 0x00ab, "" },
- { 0x00ac, "" },
- { 0x00ad, "" },
- { 0x00ab, "guillemotleft" },
- { 0x00bb, "guillemotright" },
- { 0x00b0, "" },
- { 0x00b1, "" },
- { 0x00b2, "" },
- { 0x00b3, "" },
- { 0x00b4, "" },
- { 0x00b5, "" },
- { 0x00b6, "" },
- { 0x00b7, "" },
- { 0x00b8, "" },
- { 0x00b9, "" },
- { 0x00ba, "" },
- { 0x00bb, "" },
- { 0x00bc, "" },
- { 0x00bd, "" },
- { 0x00be, "" },
- { 0x00bf, "" },
- { 0x00c0, "" },
- { 0x00c1, "" },
- { 0x00c2, "" },
- { 0x00c3, "" },
- { 0x00c4, "" },
- { 0x00c5, "" },
- { 0x00c6, "" },
- { 0x00c7, "" },
- { 0x00c8, "" },
- { 0x00c9, "" },
- { 0x00ca, "" },
- { 0x00cb, "" },
- { 0x00cc, "" },
- { 0x00cd, "" },
- { 0x00ce, "" },
- { 0x00cf, "" },
- { 0x00d0, "" },
- { 0x00d1, "" },
- { 0x00d2, "" },
- { 0x00d3, "" },
- { 0x00d4, "" },
- { 0x00d5, "" },
- { 0x00d6, "" },
- { 0x00d7, "" },
- { 0x00d8, "" },
- { 0x00d9, "" },
- { 0x00da, "" },
- { 0x00db, "" },
- { 0x00dc, "" },
- { 0x00dd, "" },
- { 0x00de, "" },
- { 0x00df, "" },
- { 0x00e0, "" },
- { 0x00e1, "" },
- { 0x00e2, "" },
- { 0x00e3, "" },
- { 0x00e4, "" },
- { 0x00e5, "" },
- { 0x00e6, "" },
- { 0x00e7, "" },
- { 0x00e8, "" },
- { 0x00e9, "" },
- { 0x00ea, "" },
- { 0x00eb, "" },
- { 0x00ec, "" },
- { 0x00ed, "" },
- { 0x00ee, "" },
- { 0x00ef, "" },
- { 0x00f0, "" },
- { 0x00f1, "" },
- { 0x00f2, "" },
- { 0x00f3, "" },
- { 0x00f4, "" },
- { 0x00f5, "" },
- { 0x00f6, "" },
- { 0x00f7, "" },
- { 0x00f8, "" },
- { 0x00f9, "" },
- { 0x00fa, "" },
- { 0x00fb, "" },
- { 0x00fc, "" },
- { 0x00fd, "" },
- { 0x00fe, "" },
- { 0x201e, "quotedblbase" }
-};
-
-static sym latin3_syms[] = {
- { 0x00a0, "" },
- { 0x0126, "Hstroke" },
- { 0x02d8, "" },
- { 0x00a3, "" },
- { 0x00a4, "" },
- { 0xfffd, "" },
- { 0x0124, "Hcircumflex" },
- { 0x00a7, "" },
- { 0x00a8, "" },
- { 0x0130, "Iabovedot" },
- { 0x015e, "" },
- { 0x011e, "Gbreve" },
- { 0x0134, "Jcircumflex" },
- { 0x00ad, "" },
- { 0xfffd, "" },
- { 0x017b, "" },
- { 0x00b0, "" },
- { 0x0127, "hstroke" },
- { 0x00b2, "" },
- { 0x00b3, "" },
- { 0x00b4, "" },
- { 0x00b5, "" },
- { 0x0125, "hcircumflex" },
- { 0x00b7, "" },
- { 0x00b8, "" },
- { 0x0131, "idotless" },
- { 0x015f, "" },
- { 0x011f, "gbreve" },
- { 0x0135, "jcircumflex" },
- { 0x00bd, "" },
- { 0xfffd, "" },
- { 0x017c, "" },
- { 0x00c0, "" },
- { 0x00c1, "" },
- { 0x00c2, "" },
- { 0xfffd, "" },
- { 0x00c4, "" },
- { 0x010a, "Cabovedot" },
- { 0x0108, "Ccircumflex" },
- { 0x00c7, "" },
- { 0x00c8, "" },
- { 0x00c9, "" },
- { 0x00ca, "" },
- { 0x00cb, "" },
- { 0x00cc, "" },
- { 0x00cd, "" },
- { 0x00ce, "" },
- { 0x00cf, "" },
- { 0xfffd, "" },
- { 0x00d1, "" },
- { 0x00d2, "" },
- { 0x00d3, "" },
- { 0x00d4, "" },
- { 0x0120, "Gabovedot" },
- { 0x00d6, "" },
- { 0x00d7, "" },
- { 0x011c, "Gcircumflex" },
- { 0x00d9, "" },
- { 0x00da, "" },
- { 0x00db, "" },
- { 0x00dc, "" },
- { 0x016c, "Ubreve" },
- { 0x015c, "Scircumflex" },
- { 0x00df, "" },
- { 0x00e0, "" },
- { 0x00e1, "" },
- { 0x00e2, "" },
- { 0xfffd, "" },
- { 0x00e4, "" },
- { 0x010b, "cabovedot" },
- { 0x0109, "ccircumflex" },
- { 0x00e7, "" },
- { 0x00e8, "" },
- { 0x00e9, "" },
- { 0x00ea, "" },
- { 0x00eb, "" },
- { 0x00ec, "" },
- { 0x00ed, "" },
- { 0x00ee, "" },
- { 0x00ef, "" },
- { 0xfffd, "" },
- { 0x00f1, "" },
- { 0x00f2, "" },
- { 0x00f3, "" },
- { 0x00f4, "" },
- { 0x0121, "gabovedot" },
- { 0x00f6, "" },
- { 0x00f7, "" },
- { 0x011d, "gcircumflex" },
- { 0x00f9, "" },
- { 0x00fa, "" },
- { 0x00fb, "" },
- { 0x00fc, "" },
- { 0x016d, "ubreve" },
- { 0x015d, "scircumflex" },
- { 0x02d9, "" }
-};
-
-static sym latin4_syms[] = {
- { 0x00a0, "" },
- { 0x0104, "" },
- { 0x0138, "kra" },
- { 0x0156, "Rcedilla" },
- { 0x00a4, "" },
- { 0x0128, "Itilde" },
- { 0x013b, "Lcedilla" },
- { 0x00a7, "" },
- { 0x00a8, "" },
- { 0x0160, "" },
- { 0x0112, "Emacron" },
- { 0x0122, "Gcedilla" },
- { 0x0166, "Tslash" },
- { 0x00ad, "" },
- { 0x017d, "" },
- { 0x00af, "" },
- { 0x00b0, "" },
- { 0x0105, "" },
- { 0x02db, "" },
- { 0x0157, "rcedilla" },
- { 0x00b4, "" },
- { 0x0129, "itilde" },
- { 0x013c, "lcedilla" },
- { 0x02c7, "" },
- { 0x00b8, "" },
- { 0x0161, "" },
- { 0x0113, "emacron" },
- { 0x0123, "gcedilla" },
- { 0x0167, "tslash" },
- { 0x014a, "ENG" },
- { 0x017e, "" },
- { 0x014b, "eng" },
- { 0x0100, "Amacron" },
- { 0x00c1, "" },
- { 0x00c2, "" },
- { 0x00c3, "" },
- { 0x00c4, "" },
- { 0x00c5, "" },
- { 0x00c6, "" },
- { 0x012e, "Iogonek" },
- { 0x010c, "" },
- { 0x00c9, "" },
- { 0x0118, "" },
- { 0x00cb, "" },
- { 0x0116, "Eabovedot" },
- { 0x00cd, "" },
- { 0x00ce, "" },
- { 0x012a, "Imacron" },
- { 0x0110, "" },
- { 0x0145, "Ncedilla" },
- { 0x014c, "Omacron" },
- { 0x0136, "Kcedilla" },
- { 0x00d4, "" },
- { 0x00d5, "" },
- { 0x00d6, "" },
- { 0x00d7, "" },
- { 0x00d8, "" },
- { 0x0172, "Uogonek" },
- { 0x00da, "" },
- { 0x00db, "" },
- { 0x00dc, "" },
- { 0x0168, "Utilde" },
- { 0x016a, "Umacron" },
- { 0x00df, "" },
- { 0x0101, "amacron" },
- { 0x00e1, "" },
- { 0x00e2, "" },
- { 0x00e3, "" },
- { 0x00e4, "" },
- { 0x00e5, "" },
- { 0x00e6, "" },
- { 0x012f, "iogonek" },
- { 0x010d, "" },
- { 0x00e9, "" },
- { 0x0119, "" },
- { 0x00eb, "" },
- { 0x0117, "eabovedot" },
- { 0x00ed, "" },
- { 0x00ee, "" },
- { 0x012b, "imacron" },
- { 0x0111, "" },
- { 0x0146, "ncedilla" },
- { 0x014d, "omacron" },
- { 0x0137, "kcedilla" },
- { 0x00f4, "" },
- { 0x00f5, "" },
- { 0x00f6, "" },
- { 0x00f7, "" },
- { 0x00f8, "" },
- { 0x0173, "uogonek" },
- { 0x00fa, "" },
- { 0x00fb, "" },
- { 0x00fc, "" },
- { 0x0169, "utilde" },
- { 0x016b, "umacron" },
- { 0x02d9, "" }
-};
-
-static sym iso_8859_5_syms[] = { /* 160-255 */
- { 0x00a0, "nobreakspace" },
- { 0x0401, "cyrillic_capital_letter_io" },
- { 0x0402, "serbocroatian_cyrillic_capital_letter_dje" },
- { 0x0403, "macedonian_cyrillic_capital_letter_gje" },
- { 0x0404, "ukrainian_cyrillic_capital_letter_ie" },
- { 0x0405, "macedonian_cyrillic_capital_letter_dze" },
- { 0x0406, "ukrainian_cyrillic_capital_letter_i" },
- { 0x0407, "ukrainian_cyrillic_capital_letter_yi" },
- { 0x0408, "cyrillic_capital_letter_je" }, /* 0250 */
- { 0x0409, "cyrillic_capital_letter_lje" },
- { 0x040a, "cyrillic_capital_letter_nje" },
- { 0x040b, "serbocroatian_cyrillic_capital_letter_chje" },
- { 0x040c, "macedonian_cyrillic_capital_letter_kje" },
- { 0x00ad, "hyphen" },
- { 0x040e, "bielorussian_cyrillic_capital_letter_short_u" },
- { 0x040f, "cyrillic_capital_letter_dze" },
- { 0x0410, "cyrillic_capital_letter_a" }, /* 0260 */
- { 0x0411, "cyrillic_capital_letter_be" },
- { 0x0412, "cyrillic_capital_letter_ve" },
- { 0x0413, "cyrillic_capital_letter_ghe" },
- { 0x0414, "cyrillic_capital_letter_de" },
- { 0x0415, "cyrillic_capital_letter_ie" },
- { 0x0416, "cyrillic_capital_letter_zhe" },
- { 0x0417, "cyrillic_capital_letter_ze" },
- { 0x0418, "cyrillic_capital_letter_i" }, /* 0270 */
- { 0x0419, "cyrillic_capital_letter_short_i" },
- { 0x041a, "cyrillic_capital_letter_ka" },
- { 0x041b, "cyrillic_capital_letter_el" },
- { 0x041c, "cyrillic_capital_letter_em" },
- { 0x041d, "cyrillic_capital_letter_en" },
- { 0x041e, "cyrillic_capital_letter_o" },
- { 0x041f, "cyrillic_capital_letter_pe" },
- { 0x0420, "cyrillic_capital_letter_er" }, /* 0300 */
- { 0x0421, "cyrillic_capital_letter_es" },
- { 0x0422, "cyrillic_capital_letter_te" },
- { 0x0423, "cyrillic_capital_letter_u" },
- { 0x0424, "cyrillic_capital_letter_ef" },
- { 0x0425, "cyrillic_capital_letter_ha" },
- { 0x0426, "cyrillic_capital_letter_tse" },
- { 0x0427, "cyrillic_capital_letter_che" },
- { 0x0428, "cyrillic_capital_letter_sha" }, /* 0310 */
- { 0x0429, "cyrillic_capital_letter_shcha" },
- { 0x042a, "cyrillic_capital_hard_sign" },
- { 0x042b, "cyrillic_capital_letter_yeru" },
- { 0x042c, "cyrillic_capital_soft_sign" },
- { 0x042d, "cyrillic_capital_letter_e" },
- { 0x042e, "cyrillic_capital_letter_yu" },
- { 0x042f, "cyrillic_capital_letter_ya" },
- { 0x0430, "cyrillic_small_letter_a" }, /* 0320 */
- { 0x0431, "cyrillic_small_letter_be" },
- { 0x0432, "cyrillic_small_letter_ve" },
- { 0x0433, "cyrillic_small_letter_ghe" },
- { 0x0434, "cyrillic_small_letter_de" },
- { 0x0435, "cyrillic_small_letter_ie" },
- { 0x0436, "cyrillic_small_letter_zhe" },
- { 0x0437, "cyrillic_small_letter_ze" },
- { 0x0438, "cyrillic_small_letter_i" }, /* 0330 */
- { 0x0439, "cyrillic_small_letter_short_i" },
- { 0x043a, "cyrillic_small_letter_ka" },
- { 0x043b, "cyrillic_small_letter_el" },
- { 0x043c, "cyrillic_small_letter_em" },
- { 0x043d, "cyrillic_small_letter_en" },
- { 0x043e, "cyrillic_small_letter_o" },
- { 0x043f, "cyrillic_small_letter_pe" },
- { 0x0440, "cyrillic_small_letter_er" }, /* 0340 */
- { 0x0441, "cyrillic_small_letter_es" },
- { 0x0442, "cyrillic_small_letter_te" },
- { 0x0443, "cyrillic_small_letter_u" },
- { 0x0444, "cyrillic_small_letter_ef" },
- { 0x0445, "cyrillic_small_letter_ha" },
- { 0x0446, "cyrillic_small_letter_tse" },
- { 0x0447, "cyrillic_small_letter_che" },
- { 0x0448, "cyrillic_small_letter_sha" }, /* 0350 */
- { 0x0449, "cyrillic_small_letter_shcha" },
- { 0x044a, "cyrillic_small_hard_sign" },
- { 0x044b, "cyrillic_small_letter_yeru" },
- { 0x044c, "cyrillic_small_soft_sign" },
- { 0x044d, "cyrillic_small_letter_e" },
- { 0x044e, "cyrillic_small_letter_yu" },
- { 0x044f, "cyrillic_small_letter_ya" },
- { 0x2116, "number_acronym" }, /* 0360 */
- { 0x0451, "cyrillic_small_letter_io" },
- { 0x0452, "serbocroatian_cyrillic_small_letter_dje" },
- { 0x0453, "macedonian_cyrillic_small_letter_gje" },
- { 0x0454, "ukrainian_cyrillic_small_letter_ie" },
- { 0x0455, "macedonian_cyrillic_small_letter_dze" },
- { 0x0456, "ukrainian_cyrillic_small_letter_i" },
- { 0x0457, "ukrainian_cyrillic_small_letter_yi" },
- { 0x0458, "cyrillic_small_letter_je" }, /* 0370 */
- { 0x0459, "cyrillic_small_letter_lje" },
- { 0x045a, "cyrillic_small_letter_nje" },
- { 0x045b, "serbocroatian_cyrillic_small_letter_chje" },
- { 0x045c, "macedonian_cyrillic_small_letter_kje" },
- { 0x00a7, "section" },
- { 0x045e, "bielorussian_cyrillic_small_letter_short_u" }, /* printing error in ECMA-113 */
- { 0x045f, "cyrillic_small_letter_dze" }
-};
-
-static sym iso_8859_7_syms[] = { /* 160-255 */
- { 0x00a0, "" },
- { 0x02bd, "leftquote" },
- { 0x02bc, "rightquote" },
- { 0x00a3, "" },
- { 0xfffd, "" },
- { 0xfffd, "" },
- { 0x00a6, "" },
- { 0x00a7, "" },
- { 0x00a8, "" },
- { 0x00a9, "" },
- { 0xfffd, "" },
- { 0x00ab, "" },
- { 0x00ac, "" },
- { 0x00ad, "" },
- { 0xfffd, "" },
- { 0x2015, "" },
- { 0x00b0, "" },
- { 0x00b1, "" },
- { 0x00b2, "" },
- { 0x00b3, "" },
- { 0x0384, "accent" },
- { 0x0385, "diaeresisaccent" },
- { 0x0386, "Alphaaccent" },
- { 0x00b7, "" },
- { 0x0388, "Epsilonaccent" },
- { 0x0389, "Etaaccent" },
- { 0x038a, "Iotaaccent" },
- { 0x00bb, "guillemotright" },
- { 0x038c, "Omicronaccent" },
- { 0x00bd, "onehalf" },
- { 0x038e, "Upsilonaccent" },
- { 0x038f, "Omegaaccent" },
- { 0x0390, "iotadiaeresisaccent" },
- { 0x0391, "Alpha" },
- { 0x0392, "Beta" },
- { 0x0393, "Gamma" },
- { 0x0394, "Delta" },
- { 0x0395, "Epsilon" },
- { 0x0396, "Zeta" },
- { 0x0397, "Eta" },
- { 0x0398, "Theta" },
- { 0x0399, "Iota" },
- { 0x039a, "Kappa" },
- { 0x039b, "Lamda" /*sic*/ },
- { 0x039c, "Mu" },
- { 0x039d, "Nu" },
- { 0x039e, "Ksi" },
- { 0x039f, "Omicron" },
- { 0x03a0, "Pi" },
- { 0x03a1, "Rho" },
- { 0xfffd, "" },
- { 0x03a3, "Sigma" },
- { 0x03a4, "Tau" },
- { 0x03a5, "Upsilon" },
- { 0x03a6, "Phi" },
- { 0x03a7, "Khi" },
- { 0x03a8, "Psi" },
- { 0x03a9, "Omega" },
- { 0x03aa, "Iotadiaeresis" },
- { 0x03ab, "Upsilondiaeresis" },
- { 0x03ac, "alphaaccent" },
- { 0x03ad, "epsilonaccent" },
- { 0x03ae, "etaaccent" },
- { 0x03af, "iotaaccent" },
- { 0x03b0, "upsilondiaeresisaccent" },
- { 0x03b1, "alpha" },
- { 0x03b2, "beta" },
- { 0x03b3, "gamma" },
- { 0x03b4, "delta" },
- { 0x03b5, "epsilon" },
- { 0x03b6, "zeta" },
- { 0x03b7, "eta" },
- { 0x03b8, "theta" },
- { 0x03b9, "iota" },
- { 0x03ba, "kappa" },
- { 0x03bb, "lamda" /*sic*/ },
- { 0x03bc, "mu" },
- { 0x03bd, "nu" },
- { 0x03be, "ksi" },
- { 0x03bf, "omicron" },
- { 0x03c0, "pi" },
- { 0x03c1, "rho" },
- { 0x03c2, "terminalsigma" },
- { 0x03c3, "sigma" },
- { 0x03c4, "tau" },
- { 0x03c5, "upsilon" },
- { 0x03c6, "phi" },
- { 0x03c7, "khi" },
- { 0x03c8, "psi" },
- { 0x03c9, "omega" },
- { 0x03ca, "iotadiaeresis" },
- { 0x03cb, "upsilondiaeresis" },
- { 0x03cc, "omicronaccent" },
- { 0x03cd, "upsilonaccent" },
- { 0x03ce, "omegaaccent" },
- { 0xfffd, "" }
-};
-
-static sym iso_8859_8_syms[] = {
- { 0x00a0, "" },
- { 0xfffd, "" },
- { 0x00a2, "" },
- { 0x00a3, "" },
- { 0x00a4, "" },
- { 0x00a5, "" },
- { 0x00a6, "" },
- { 0x00a7, "" },
- { 0x00a8, "" },
- { 0x00a9, "" },
- { 0x00d7, "multiply" },
- { 0x00ab, "" },
- { 0x00ac, "" },
- { 0x00ad, "" },
- { 0x00ae, "" },
- { 0x203e, "overscore" },
- { 0x00b0, "" },
- { 0x00b1, "" },
- { 0x00b2, "" },
- { 0x00b3, "" },
- { 0x00b4, "" },
- { 0x00b5, "" },
- { 0x00b6, "" },
- { 0x00b7, "" },
- { 0x00b8, "" },
- { 0x00b9, "" },
- { 0x00f7, "division" },
- { 0x00bb, "" },
- { 0x00bc, "" },
- { 0x00bd, "" },
- { 0x00be, "" },
- { 0xfffd, "" },
- { 0xfffd, "" },
- { 0xfffd, "" },
- { 0xfffd, "" },
- { 0xfffd, "" },
- { 0xfffd, "" },
- { 0xfffd, "" },
- { 0xfffd, "" },
- { 0xfffd, "" },
- { 0xfffd, "" },
- { 0xfffd, "" },
- { 0xfffd, "" },
- { 0xfffd, "" },
- { 0xfffd, "" },
- { 0xfffd, "" },
- { 0xfffd, "" },
- { 0xfffd, "" },
- { 0xfffd, "" },
- { 0xfffd, "" },
- { 0xfffd, "" },
- { 0xfffd, "" },
- { 0xfffd, "" },
- { 0xfffd, "" },
- { 0xfffd, "" },
- { 0xfffd, "" },
- { 0xfffd, "" },
- { 0xfffd, "" },
- { 0xfffd, "" },
- { 0xfffd, "" },
- { 0xfffd, "" },
- { 0xfffd, "" },
- { 0xfffd, "" },
- { 0x2017, "doubleunderscore" },
- { 0x05d0, "alef" },
- { 0x05d1, "bet" },
- { 0x05d2, "gimel" },
- { 0x05d3, "dalet" },
- { 0x05d4, "he" },
- { 0x05d5, "vav" },
- { 0x05d6, "zayin" },
- { 0x05d7, "het" },
- { 0x05d8, "tet" },
- { 0x05d9, "yod" },
- { 0x05da, "finalkaf" },
- { 0x05db, "kaf" },
- { 0x05dc, "lamed" },
- { 0x05dd, "finalmem" },
- { 0x05de, "mem" },
- { 0x05df, "finalnun" },
- { 0x05e0, "nun" },
- { 0x05e1, "samekh" },
- { 0x05e2, "ayin" },
- { 0x05e3, "finalpe" },
- { 0x05e4, "pe" },
- { 0x05e5, "finaltsadi" },
- { 0x05e6, "tsadi" },
- { 0x05e7, "qof" },
- { 0x05e8, "resh" },
- { 0x05e9, "shin" },
- { 0x05ea, "tav" },
- { 0xfffd, "" },
- { 0xfffd, "" },
- { 0xfffd, "" },
- { 0xfffd, "" },
- { 0xfffd, "" }
-};
-
-static sym iso_8859_9_syms[] = { /* latin-5 */
- /* Identical to latin-1, but with the 6 symbols
- ETH, eth, THORN, thorn, Yacute, yacute replaced by
- Gbreve, gbreve, Scedilla, scedilla, Idotabove, dotlessi */
- { 0x011e, "Gbreve" },
- { 0x00d1, "" },
- { 0x00d2, "" },
- { 0x00d3, "" },
- { 0x00d4, "" },
- { 0x00d5, "" },
- { 0x00d6, "" },
- { 0x00d7, "" },
- { 0x00d8, "" },
- { 0x00d9, "" },
- { 0x00da, "" },
- { 0x00db, "" },
- { 0x00dc, "" },
- { 0x0130, "Idotabove" },
- { 0x015e, "Scedilla" },
- { 0x00df, "" },
- { 0x00e0, "" },
- { 0x00e1, "" },
- { 0x00e2, "" },
- { 0x00e3, "" },
- { 0x00e4, "" },
- { 0x00e5, "" },
- { 0x00e6, "" },
- { 0x00e7, "" },
- { 0x00e8, "" },
- { 0x00e9, "" },
- { 0x00ea, "" },
- { 0x00eb, "" },
- { 0x00ec, "" },
- { 0x00ed, "" },
- { 0x00ee, "" },
- { 0x00ef, "" },
- { 0x011f, "gbreve" },
- { 0x00f1, "" },
- { 0x00f2, "" },
- { 0x00f3, "" },
- { 0x00f4, "" },
- { 0x00f5, "" },
- { 0x00f6, "" },
- { 0x00f7, "" },
- { 0x00f8, "" },
- { 0x00f9, "" },
- { 0x00fa, "" },
- { 0x00fb, "" },
- { 0x00fc, "" },
- { 0x0131, "dotlessi" },
- { 0x015f, "scedilla" },
- { 0x00ff, "" }
-};
-
-#include "koi8.syms.h"
-#include "cp1250.syms.h"
-#include "thai.syms.h"
-#include "ethiopic.syms.h"
-#include "sami.syms.h"
-
-static sym iso_8859_15_syms[] = {
- /* latin-1 with 8 changes */
- { 0x00a0, "" },
- { 0x00a1, "" },
- { 0x00a2, "" },
- { 0x00a3, "" },
- { 0x20ac, "euro" },
- { 0x00a5, "" },
- { 0x0160, "Scaron" },
- { 0x00a7, "" },
- { 0x0161, "scaron" },
- { 0x00a9, "" },
- { 0x00aa, "" },
- { 0x00ab, "" },
- { 0x00ac, "" },
- { 0x00ad, "" },
- { 0x00ae, "" },
- { 0x00af, "" },
- { 0x00b0, "" },
- { 0x00b1, "" },
- { 0x00b2, "" },
- { 0x00b3, "" },
- { 0x017d, "Zcaron" },
- { 0x00b5, "" },
- { 0x00b6, "" },
- { 0x00b7, "" },
- { 0x017e, "zcaron" },
- { 0x00b9, "" },
- { 0x00ba, "" },
- { 0x00bb, "" },
- { 0x0152, "OE" },
- { 0x0153, "oe" },
- { 0x0178, "Ydiaeresis" },
- { 0x00bf, "" },
- { 0x00c0, "" },
- { 0x00c1, "" },
- { 0x00c2, "" },
- { 0x00c3, "" },
- { 0x00c4, "" },
- { 0x00c5, "" },
- { 0x00c6, "" },
- { 0x00c7, "" },
- { 0x00c8, "" },
- { 0x00c9, "" },
- { 0x00ca, "" },
- { 0x00cb, "" },
- { 0x00cc, "" },
- { 0x00cd, "" },
- { 0x00ce, "" },
- { 0x00cf, "" },
- { 0x00d0, "" },
- { 0x00d1, "" },
- { 0x00d2, "" },
- { 0x00d3, "" },
- { 0x00d4, "" },
- { 0x00d5, "" },
- { 0x00d6, "" },
- { 0x00d7, "" },
- { 0x00d8, "" },
- { 0x00d9, "" },
- { 0x00da, "" },
- { 0x00db, "" },
- { 0x00dc, "" },
- { 0x00dd, "" },
- { 0x00de, "" },
- { 0x00df, "" },
- { 0x00e0, "" },
- { 0x00e1, "" },
- { 0x00e2, "" },
- { 0x00e3, "" },
- { 0x00e4, "" },
- { 0x00e5, "" },
- { 0x00e6, "" },
- { 0x00e7, "" },
- { 0x00e8, "" },
- { 0x00e9, "" },
- { 0x00ea, "" },
- { 0x00eb, "" },
- { 0x00ec, "" },
- { 0x00ed, "" },
- { 0x00ee, "" },
- { 0x00ef, "" },
- { 0x00f0, "" },
- { 0x00f1, "" },
- { 0x00f2, "" },
- { 0x00f3, "" },
- { 0x00f4, "" },
- { 0x00f5, "" },
- { 0x00f6, "" },
- { 0x00f7, "" },
- { 0x00f8, "" },
- { 0x00f9, "" },
- { 0x00fa, "" },
- { 0x00fb, "" },
- { 0x00fc, "" },
- { 0x00fd, "" },
- { 0x00fe, "" },
- { 0x00ff, "" }
-};
-
-/* Keysyms whose KTYP is KT_FN. */
-
-static const char *fn_syms[] = {
- "F1", "F2", "F3", "F4", "F5",
- "F6", "F7", "F8", "F9", "F10",
- "F11", "F12", "F13", "F14", "F15",
- "F16", "F17", "F18", "F19", "F20",
- "Find", /* also called: "Home" */
- "Insert",
- "Remove",
- "Select", /* also called: "End" */
- "Prior", /* also called: "PageUp" */
- "Next", /* also called: "PageDown" */
- "Macro",
- "Help",
- "Do",
- "Pause",
- "F21", "F22", "F23", "F24", "F25",
- "F26", "F27", "F28", "F29", "F30",
- "F31", "F32", "F33", "F34", "F35",
- "F36", "F37", "F38", "F39", "F40",
- "F41", "F42", "F43", "F44", "F45",
- "F46", "F47", "F48", "F49", "F50",
- "F51", "F52", "F53", "F54", "F55",
- "F56", "F57", "F58", "F59", "F60",
- "F61", "F62", "F63", "F64", "F65",
- "F66", "F67", "F68", "F69", "F70",
- "F71", "F72", "F73", "F74", "F75",
- "F76", "F77", "F78", "F79", "F80",
- "F81", "F82", "F83", "F84", "F85",
- "F86", "F87", "F88", "F89", "F90",
- "F91", "F92", "F93", "F94", "F95",
- "F96", "F97", "F98", "F99", "F100",
- "F101", "F102", "F103", "F104", "F105",
- "F106", "F107", "F108", "F109", "F110",
- "F111", "F112", "F113", "F114", "F115",
- "F116", "F117", "F118", "F119", "F120",
- "F121", "F122", "F123", "F124", "F125",
- "F126", "F127", "F128", "F129", "F130",
- "F131", "F132", "F133", "F134", "F135",
- "F136", "F137", "F138", "F139", "F140",
- "F141", "F142", "F143", "F144", "F145",
- "F146", "F147", "F148", "F149", "F150",
- "F151", "F152", "F153", "F154", "F155",
- "F156", "F157", "F158", "F159", "F160",
- "F161", "F162", "F163", "F164", "F165",
- "F166", "F167", "F168", "F169", "F170",
- "F171", "F172", "F173", "F174", "F175",
- "F176", "F177", "F178", "F179", "F180",
- "F181", "F182", "F183", "F184", "F185",
- "F186", "F187", "F188", "F189", "F190",
- "F191", "F192", "F193", "F194", "F195",
- "F196", "F197", "F198", "F199", "F200",
- "F201", "F202", "F203", "F204", "F205",
- "F206", "F207", "F208", "F209", "F210",
- "F211", "F212", "F213", "F214", "F215",
- "F216", "F217", "F218", "F219", "F220",
- "F221", "F222", "F223", "F224", "F225",
- "F226", "F227", "F228", "F229", "F230",
- "F231", "F232", "F233", "F234", "F235",
- "F236", "F237", "F238", "F239", "F240",
- "F241", "F242", "F243", "F244", "F245",
- "F246" /* there are 10 keys named Insert etc., total 256 */
-};
-
-/* Keysyms whose KTYP is KT_SPEC. */
-
-static const char *spec_syms[] = {
- "VoidSymbol",
- "Return",
- "Show_Registers",
- "Show_Memory",
- "Show_State",
- "Break",
- "Last_Console",
- "Caps_Lock",
- "Num_Lock",
- "Scroll_Lock",
- "Scroll_Forward",
- "Scroll_Backward",
- "Boot",
- "Caps_On",
- "Compose",
- "SAK",
- "Decr_Console",
- "Incr_Console",
- "KeyboardSignal",
- "Bare_Num_Lock"
-};
-
-/* Keysyms whose KTYP is KT_PAD. */
-
-static const char *pad_syms[] = {
- "KP_0",
- "KP_1",
- "KP_2",
- "KP_3",
- "KP_4",
- "KP_5",
- "KP_6",
- "KP_7",
- "KP_8",
- "KP_9",
- "KP_Add",
- "KP_Subtract",
- "KP_Multiply",
- "KP_Divide",
- "KP_Enter",
- "KP_Comma",
- "KP_Period",
- "KP_MinPlus"
-};
-
-/* Keysyms whose KTYP is KT_DEAD. */
-
-static const char *dead_syms[] = {
- "dead_grave",
- "dead_acute",
- "dead_circumflex",
- "dead_tilde",
- "dead_diaeresis",
- "dead_cedilla"
-};
-
-/* Keysyms whose KTYP is KT_CONS. */
-
-static const char *cons_syms[] = {
- "Console_1",
- "Console_2",
- "Console_3",
- "Console_4",
- "Console_5",
- "Console_6",
- "Console_7",
- "Console_8",
- "Console_9",
- "Console_10",
- "Console_11",
- "Console_12",
- "Console_13",
- "Console_14",
- "Console_15",
- "Console_16",
- "Console_17",
- "Console_18",
- "Console_19",
- "Console_20",
- "Console_21",
- "Console_22",
- "Console_23",
- "Console_24",
- "Console_25",
- "Console_26",
- "Console_27",
- "Console_28",
- "Console_29",
- "Console_30",
- "Console_31",
- "Console_32",
- "Console_33",
- "Console_34",
- "Console_35",
- "Console_36",
- "Console_37",
- "Console_38",
- "Console_39",
- "Console_40",
- "Console_41",
- "Console_42",
- "Console_43",
- "Console_44",
- "Console_45",
- "Console_46",
- "Console_47",
- "Console_48",
- "Console_49",
- "Console_50",
- "Console_51",
- "Console_52",
- "Console_53",
- "Console_54",
- "Console_55",
- "Console_56",
- "Console_57",
- "Console_58",
- "Console_59",
- "Console_60",
- "Console_61",
- "Console_62",
- "Console_63"
-};
-
-/* Keysyms whose KTYP is KT_CUR. */
-
-static const char *cur_syms[] = {
- "Down",
- "Left",
- "Right",
- "Up"
-};
-
-/* Keysyms whose KTYP is KT_SHIFT. */
-
-static const char *shift_syms[] = {
- "Shift",
- "AltGr",
- "Control",
- "Alt",
- "ShiftL",
- "ShiftR",
- "CtrlL",
- "CtrlR",
- "CapsShift"
-};
-
-/* Keysyms whose KTYP is KT_ASCII. */
-
-static const char *ascii_syms[] = {
- "Ascii_0",
- "Ascii_1",
- "Ascii_2",
- "Ascii_3",
- "Ascii_4",
- "Ascii_5",
- "Ascii_6",
- "Ascii_7",
- "Ascii_8",
- "Ascii_9",
- "Hex_0",
- "Hex_1",
- "Hex_2",
- "Hex_3",
- "Hex_4",
- "Hex_5",
- "Hex_6",
- "Hex_7",
- "Hex_8",
- "Hex_9",
- "Hex_A",
- "Hex_B",
- "Hex_C",
- "Hex_D",
- "Hex_E",
- "Hex_F"
-};
-
-/* Keysyms whose KTYP is KT_LOCK. */
-
-static const char *lock_syms[] = {
- "Shift_Lock",
- "AltGr_Lock",
- "Control_Lock",
- "Alt_Lock",
- "ShiftL_Lock",
- "ShiftR_Lock",
- "CtrlL_Lock",
- "CtrlR_Lock",
- "CapsShift_Lock"
-};
-
-/* Keysyms whose KTYP is KT_SLOCK. */
-
-static const char *sticky_syms[] = {
- "SShift",
- "SAltGr",
- "SControl",
- "SAlt",
- "SShiftL",
- "SShiftR",
- "SCtrlL",
- "SCtrlR",
- "SCapsShift"
-};
-
-/* Keysyms whose KTYP is KT_BRL. */
-
-static const char *brl_syms[] = {
- "Brl_blank",
- "Brl_dot1",
- "Brl_dot2",
- "Brl_dot3",
- "Brl_dot4",
- "Brl_dot5",
- "Brl_dot6",
- "Brl_dot7",
- "Brl_dot8",
- "Brl_dot9",
- "Brl_dot10"
-};
-
-#define E(x) { x, sizeof(x) / sizeof(x[0]) }
-
-syms_entry syms[] = {
- E(iso646_syms), /* KT_LATIN */
- E(fn_syms), /* KT_FN */
- E(spec_syms), /* KT_SPEC */
- E(pad_syms), /* KT_PAD */
- E(dead_syms), /* KT_DEAD */
- E(cons_syms), /* KT_CONS */
- E(cur_syms), /* KT_CUR */
- E(shift_syms), /* KT_SHIFT */
- { 0, 0 }, /* KT_META */
- E(ascii_syms), /* KT_ASCII */
- E(lock_syms), /* KT_LOCK */
- { 0, 0 }, /* KT_LETTER */
- E(sticky_syms), /* KT_SLOCK */
- { 0, 0 }, /* */
- E(brl_syms) /* KT_BRL */
-};
-
-#undef E
-
-struct syn
-synonyms[] = {
- { "Control_h", "BackSpace" },
- { "Control_i", "Tab" },
- { "Control_j", "Linefeed" },
- { "Home", "Find" },
-/* Unfortunately Delete already denotes ASCII 0177 */
-/* { "Delete", "Remove" }, */
- { "End", "Select" },
- { "PageUp", "Prior" },
- { "PageDown", "Next" },
- { "multiplication", "multiply" },
- { "pound", "sterling" },
- { "pilcrow", "paragraph" },
- { "Oslash", "Ooblique" },
- { "Shift_L", "ShiftL" },
- { "Shift_R", "ShiftR" },
- { "Control_L", "CtrlL" },
- { "Control_R", "CtrlR" },
- { "AltL", "Alt" },
- { "AltR", "AltGr" },
- { "Alt_L", "Alt" },
- { "Alt_R", "AltGr" },
- { "AltGr_L", "Alt" },
- { "AltGr_R", "AltGr" },
- { "AltLLock", "Alt_Lock" },
- { "AltRLock", "AltGr_Lock" },
- { "SCtrl", "SControl" },
- { "Spawn_Console", "KeyboardSignal" },
- { "Uncaps_Shift", "CapsShift" },
-/* the names of the Greek letters are spelled differently
- in the iso-8859-7 and the Unicode standards */
- { "lambda", "lamda" },
- { "Lambda", "Lamda" },
- { "xi", "ksi" },
- { "Xi", "Ksi" },
- { "chi", "khi" },
- { "Chi", "Khi" },
-/* diacriticals */
- { "tilde", "asciitilde" },
- { "circumflex", "asciicircum" },
-/* as dead_ogonek, dead_caron, dead_breve and dead_doubleacute do not exist
- * (yet), I put also compose lines for use with respectively dead_cedilla,
- * dead_circumflex, dead_tilde and dead_tilde */
- { "dead_ogonek", "dead_cedilla" },
- { "dead_caron", "dead_circumflex" },
- { "dead_breve", "dead_tilde" },
- { "dead_doubleacute", "dead_tilde" },
-/* turkish */
- { "Idotabove", "Iabovedot" },
- { "dotlessi", "idotless" },
-/* cyrillic */
- { "no-break_space", "nobreakspace" },
- { "paragraph_sign", "section" },
- { "soft_hyphen", "hyphen" },
- { "bielorussian_cyrillic_capital_letter_i", "ukrainian_cyrillic_capital_letter_i" },
- { "cyrillic_capital_letter_kha", "cyrillic_capital_letter_ha" },
- { "cyrillic_capital_letter_ge", "cyrillic_capital_letter_ghe" },
- { "cyrillic_capital_letter_ia", "cyrillic_capital_letter_ya" },
- { "cyrillic_capital_letter_iu", "cyrillic_capital_letter_yu" },
- { "cyrillic_capital_letter_yeri", "cyrillic_capital_letter_yeru" },
- { "cyrillic_capital_letter_reversed_e", "cyrillic_capital_letter_e" },
- { "cyrillic_capital_letter_ii", "cyrillic_capital_letter_i" },
- { "cyrillic_capital_letter_short_ii", "cyrillic_capital_letter_short_i" },
- { "bielorussian_cyrillic_small_letter_i", "ukrainian_cyrillic_small_letter_i" },
- { "cyrillic_small_letter_kha", "cyrillic_small_letter_ha" },
- { "cyrillic_small_letter_ge", "cyrillic_small_letter_ghe" },
- { "cyrillic_small_letter_ia", "cyrillic_small_letter_ya" },
- { "cyrillic_small_letter_iu", "cyrillic_small_letter_yu" },
- { "cyrillic_small_letter_yeri", "cyrillic_small_letter_yeru" },
- { "cyrillic_small_letter_reversed_e", "cyrillic_small_letter_e" },
- { "cyrillic_small_letter_ii", "cyrillic_small_letter_i" },
- { "cyrillic_small_letter_short_ii", "cyrillic_small_letter_short_i" },
-/* iso-8859-7 */
- { "rightanglequote", "guillemotright" }
-};
-
-const unsigned int syms_size = sizeof(syms) / sizeof(syms_entry);
-const unsigned int syn_size = sizeof(synonyms) / sizeof(synonyms[0]);
-
-struct cs {
- const char *charset;
- sym *charnames;
- int start;
-} charsets[] = {
- { "", NULL, 256 },
- { "iso-8859-1", latin1_syms, 160 },
- { "iso-8859-2", latin2_syms, 160 },
- { "iso-8859-3", latin3_syms, 160 },
- { "iso-8859-4", latin4_syms, 160 },
- { "iso-8859-5", iso_8859_5_syms, 160 },
- { "iso-8859-7", iso_8859_7_syms, 160 },
- { "iso-8859-8", iso_8859_8_syms, 160 },
- { "iso-8859-9", iso_8859_9_syms, 208 },
- { "iso-8859-10", latin6_syms, 160 },
- { "iso-8859-15", iso_8859_15_syms, 160 },
- { "mazovia", mazovia_syms, 128 },
- { "cp-1250", cp1250_syms, 128 },
- { "koi8-r", koi8_syms, 128 },
- { "koi8-u", koi8_syms, 128 },
- { "tis-620", tis_620_syms, 160 }, /* thai */
- { "iso-10646-18", iso_10646_18_syms, 159 }, /* ethiopic */
- { "iso-ir-197", iso_ir_197_syms, 160 }, /* sami */
- { "iso-ir-209", iso_ir_209_syms, 160 }, /* sami */
- /* When you add a new charset with a long (> 15 chars) name,
- * please update the chosen_charset definition below. */
-};
-
-/* Functions for both dumpkeys and loadkeys. */
-
-int prefer_unicode = 0;
-static char chosen_charset[16] = "";
-
-void
-list_charsets(FILE *f) {
- int lth,ct;
- unsigned int i, j;
- char *mm[] = { "iso-8859-", "koi8-" };
-
- for (j=0; j<sizeof(mm)/sizeof(mm[0]); j++) {
- if(j)
- fprintf(f, ",");
- fprintf(f, "%s{", mm[j]);
- ct = 0;
- lth = strlen(mm[j]);
- for(i=1; i < sizeof(charsets)/sizeof(charsets[0]); i++) {
- if(!strncmp(charsets[i].charset, mm[j], lth)) {
- if(ct++)
- fprintf(f, ",");
- fprintf(f, "%s", charsets[i].charset+lth);
- }
- }
- fprintf(f, "}");
- }
- for(i=1; i < sizeof(charsets)/sizeof(charsets[0]); i++) {
- for (j=0; j<sizeof(mm)/sizeof(mm[0]); j++) {
- lth = strlen(mm[j]);
- if(!strncmp(charsets[i].charset, mm[j], lth))
- goto nxti;
- }
- fprintf(f, ",%s", charsets[i].charset);
- nxti:;
- }
- fprintf(f, "\n");
-}
-
-int
-set_charset(const char *charset) {
- sym *p;
- unsigned int i;
-
- for (i = 1; i < sizeof(charsets)/sizeof(charsets[0]); i++) {
- if (!strcasecmp(charsets[i].charset, charset)) {
- charsets[0].charset = charsets[i].charset;
- charsets[0].charnames = charsets[i].charnames;
- charsets[0].start = charsets[i].start;
- p = charsets[i].charnames;
- for (i = charsets[i].start; i < 256; i++,p++) {
- if(p->name[0])
- syms[0].table[i] = p->name;
- }
- strcpy(chosen_charset, charset);
-
- /* Unicode: The first 256 code points were made
- identical to the content of ISO 8859-1 */
- if (prefer_unicode && !strcasecmp(charset, "iso-8859-1"))
- prefer_unicode = 0;
-
- return 0;
- }
- }
- fprintf (stderr, _("unknown charset %s - ignoring charset request\n"),
- charset);
- return 1;
-}
-
-const char *
-codetoksym(int code) {
- unsigned int i;
- int j;
- sym *p;
-
- if (code < 0)
- return NULL;
-
- if (code < 0x1000) { /* "traditional" keysym */
- if (code < 0x80)
- return iso646_syms[code];
- if (KTYP(code) == KT_META)
- return NULL;
- if (KTYP(code) == KT_LETTER)
- code = K(KT_LATIN, KVAL(code));
- if (KTYP(code) > KT_LATIN)
- return syms[KTYP(code)].table[KVAL(code)];
-
- for (i = 0; i < sizeof(charsets)/sizeof(charsets[0]); i++) {
- p = charsets[i].charnames;
- if (!p)
- continue;
- p += KVAL(code) - charsets[i].start;
- if (p->name[0])
- return p->name;
- }
- }
-
- else { /* Unicode keysym */
- code ^= 0xf000;
-
- if (code < 0x80)
- return iso646_syms[code];
-
- for (i = 0; i < sizeof(charsets)/sizeof(charsets[0]); i++) {
- p = charsets[i].charnames;
- if (!p)
- continue;
- for (j = charsets[i].start; j < 256; j++, p++) {
- if (p->uni == code && p->name[0])
- return p->name;
- }
- }
- }
-
- return NULL;
-}
-
-/* Functions for loadkeys. */
-
-int
-ksymtocode(const char *s, int direction) {
- unsigned int i;
- int j, jmax;
- int keycode;
- sym *p;
-
- if (direction == TO_AUTO)
- direction = prefer_unicode ? TO_UNICODE : TO_8BIT;
-
- if (!strncmp(s, "Meta_", 5)) {
- keycode = ksymtocode(s+5, TO_8BIT);
- if (KTYP(keycode) == KT_LATIN)
- return K(KT_META, KVAL(keycode));
-
- /* Avoid error messages for Meta_acute with UTF-8 */
- else if(direction == TO_UNICODE)
- return (0);
-
- /* fall through to error printf */
- }
-
- for (i = 0; i < syms_size; i++) {
- jmax = ((i == 0 && direction == TO_UNICODE) ? 128 : syms[i].size);
- for (j = 0; j < jmax; j++)
- if (!strcmp(s,syms[i].table[j]))
- return K(i, j);
- }
-
- for (i = 0; i < syn_size; i++)
- if (!strcmp(s, synonyms[i].synonym))
- return ksymtocode(synonyms[i].official_name, direction);
-
- if (direction == TO_UNICODE) {
- for (i = 0; i < sizeof(charsets)/sizeof(charsets[0]); i++) {
- p = charsets[i].charnames;
- for (j = charsets[i].start; j < 256; j++, p++)
- if (!strcmp(s,p->name))
- return (p->uni ^ 0xf000);
- }
- } else /* if (!chosen_charset[0]) */ {
- /* note: some keymaps use latin1 but with euro,
- so set_charset() would fail */
- /* note: some keymaps with charset line still use
- symbols from more than one character set,
- so we cannot have the `if (!chosen_charset[0])' here */
-
- for (i = 0; i < 256 - 160; i++)
- if (!strcmp(s, latin1_syms[i].name)) {
- fprintf(stderr,
- _("assuming iso-8859-1 %s\n"), s);
- return K(KT_LATIN, 160 + i);
- }
-
- for (i = 0; i < 256 - 160; i++)
- if (!strcmp(s, iso_8859_15_syms[i].name)) {
- fprintf(stderr,
- _("assuming iso-8859-15 %s\n"), s);
- return K(KT_LATIN, 160 + i);
- }
-
- for (i = 0; i < 256 - 160; i++)
- if (!strcmp(s, latin2_syms[i].name)) {
- fprintf(stderr,
- _("assuming iso-8859-2 %s\n"), s);
- return K(KT_LATIN, 160 + i);
- }
-
- for (i = 0; i < 256 - 160; i++)
- if (!strcmp(s, latin3_syms[i].name)) {
- fprintf(stderr,
- _("assuming iso-8859-3 %s\n"), s);
- return K(KT_LATIN, 160 + i);
- }
-
- for (i = 0; i < 256 - 160; i++)
- if (!strcmp(s, latin4_syms[i].name)) {
- fprintf(stderr,
- _("assuming iso-8859-4 %s\n"), s);
- return K(KT_LATIN, 160 + i);
- }
- }
-
- fprintf(stderr, _("unknown keysym '%s'\n"), s);
-
- return CODE_FOR_UNKNOWN_KSYM;
-}
-
-int
-convert_code(int code, int direction)
-{
- const char *ksym;
- int unicode_forced = (direction == TO_UNICODE);
- int input_is_unicode = (code >= 0x1000);
- int result;
-
- if (direction == TO_AUTO)
- direction = prefer_unicode ? TO_UNICODE : TO_8BIT;
-
- if (KTYP(code) == KT_META)
- return code;
- else if (!input_is_unicode && code < 0x80)
- /* basic ASCII is fine in every situation */
- return code;
- else if (input_is_unicode && (code ^ 0xf000) < 0x80)
- /* so is Unicode "Basic Latin" */
- return code ^ 0xf000;
- else if ((input_is_unicode && direction == TO_UNICODE) ||
- (!input_is_unicode && direction == TO_8BIT))
- /* no conversion necessary */
- result = code;
- else {
- /* depending on direction, this will give us either an 8-bit
- * K(KTYP, KVAL) or a Unicode keysym xor 0xf000 */
- ksym = codetoksym(code);
- if (ksym)
- result = ksymtocode(ksym, direction);
- else
- result = code;
- }
-
- /* if direction was TO_UNICODE from the beginning, we return the true
- * Unicode value (without the 0xf000 mask) */
- if (unicode_forced && result >= 0x1000)
- return result ^ 0xf000;
- else
- return result;
-}
-
-int
-add_capslock(int code)
-{
- if (KTYP(code) == KT_LATIN && (!prefer_unicode || code < 0x80))
- return K(KT_LETTER, KVAL(code));
- else if ((code ^ 0xf000) < 0x100)
- /* Unicode Latin-1 Supplement */
- /* a bit dirty to use KT_LETTER here, but it should work */
- return K(KT_LETTER, code ^ 0xf000);
- else
- return convert_code(code, TO_AUTO);
-}
diff --git a/src/ksyms.h b/src/ksyms.h
deleted file mode 100644
index ce1d714..0000000
--- a/src/ksyms.h
+++ /dev/null
@@ -1,40 +0,0 @@
-#ifndef KSYMS_H
-#define KSYMS_H
-
-typedef struct {
- unsigned short uni;
- const char *name;
-} sym;
-
-typedef struct {
- const char **table;
- int size;
-} syms_entry;
-
-extern syms_entry syms[];
-
-struct syn {
- const char *synonym;
- const char *official_name;
-};
-extern struct syn synonyms[];
-
-extern const unsigned int syms_size;
-extern const unsigned int syn_size;
-
-/* Returned by ksymtocode to report an unknown symbol */
-#define CODE_FOR_UNKNOWN_KSYM (-1)
-
-/* Directions for converting keysyms */
-#define TO_AUTO (-1) /* use prefer_unicode */
-#define TO_8BIT 0
-#define TO_UNICODE 1
-
-extern int set_charset(const char *name);
-extern const char *codetoksym(int code);
-extern void list_charsets(FILE *f);
-extern int ksymtocode(const char *s, int direction);
-extern int convert_code(int code, int direction);
-extern int add_capslock(int code);
-
-#endif
diff --git a/src/libkeymap/Makefile.am b/src/libkeymap/Makefile.am
new file mode 100644
index 0000000..037dade
--- /dev/null
+++ b/src/libkeymap/Makefile.am
@@ -0,0 +1,77 @@
+AM_CPPFLAGS = \
+ -I$(srcdir) -I$(builddir) -I$(srcdir)/.. -I$(builddir)/.. \
+ -DDATADIR=\"$(datadir)\" -DLOCALEDIR=\"$(localedir)\" \
+ -U_GNU_SOURCE -D_FORTIFY_SOURCE=2 \
+ -funit-at-a-time
+CLEANFILES = libkeymap.pc
+EXTRA_DIST = libkeymap.pc.in
+
+headers = \
+ keymap.h \
+ keymap/array.h \
+ keymap/context.h \
+ keymap/charset.h \
+ keymap/common.h \
+ keymap/dump.h \
+ keymap/kernel.h \
+ keymap/kmap.h \
+ keymap/logging.h \
+ keymap/findfile.h
+
+ksyms_headers = \
+ syms.ktyp.h \
+ syms.synonyms.h \
+ syms.cp1250.h \
+ syms.ethiopic.h \
+ syms.iso8859_15.h \
+ syms.iso8859_5.h \
+ syms.iso8859_7.h \
+ syms.iso8859_8.h \
+ syms.iso8859_9.h \
+ syms.koi8.h \
+ syms.latin1.h \
+ syms.latin2.h \
+ syms.latin3.h \
+ syms.latin4.h \
+ syms.mazovia.h \
+ syms.sami.h \
+ syms.thai.h
+
+libkeymap_la_SOURCES = \
+ $(headers) \
+ array.c \
+ findfile.c common.c kernel.c dump.c kmap.c summary.c loadkeys.c \
+ contextP.h \
+ parser.y parser.h analyze.l analyze.h \
+ modifiers.c modifiers.h \
+ ksyms.c ksyms.h $(ksyms_headers) \
+ $(srcdir)/../nls.h $(srcdir)/../paths.h $(srcdir)/../kbd.h
+
+if BUILD_LIBKEYMAP
+pkgconfigdir = $(libdir)/pkgconfig
+pkgconfig_DATA = libkeymap.pc
+
+lib_LTLIBRARIES = libkeymap.la
+nobase_include_HEADERS = $(headers)
+libkeymap_la_LDFLAGS = -export-symbols-regex ^lk_.*
+else
+noinst_LTLIBRARIES = libkeymap.la
+endif
+
+AM_LFLAGS = --header-file=$(CURDIR)/analyze.h
+BUILT_SOURCES = parser.c analyze.c parser.h analyze.h
+CLEANFILES += $(BUILT_SOURCES)
+
+parser.h: parser.c ; @true
+analyze.h: analyze.c ; @true
+
+%.pc: %.pc.in Makefile
+ sed \
+ -e 's,[@]VERSION[@],$(VERSION),g' \
+ -e 's,[@]prefix[@],$(prefix),g' \
+ -e 's,[@]exec_prefix[@],$(exec_prefix),g' \
+ -e 's,[@]libdir[@],$(libdir),g' \
+ -e 's,[@]includedir[@],$(includedir),g' \
+ <$< >$(builddir)/$@
+ touch -r $< $(builddir)/$@
+ chmod 644 $(builddir)/$@
diff --git a/src/libkeymap/analyze.l b/src/libkeymap/analyze.l
new file mode 100644
index 0000000..b6f96fd
--- /dev/null
+++ b/src/libkeymap/analyze.l
@@ -0,0 +1,464 @@
+%{
+#include <stdlib.h>
+#include <unistd.h> /* readlink */
+
+#include "nls.h"
+#include "kbd.h"
+#include "contextP.h"
+#include "ksyms.h"
+#include "paths.h"
+
+#include "parser.h"
+%}
+
+%top {
+#include "keymap.h"
+int stack_push(struct lk_ctx *ctx, lkfile_t *fp, void *scanner);
+int stack_pop(struct lk_ctx *ctx, void *scanner);
+}
+
+%option reentrant
+%option bison-bridge
+%option stack
+%option never-interactive
+%option noyywrap
+%option nounput
+%option noinput
+%option noyy_top_state
+
+%option extra-type="struct lk_ctx *"
+
+%{
+int
+stack_push(struct lk_ctx *ctx, lkfile_t *fp, void *scanner)
+{
+ int i = 0;
+
+ while (ctx->stack[i]) i++;
+
+ if (i == MAX_INCLUDE_DEPTH) {
+ ERR(ctx, _("includes are nested too deeply"));
+ return -1;
+ }
+
+ ctx->stack[i] = fp;
+
+ yypush_buffer_state(yy_create_buffer(fp->fd, YY_BUF_SIZE, scanner), scanner);
+ return 0;
+}
+
+int
+stack_pop(struct lk_ctx *ctx, void *scanner)
+{
+ int i = 0;
+
+ while (ctx->stack[i]) i++;
+ if (!i)
+ return 0;
+ i--;
+
+ /*
+ * The top of stack is input file for library. No need to close it.
+ */
+ if (i) {
+ lk_fpclose(ctx->stack[i]);
+ free(ctx->stack[i]);
+ }
+ ctx->stack[i] = NULL;
+
+ yypop_buffer_state(scanner);
+ return 0;
+}
+
+/*
+ * Where shall we look for an include file?
+ * Current strategy (undocumented, may change):
+ *
+ * 1. Look for a user-specified LOADKEYS_INCLUDE_PATH
+ * 2. Try . and ../include and ../../include
+ * 3. Try D and D/../include and D/../../include
+ * where D is the directory from where we are loading the current file.
+ * 4. Try KD/include and KD/#/include where KD = DATADIR/KEYMAPDIR.
+ *
+ * Expected layout:
+ * KD has subdirectories amiga, atari, i386, mac, sun, include
+ * KD/include contains architecture-independent stuff
+ * like strings and iso-8859-x compose tables.
+ * KD/i386 has subdirectories qwerty, ... and include;
+ * this latter include dir contains stuff with keycode=...
+ *
+ * (Of course, if the present setup turns out to be reasonable,
+ * then later also the other architectures will grow and get
+ * subdirectories, and the hard-coded i386 below will go again.)
+ *
+ * People that dislike a dozen lookups for loadkeys
+ * can easily do "loadkeys file_with_includes; dumpkeys > my_keymap"
+ * and afterwards use only "loadkeys /fullpath/mykeymap", where no
+ * lookups are required.
+ */
+static const char *const include_dirpath0[] = { "", 0 };
+static const char *const include_dirpath1[] = { "", "../include/", "../../include/", 0 };
+static const char *const include_dirpath3[] = {
+ DATADIR "/" KEYMAPDIR "/include/",
+ DATADIR "/" KEYMAPDIR "/i386/include/",
+ DATADIR "/" KEYMAPDIR "/mac/include/", 0
+};
+
+static const char *const include_suffixes[] = { "", ".inc", 0 };
+
+static int
+find_incl_file_near_fn(struct lk_ctx *ctx, char *s, char *fn, lkfile_t *fp)
+{
+ const char *include_dirpath2[] = { 0, 0, 0, 0 };
+ char *t, *te, *t1 = NULL, *t2 = NULL;
+ int len, rc = 1;
+
+ if (!fn)
+ return 1;
+
+ t = strdup(fn);
+ if (t == NULL)
+ goto nomem;
+
+ te = strrchr(t, '/');
+ if (te) {
+ te[1] = 0;
+ len = strlen(t);
+ include_dirpath2[0] = t;
+ include_dirpath2[1] = t1 = malloc(len + 12);
+ include_dirpath2[2] = t2 = malloc(len + 15);
+
+ if (t1 == NULL || t2 == NULL)
+ goto nomem;
+
+ strcpy(t1, t);
+ strcat(t1, "../include/");
+ strcpy(t2, t);
+ strcat(t2, "../../include/");
+ rc = lk_findfile(s, include_dirpath2, include_suffixes, fp);
+ free(t1);
+ free(t2);
+ }
+ free(t);
+ return rc;
+
+nomem: ERR(ctx, _("out of memory"));
+ if (t1) free(t1);
+ if (t2) free(t2);
+ if (t) free(t);
+ return -1;
+}
+
+static int
+find_standard_incl_file(struct lk_ctx *ctx, char *s, lkfile_t *fp)
+{
+ char *pathname;
+ int rc = 1;
+ int i = 0;
+
+ while (ctx->stack[i]) i++;
+ if (i == 0)
+ return -1;
+ i--;
+ pathname = ctx->stack[i]->pathname;
+
+ if (lk_findfile(s, include_dirpath1, include_suffixes, fp)) {
+ if ((rc = find_incl_file_near_fn(ctx, s, pathname, fp)) == -1)
+ return rc;
+ }
+
+ /* If filename is a symlink, also look near its target. */
+ if (rc) {
+ char buf[MAXPATHLEN], path[MAXPATHLEN], *ptr;
+ unsigned int n;
+
+ n = readlink(pathname, buf, sizeof(buf));
+ if (n > 0 && n < sizeof(buf)) {
+ buf[n] = 0;
+ if (buf[0] == '/') {
+ rc = find_incl_file_near_fn(ctx, s, buf, fp);
+
+ } else if (strlen(pathname) + n < sizeof(path)) {
+ strcpy(path, pathname);
+ path[sizeof(path) - 1] = 0;
+ ptr = strrchr(path, '/');
+ if (ptr)
+ ptr[1] = 0;
+ strcat(path, buf);
+ rc = find_incl_file_near_fn(ctx, s, path, fp);
+ }
+ }
+ }
+
+ if (rc)
+ rc = lk_findfile(s, include_dirpath3, include_suffixes, fp);
+ return rc;
+}
+
+static int
+find_incl_file(struct lk_ctx *ctx, char *s, lkfile_t *fp)
+{
+ char *ev;
+
+ if (!s || !*s)
+ return 1;
+
+ if (*s == '/') /* no path required */
+ return (lk_findfile(s, include_dirpath0, include_suffixes, fp));
+
+ if ((ev = getenv("LOADKEYS_INCLUDE_PATH")) != NULL) {
+ /* try user-specified path */
+ const char *user_dir[2] = { 0, 0 };
+ while (ev) {
+ int rc;
+ char *t = strchr(ev, ':');
+ char sv = 0;
+ if (t) {
+ sv = *t;
+ *t = 0;
+ }
+ user_dir[0] = ev;
+ if (*ev)
+ rc = lk_findfile(s, user_dir, include_suffixes, fp);
+ else /* empty string denotes system path */
+ rc = find_standard_incl_file(ctx, s, fp);
+
+ if (rc <= 0)
+ return rc;
+ if (t)
+ *t++ = sv;
+ ev = t;
+ }
+ return 1;
+ }
+ return find_standard_incl_file(ctx, s, fp);
+}
+
+static int
+open_include(struct lk_ctx *ctx, char *s, yyscan_t scanner)
+{
+ int rc;
+ lkfile_t *fp;
+
+ INFO(ctx, _("switching to %s"), s);
+
+ fp = malloc(sizeof(lkfile_t));
+ if (!fp) {
+ ERR(ctx, _("out of memory"));
+ return -1;
+ }
+ memset(fp, 0, sizeof(lkfile_t));
+
+ rc = find_incl_file(ctx, s, fp);
+ if (rc > 0) {
+ ERR(ctx, _("cannot open include file %s"), s);
+ free(s);
+ return -1;
+ } else if (rc == -1) {
+ free(s);
+ return -1;
+ }
+
+ free(s);
+
+ return stack_push(ctx, fp, scanner);
+}
+
+%}
+%s RVALUE
+%x STR
+%x INCLSTR
+Comment #|!
+Continuation \\\n
+Eol \n
+Blank [ \t]
+Include include[ \t]*
+Decimal [1-9][0-9]*
+Octal 0[0-7]*
+Hex 0[xX][0-9a-fA-F]+
+Unicode U\+([0-9a-fA-F]){4}
+Literal [a-zA-Z][a-zA-Z_0-9]*
+Octa ([0-7]){1,3}
+Charset charset|Charset|CharSet|CHARSET
+Keymaps keymaps|Keymaps|KeyMaps|KEYMAPS
+Keycode keycode|Keycode|KeyCode|KEYCODE
+String string|String|STRING
+Equals =
+Plain plain|Plain|PLAIN
+Shift shift|Shift|SHIFT
+Control control|Control|CONTROL
+Alt alt|Alt|ALT
+AltGr altgr|Altgr|AltGr|ALTGR
+ShiftL shiftl|ShiftL|SHIFTL
+ShiftR shiftr|ShiftR|SHIFTR
+CtrlL ctrll|CtrlL|CTRLL
+CtrlR ctrlr|CtrlR|CTRLR
+CapsShift capsshift|Capsshift|CapsShift|CAPSSHIFT
+AltIsMeta [aA][lL][tT][-_][iI][sS][-_][mM][eE][tT][aA]
+Strings strings|Strings|STRINGS
+Compose compose|Compose|COMPOSE
+As as|As|AS
+Usual usual|Usual|USUAL
+For for|For|FOR
+On on|On|ON
+To to|To|TO
+
+%%
+
+{Include} {
+ yy_push_state(INCLSTR, yyscanner);
+ }
+<INCLSTR>\"[^\"\n]+\" {
+ char *s = strndup(yytext+1, strlen(yytext)-2);
+ if (s == NULL) {
+ ERR(yyextra, _("out of memory"));
+ return(ERROR);
+ }
+
+ if (open_include(yyextra, s, yyscanner) == -1)
+ return(ERROR);
+
+ while (((struct yyguts_t*)yyscanner)->yy_start_stack_ptr) {
+ yy_pop_state(yyscanner);
+ }
+ }
+<INCLSTR>[^"]|\"\"|\"[^"\n]*{Eol} {
+ ERR(yyextra, _("expected filename between quotes"));
+ return(ERROR);
+ }
+<<EOF>> {
+ stack_pop(yyextra, yyscanner);
+ if (!YY_CURRENT_BUFFER)
+ yyterminate();
+ }
+{Continuation} {
+ yyset_lineno(yyget_lineno(yyscanner) + 1, yyscanner);
+ }
+{Eol} {
+ yyset_lineno(yyget_lineno(yyscanner) + 1, yyscanner);
+
+ while (((struct yyguts_t*)yyscanner)->yy_start_stack_ptr) {
+ yy_pop_state(yyscanner);
+ }
+ return(EOL);
+ }
+{Blank}+ ; /* do nothing */
+{Comment}.*/{Eol} ; /* do nothing */
+{Equals} {
+ yy_push_state(RVALUE, yyscanner);
+ lk_array_empty(yyextra->key_line);
+ return(EQUALS);
+ }
+{String} {
+ yy_push_state(RVALUE, yyscanner);
+ return(STRING);
+ }
+{To} {
+ yy_push_state(RVALUE, yyscanner);
+ return(TO);
+ }
+{Unicode} {
+ yylval->num = strtol(yytext + 1, NULL, 16);
+ if (yylval->num >= 0xf000) {
+ ERR(yyextra, _("unicode keysym out of range: %s"),
+ yytext);
+ return(ERROR);
+ }
+ return(UNUMBER);
+ }
+{Decimal}|{Octal}|{Hex} {
+ yylval->num = strtol(yytext, NULL, 0);
+ return(NUMBER);
+ }
+<RVALUE>{Literal} { return((yylval->num = ksymtocode(yyextra, yytext, TO_AUTO)) == -1 ? ERROR : LITERAL); }
+\- { return(DASH); }
+\, { return(COMMA); }
+\+ { return(PLUS); }
+{Charset} { return(CHARSET); }
+{Keymaps} { return(KEYMAPS); }
+{Keycode} { return(KEYCODE); }
+{Plain} { return(PLAIN); }
+{Shift} { return(SHIFT); }
+{Control} { return(CONTROL); }
+{Alt} { return(ALT); }
+{AltGr} { return(ALTGR); }
+{ShiftL} { return(SHIFTL); }
+{ShiftR} { return(SHIFTR); }
+{CtrlL} { return(CTRLL); }
+{CtrlR} { return(CTRLR); }
+{CapsShift} { return(CAPSSHIFT); }
+{AltIsMeta} { return(ALT_IS_META); }
+{Strings} { return(STRINGS); }
+{Compose} { return(COMPOSE); }
+{As} { return(AS); }
+{Usual} { return(USUAL); }
+{On} { return(ON); }
+{For} { return(FOR); }
+'\\{Octa}' {
+ yylval->num = strtol(yytext + 2, NULL, 8);
+ return(CCHAR);
+ }
+'\\.' {
+ yylval->num = (unsigned char) yytext[2];
+ return(CCHAR);
+ }
+'.' {
+ yylval->num = (unsigned char) yytext[1];
+ return(CCHAR);
+ }
+\" {
+ yylval->str.data[0] = '\0';
+ yylval->str.len = 0;
+
+ yy_push_state(STR, yyscanner);
+ }
+<STR>\\{Octa} {
+ if (yylval->str.len == MAX_PARSER_STRING) {
+ ERR(yyextra, _("string too long"));
+ return(ERROR);
+ }
+ yylval->str.data[yylval->str.len++] = strtol(yytext + 1, NULL, 8);
+ }
+<STR>\\\" {
+ if (yylval->str.len == MAX_PARSER_STRING) {
+ ERR(yyextra, _("string too long"));
+ return(ERROR);
+ }
+ yylval->str.data[yylval->str.len++] = '"';
+ }
+<STR>\\\\ {
+ if (yylval->str.len == MAX_PARSER_STRING) {
+ ERR(yyextra, _("string too long"));
+ return(ERROR);
+ }
+ yylval->str.data[yylval->str.len++] = '\\';
+ }
+<STR>\\n {
+ if (yylval->str.len == MAX_PARSER_STRING) {
+ ERR(yyextra, _("string too long"));
+ return(ERROR);
+ }
+ yylval->str.data[yylval->str.len++] = '\n';
+ }
+<STR>[^\"\\]* {
+ int len = strlen(yytext);
+
+ if (yylval->str.len + len >= MAX_PARSER_STRING) {
+ ERR(yyextra, _("string too long"));
+ return(ERROR);
+ }
+
+ strcpy((char *) yylval->str.data + yylval->str.len, yytext);
+ yylval->str.len += len;
+ }
+<STR>\" {
+ yylval->str.data[yylval->str.len] = '\0';
+ while (((struct yyguts_t*)yyscanner)->yy_start_stack_ptr) {
+ yy_pop_state(yyscanner);
+ }
+ return(STRLITERAL);
+ }
+. {
+ return(ERROR);
+ }
+%%
diff --git a/src/libkeymap/array.c b/src/libkeymap/array.c
new file mode 100644
index 0000000..b6975aa
--- /dev/null
+++ b/src/libkeymap/array.c
@@ -0,0 +1,148 @@
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <errno.h>
+#include <sys/types.h>
+
+#include <keymap/array.h>
+
+int
+lk_array_init(struct lk_array *a, size_t memb, size_t size)
+{
+ if (!a)
+ return -EINVAL;
+
+ memset(a, 0, sizeof(struct lk_array));
+
+ a->array = calloc(size, memb);
+ a->memb = memb;
+ a->total = size;
+
+ if (size && !a->array)
+ return -ENOMEM;
+
+ return 0;
+}
+
+int
+lk_array_free(struct lk_array *a)
+{
+ if (!a)
+ return -EINVAL;
+ free(a->array);
+ memset(a, 0, sizeof(struct lk_array));
+ return 0;
+}
+
+int
+lk_array_empty(struct lk_array *a)
+{
+ if (!a)
+ return -EINVAL;
+
+ memset(a->array, 0, (a->memb * a->total));
+ a->count = 0;
+
+ return 0;
+}
+
+int
+lk_array_exists(struct lk_array *a, unsigned int i)
+{
+ char *s;
+ size_t k;
+
+ if (!a || i >= a->total) {
+ return 0;
+ }
+
+ s = (char *) (a->array + (a->memb * i));
+
+ for (k = 0; k < a->memb; k++) {
+ if (s[k] != 0)
+ return 1;
+ }
+
+ return 0;
+}
+
+void *
+lk_array_get(struct lk_array *a, unsigned int i)
+{
+ if (!a || i >= a->total) {
+ return NULL;
+ }
+ return a->array + (a->memb * i);
+}
+
+void *
+lk_array_get_ptr(struct lk_array *a, unsigned int i)
+{
+ void **ptr;
+ if (!a || i >= a->total) {
+ return NULL;
+ }
+ ptr = a->array;
+ return *(ptr + i);
+}
+
+static int
+array_resize(struct lk_array *a, unsigned int i)
+{
+ if (!a)
+ return -EINVAL;
+
+ if (i >= a->total) {
+ void *tmp = realloc(a->array, a->memb * (i + 1));
+ if (!tmp)
+ return -ENOMEM;
+
+ memset(tmp + (a->memb * a->total), 0, a->memb * (i + 1 - a->total));
+
+ a->array = tmp;
+ a->total = i + 1;
+ }
+ return 0;
+}
+
+int
+lk_array_set(struct lk_array *a, unsigned int i, const void *e)
+{
+ int ret = array_resize(a, i);
+
+ if (ret < 0)
+ return ret;
+
+ memcpy(a->array + (a->memb * i), e, a->memb);
+ a->count++;
+
+ return 0;
+}
+
+int
+lk_array_unset(struct lk_array *a, unsigned int i)
+{
+ if (!a || i >= a->total)
+ return -EINVAL;
+
+ if (lk_array_exists(a, i)) {
+ memset(a->array + (a->memb * i), 0, a->memb);
+ a->count--;
+ }
+
+ return 0;
+}
+
+int
+lk_array_append(struct lk_array *a, const void *e)
+{
+ int ret = array_resize(a, a->count);
+
+ if (ret < 0)
+ return ret;
+
+ memcpy(a->array + (a->memb * a->count), e, a->memb);
+ a->count++;
+
+ return 0;
+}
diff --git a/src/libkeymap/common.c b/src/libkeymap/common.c
new file mode 100644
index 0000000..0abe214
--- /dev/null
+++ b/src/libkeymap/common.c
@@ -0,0 +1,238 @@
+#include <string.h>
+#include <stdlib.h>
+#include <stdarg.h>
+
+#include "keymap.h"
+
+#include "kbd.h"
+#include "nls.h"
+#include "contextP.h"
+
+void __attribute__ ((format (printf, 6, 7)))
+lk_log(struct lk_ctx *ctx, int priority,
+ const char *file, int line, const char *fn,
+ const char *fmt, ...)
+{
+ va_list args;
+ if (ctx->log_fn == NULL)
+ return;
+ va_start(args, fmt);
+ ctx->log_fn(ctx->log_data, priority, file, line, fn, fmt, args);
+ va_end(args);
+}
+
+#ifndef DEBUG
+# define log_unused __attribute__ ((unused))
+#else
+# define log_unused
+#endif
+
+static void __attribute__ ((format(printf, 6, 0)))
+log_file(void *data,
+ int priority log_unused,
+ const char *file log_unused,
+ const int line log_unused,
+ const char *fn log_unused,
+ const char *format, va_list args)
+{
+ FILE *fp = data;
+#ifdef DEBUG
+ char buf[16];
+ const char *priname;
+
+ switch (priority) {
+ case LOG_EMERG: priname = "EMERGENCY"; break;
+ case LOG_ALERT: priname = "ALERT"; break;
+ case LOG_CRIT: priname = "CRITICAL"; break;
+ case LOG_ERR: priname = "ERROR"; break;
+ case LOG_WARNING: priname = "WARNING"; break;
+ case LOG_NOTICE: priname = "NOTICE"; break;
+ case LOG_INFO: priname = "INFO"; break;
+ case LOG_DEBUG: priname = "DEBUG"; break;
+ default:
+ snprintf(buf, sizeof(buf), "L:%d", priority);
+ priname = buf;
+ }
+ fprintf(fp, "libkeymap: %s %s:%d %s: ", priname, file, line, fn);
+#endif
+ vfprintf(fp, format, args);
+ fprintf(fp, "\n");
+}
+
+#undef log_unused
+
+int
+lk_set_log_fn(struct lk_ctx *ctx,
+ void (*log_fn)(void *data, int priority,
+ const char *file, int line, const char *fn,
+ const char *format, va_list args),
+ const void *data)
+{
+ if (!ctx)
+ return -1;
+
+ ctx->log_fn = log_fn;
+ ctx->log_data = (void *)data;
+
+ return 0;
+}
+
+int
+lk_get_log_priority(struct lk_ctx *ctx)
+{
+ if (!ctx)
+ return -1;
+
+ return ctx->log_priority;
+}
+
+int
+lk_set_log_priority(struct lk_ctx *ctx, int priority)
+{
+ if (!ctx)
+ return -1;
+
+ ctx->log_priority = priority;
+ return 0;
+}
+
+lk_flags
+lk_get_parser_flags(struct lk_ctx *ctx)
+{
+ if (!ctx)
+ return -1;
+
+ return ctx->flags;
+}
+
+int
+lk_set_parser_flags(struct lk_ctx *ctx, lk_flags flags)
+{
+ if (!ctx)
+ return -1;
+
+ ctx->flags = flags;
+ return 0;
+}
+
+static int
+init_array(struct lk_ctx *ctx, struct lk_array **arr, size_t size)
+{
+ int rc;
+ void *ptr;
+
+ ptr = malloc(sizeof(struct lk_array));
+ if (!ptr) {
+ ERR(ctx, _("out of memory"));
+ return -1;
+ }
+
+ rc = lk_array_init(ptr, size, 0);
+ if (rc < 0) {
+ ERR(ctx, _("unable to initialize array: %s"), strerror(rc));
+ return -1;
+ }
+
+ *arr = ptr;
+
+ return 0;
+}
+
+struct lk_ctx *
+lk_init(void)
+{
+ struct lk_ctx *ctx;
+
+ ctx = malloc(sizeof(struct lk_ctx));
+ if (!ctx)
+ return NULL;
+
+ memset(ctx, 0, sizeof(struct lk_ctx));
+
+ lk_set_log_fn(ctx, log_file, stderr);
+ lk_set_log_priority(ctx, LOG_ERR);
+
+ if (init_array(ctx, &ctx->keymap, sizeof(void*)) < 0 ||
+ init_array(ctx, &ctx->func_table, sizeof(void*)) < 0 ||
+ init_array(ctx, &ctx->accent_table, sizeof(void*)) < 0 ||
+ init_array(ctx, &ctx->key_constant, sizeof(char)) < 0 ||
+ init_array(ctx, &ctx->key_line, sizeof(int)) < 0) {
+ lk_free(ctx);
+ return NULL;
+ }
+
+ return ctx;
+}
+
+
+int
+lk_free(struct lk_ctx *ctx)
+{
+ unsigned int i;//, j;
+
+ if (!ctx)
+ return -1;
+
+ if (ctx->keymap) {
+ for (i = 0; i < ctx->keymap->total; i++) {
+ struct lk_array *map;
+
+ map = lk_array_get_ptr(ctx->keymap, i);
+ if (!map)
+ continue;
+
+ lk_array_free(map);
+ free(map);
+ }
+ lk_array_free(ctx->keymap);
+ free(ctx->keymap);
+
+ ctx->keymap = NULL;
+ }
+
+ if (ctx->func_table) {
+ for (i = 0; i < ctx->func_table->total; i++) {
+ char *ptr;
+
+ ptr = lk_array_get_ptr(ctx->func_table, i);
+ if (!ptr)
+ continue;
+
+ free(ptr);
+ }
+ lk_array_free(ctx->func_table);
+ free(ctx->func_table);
+
+ ctx->func_table = NULL;
+ }
+
+ if (ctx->accent_table) {
+ for (i = 0; i < ctx->accent_table->total; i++) {
+ struct lk_array *ptr;
+
+ ptr = lk_array_get_ptr(ctx->accent_table, i);
+ if (!ptr)
+ continue;
+
+ free(ptr);
+ }
+ lk_array_free(ctx->accent_table);
+ free(ctx->accent_table);
+
+ ctx->accent_table = NULL;
+ }
+
+ if (ctx->key_constant) {
+ lk_array_free(ctx->key_constant);
+ free(ctx->key_constant);
+ ctx->key_constant = NULL;
+ }
+
+ if (ctx->key_line) {
+ lk_array_free(ctx->key_line);
+ free(ctx->key_line);
+ ctx->key_line = NULL;
+ }
+
+ return 0;
+}
diff --git a/src/libkeymap/contextP.h b/src/libkeymap/contextP.h
new file mode 100644
index 0000000..e3798e3
--- /dev/null
+++ b/src/libkeymap/contextP.h
@@ -0,0 +1,77 @@
+#ifndef LK_CONTEXTP_H
+#define LK_CONTEXTP_H
+
+#include "keymap.h"
+
+/**
+ * @brief Copy of struct kbdiacruc.
+ */
+struct kb_diacr {
+ unsigned int diacr, base, result;
+};
+
+/**
+ * @brief The maximum number of include levels.
+ */
+#define MAX_INCLUDE_DEPTH 20
+
+/**
+ * @brief Opaque object representing the library context.
+ */
+struct lk_ctx {
+ /**
+ * Parser flags that are set outside the library.
+ */
+ lk_flags flags;
+
+ /**
+ * Keywords used in keymap files.
+ */
+ lk_keywords keywords;
+
+ /**
+ * Key translation table (keycode to action code).
+ */
+ struct lk_array *keymap;
+
+ /**
+ * Function key string entry.
+ */
+ struct lk_array *func_table;
+
+ /**
+ * Accent table.
+ */
+ struct lk_array *accent_table;
+
+ /**
+ * User defined logging function.
+ */
+ void (*log_fn)(void *data, int priority,
+ const char *file, int line, const char *fn,
+ const char *format, va_list args);
+
+ /**
+ * The data passed to the @ref log_fn logging function as the first argument.
+ */
+ void *log_data;
+
+ /**
+ * Logging priority used by @ref log_fn logging function.
+ */
+ int log_priority;
+
+ /**
+ * User defined charset.
+ */
+ unsigned int charset;
+
+ /* Fields used by keymap parser */
+
+ struct lk_array *key_constant;
+ struct lk_array *key_line;
+ int mod;
+ lkfile_t *stack[MAX_INCLUDE_DEPTH];
+};
+
+#endif /* LK_CONTEXTP_H */
diff --git a/src/libkeymap/dump.c b/src/libkeymap/dump.c
new file mode 100644
index 0000000..3cab746
--- /dev/null
+++ b/src/libkeymap/dump.c
@@ -0,0 +1,595 @@
+/* dump.c
+ *
+ * This file is part of kbd project.
+ * Copyright (C) 1993 Risto Kankkunen.
+ * Copyright (C) 1993 Eugene G. Crosser.
+ * Copyright (C) 1994-2007 Andries E. Brouwer.
+ * Copyright (C) 2007-2013 Alexey Gladkov <gladkov.alexey@gmail.com>
+ *
+ * This file is covered by the GNU General Public License,
+ * which should be included with kbd as the file COPYING.
+ */
+#include <stdio.h>
+#include <string.h>
+#include <ctype.h>
+#include <unistd.h>
+
+#include "keymap.h"
+
+#include "contextP.h"
+#include "ksyms.h"
+#include "modifiers.h"
+#include "nls.h"
+
+#define U(x) ((x) ^ 0xf000)
+
+static void
+outchar(FILE *fd, unsigned char c, int comma)
+{
+ fprintf(fd, "'");
+ fprintf(fd, (c == '\'' || c == '\\') ? "\\%c"
+ : isgraph(c) ? "%c"
+ : "\\%03o", c);
+ fprintf(fd, comma ? "', " : "'");
+}
+
+// FIXME: Merge outchar ?
+static void
+dumpchar(FILE *fd, unsigned char c, int comma)
+{
+ fprintf(fd, "'");
+ fprintf(fd, (c == '\'' || c == '\\') ? "\\%c"
+ : (isgraph(c) || c == ' ' || c >= 0200) ? "%c"
+ : "\\%03o", c);
+ fprintf(fd, comma ? "', " : "'");
+}
+
+int
+lk_dump_bkeymap(struct lk_ctx *ctx, FILE *fd)
+{
+ unsigned int i, j;
+ char magic[] = "bkeymap";
+
+ if (lk_add_constants(ctx) < 0)
+ return -1;
+
+ if (fwrite(magic, 7, 1, fd) != 1)
+ goto fail;
+
+ for (i = 0; i < MAX_NR_KEYMAPS; i++) {
+ char flag;
+ flag = lk_map_exists(ctx, i);
+
+ if (fwrite(&flag, sizeof(flag), 1, fd) != 1)
+ goto fail;
+ }
+
+ for (i = 0; i < MAX_NR_KEYMAPS; i++) {
+ if (!lk_map_exists(ctx, i))
+ continue;
+
+ for (j = 0; j < NR_KEYS / 2; j++) {
+ u_short v;
+ v = lk_get_key(ctx, i, j);
+
+ if (fwrite(&v, sizeof(v), 1, fd) != 1)
+ goto fail;
+ }
+ }
+
+ return 0;
+
+ fail: ERR(ctx, _("Error writing map to file"));
+ return -1;
+}
+
+static char *
+mk_mapname(char modifier)
+{
+ static char *mods[8] = {
+ "shift", "altgr", "ctrl", "alt", "shl", "shr", "ctl", "ctr"
+ };
+ static char buf[60];
+ int i;
+
+ if (!modifier)
+ return "plain";
+ buf[0] = 0;
+ for (i = 0; i < 8; i++)
+ if (modifier & (1 << i)) {
+ if (buf[0])
+ strcat(buf, "_");
+ strcat(buf, mods[i]);
+ }
+ return buf;
+}
+
+int
+lk_dump_ctable(struct lk_ctx *ctx, FILE *fd)
+{
+ int j;
+ unsigned int i, imax;
+
+ unsigned int maxfunc;
+ unsigned int func_table_offs[MAX_NR_FUNC];
+ unsigned int func_buf_offset = 0;
+ struct kb_diacr *kddiac;
+
+ if (lk_add_constants(ctx) < 0)
+ return -1;
+
+ fprintf(fd,
+/* not to be translated... */
+ "/* Do not edit this file! It was automatically generated by */\n");
+ fprintf(fd, "/* loadkeys --mktable defkeymap.map > defkeymap.c */\n\n");
+ fprintf(fd, "#include <linux/types.h>\n");
+ fprintf(fd, "#include <linux/keyboard.h>\n");
+ fprintf(fd, "#include <linux/kd.h>\n\n");
+
+ for (i = 0; i < MAX_NR_KEYMAPS; i++)
+ if (lk_map_exists(ctx, i)) {
+ if (i)
+ fprintf(fd, "static ");
+ fprintf(fd, "u_short %s_map[NR_KEYS] = {", mk_mapname(i));
+ for (j = 0; j < NR_KEYS; j++) {
+ if (!(j % 8))
+ fprintf(fd, "\n");
+ fprintf(fd, "\t0x%04x,", U(lk_get_key(ctx, i, j)));
+ }
+ fprintf(fd, "\n};\n\n");
+ }
+
+ for (imax = MAX_NR_KEYMAPS - 1; imax > 0; imax--)
+ if (lk_map_exists(ctx, imax))
+ break;
+ fprintf(fd, "ushort *key_maps[MAX_NR_KEYMAPS] = {");
+ for (i = 0; i <= imax; i++) {
+ fprintf(fd, (i % 4) ? " " : "\n\t");
+ if (lk_map_exists(ctx, i))
+ fprintf(fd, "%s_map,", mk_mapname(i));
+ else
+ fprintf(fd, "0,");
+ }
+ if (imax < MAX_NR_KEYMAPS - 1)
+ fprintf(fd, "\t0");
+ fprintf(fd, "\n};\n\nunsigned int keymap_count = %u;\n\n", (unsigned int) ctx->keymap->count);
+
+/* uglified just for xgettext - it complains about nonterminated strings */
+ fprintf(fd,
+ "/*\n"
+ " * Philosophy: most people do not define more strings, but they who do\n"
+ " * often want quite a lot of string space. So, we statically allocate\n"
+ " * the default and allocate dynamically in chunks of 512 bytes.\n"
+ " */\n" "\n");
+ for (maxfunc = MAX_NR_FUNC; maxfunc; maxfunc--)
+ if (lk_array_get_ptr(ctx->func_table, maxfunc - 1))
+ break;
+
+ fprintf(fd, "char func_buf[] = {\n");
+ for (i = 0; i < maxfunc; i++) {
+ char *ptr, *func;
+
+ func = ptr = lk_array_get_ptr(ctx->func_table, i);
+ if (!ptr)
+ continue;
+
+ func_table_offs[i] = func_buf_offset;
+ fprintf(fd, "\t");
+ for (; *ptr; ptr++)
+ outchar(fd, *ptr, 1);
+ fprintf(fd, "0, \n");
+ func_buf_offset += (ptr - func + 1);
+ }
+ if (!maxfunc)
+ fprintf(fd, "\t0\n");
+ fprintf(fd, "};\n\n");
+
+ fprintf(fd,
+ "char *funcbufptr = func_buf;\n"
+ "int funcbufsize = sizeof(func_buf);\n"
+ "int funcbufleft = 0; /* space left */\n" "\n");
+
+ fprintf(fd, "char *func_table[MAX_NR_FUNC] = {\n");
+ for (i = 0; i < maxfunc; i++) {
+ if (lk_array_get_ptr(ctx->func_table, i))
+ fprintf(fd, "\tfunc_buf + %u,\n", func_table_offs[i]);
+ else
+ fprintf(fd, "\t0,\n");
+ }
+ if (maxfunc < MAX_NR_FUNC)
+ fprintf(fd, "\t0,\n");
+ fprintf(fd, "};\n");
+
+ if (ctx->flags & LK_FLAG_PREFER_UNICODE) {
+ fprintf(fd, "\nstruct kbdiacruc accent_table[MAX_DIACR] = {\n");
+ for (i = 0; i < ctx->accent_table->count; i++) {
+ kddiac = lk_array_get_ptr(ctx->accent_table, i);
+
+ fprintf(fd, "\t{");
+ outchar(fd, kddiac->diacr, 1);
+ outchar(fd, kddiac->base, 1);
+ fprintf(fd, "0x%04x},", kddiac->result);
+ if (i % 2)
+ fprintf(fd, "\n");
+ }
+ if (i % 2)
+ fprintf(fd, "\n");
+ fprintf(fd, "};\n\n");
+ } else {
+ fprintf(fd, "\nstruct kbdiacr accent_table[MAX_DIACR] = {\n");
+ for (i = 0; i < ctx->accent_table->count; i++) {
+ kddiac = lk_array_get_ptr(ctx->accent_table, i);
+
+ fprintf(fd, "\t{");
+ outchar(fd, kddiac->diacr, 1);
+ outchar(fd, kddiac->base, 1);
+ outchar(fd, kddiac->result, 0);
+ fprintf(fd, "},");
+ if (i % 2)
+ fprintf(fd, "\n");
+ }
+ if (i % 2)
+ fprintf(fd, "\n");
+ fprintf(fd, "};\n\n");
+ }
+ fprintf(fd, "unsigned int accent_table_size = %u;\n",
+ (unsigned int) ctx->accent_table->count);
+ return 0;
+}
+
+/* void dump_funcs(void) */
+void
+lk_dump_funcs(struct lk_ctx *ctx, FILE *fd)
+{
+ unsigned int i;
+
+ for (i = 0; i < ctx->func_table->total; i++) {
+ char *ptr = lk_array_get_ptr(ctx->func_table, i);
+ if (!ptr)
+ continue;
+
+ fprintf(fd, "string %s = \"", syms[KT_FN].table[i]);
+
+ for (; *ptr; ptr++) {
+ if (*ptr == '"' || *ptr == '\\') {
+ fputc('\\', fd);
+ fputc(*ptr, fd);
+ } else if (isgraph(*ptr) || *ptr == ' ') {
+ fputc(*ptr, fd);
+ } else {
+ fprintf(fd, "\\%03o", *ptr);
+ }
+ }
+ fputc('"', fd);
+ fputc('\n', fd);
+ }
+}
+
+/* void dump_diacs(void) */
+void
+lk_dump_diacs(struct lk_ctx *ctx, FILE *fd)
+{
+ unsigned int i;
+ struct kb_diacr *ptr;
+
+ for (i = 0; i < ctx->accent_table->count; i++) {
+ ptr = lk_array_get_ptr(ctx->accent_table, i);
+ if (!ptr)
+ continue;
+
+ fprintf(fd, "compose ");
+
+ if (ctx->flags & LK_FLAG_PREFER_UNICODE) {
+ dumpchar(fd, ptr->diacr & 0xff, 0);
+ fprintf(fd, " ");
+ dumpchar(fd, ptr->base & 0xff, 0);
+ fprintf(fd, " to U+%04x\n", ptr->result);
+ } else {
+ dumpchar(fd, ptr->diacr, 0);
+ fprintf(fd, " ");
+ dumpchar(fd, ptr->base, 0);
+ fprintf(fd, " to ");
+ dumpchar(fd, ptr->result, 0);
+ fprintf(fd, "\n");
+ }
+ }
+}
+
+void
+lk_dump_keymaps(struct lk_ctx *ctx, FILE *fd)
+{
+ unsigned int i;
+ int n, m, s;
+ i = n = m = s = 0;
+
+ fprintf(fd, "keymaps");
+
+ for (i = 0; i < ctx->keymap->total; i++) {
+ if (ctx->keywords & LK_KEYWORD_ALTISMETA && i == (i | M_ALT))
+ continue;
+
+ if (!lk_map_exists(ctx, i)) {
+ if (!m)
+ continue;
+ n--, m--;
+ (n == m)
+ ? fprintf(fd, "%c%d" , (s ? ',' : ' '), n)
+ : fprintf(fd, "%c%d-%d", (s ? ',' : ' '), n, m);
+ n = m = 0;
+ s = 1;
+ } else {
+ if (!n)
+ n = i+1;
+ m = i+1;
+ }
+ }
+
+ if (m) {
+ n--, m--;
+ (n == m)
+ ? fprintf(fd, "%c%d" , (s ? ',' : ' '), n)
+ : fprintf(fd, "%c%d-%d", (s ? ',' : ' '), n, m);
+ }
+
+ fprintf(fd, "\n");
+}
+
+static void
+print_mod(FILE *fd, int x)
+{
+ if (x) {
+ modifier_t *mod = (modifier_t *) modifiers;
+ while (mod->name) {
+ if (x & (1 << mod->bit))
+ fprintf(fd, "%s\t", mod->name);
+ mod++;
+ }
+ } else {
+ fprintf(fd, "plain\t");
+ }
+}
+
+static void
+print_keysym(struct lk_ctx *ctx, FILE *fd, int code, char numeric)
+{
+ unsigned int t;
+ int v;
+ const char *p;
+ int plus;
+
+ fprintf(fd, " ");
+ t = KTYP(code);
+ v = KVAL(code);
+ if (t >= syms_size) {
+ if (!numeric && (p = codetoksym(ctx, code)) != NULL)
+ fprintf(fd, "%-16s", p);
+ else
+ fprintf(fd, "U+%04x ", code ^ 0xf000);
+ return;
+ }
+ plus = 0;
+ if (t == KT_LETTER) {
+ t = KT_LATIN;
+ fprintf(fd, "+");
+ plus++;
+ }
+ if (!numeric && t < syms_size && v < syms[t].size &&
+ (p = syms[t].table[v])[0])
+ fprintf(fd, "%-*s", 16 - plus, p);
+ else if (!numeric && t == KT_META && v < 128 && v < syms[0].size &&
+ (p = syms[0].table[v])[0])
+ fprintf(fd, "Meta_%-11s", p);
+ else
+ fprintf(fd, "0x%04x %s", code, plus ? "" : " ");
+}
+
+static void
+print_bind(struct lk_ctx *ctx, FILE *fd, int bufj, int i, int j, char numeric)
+{
+ if(j)
+ fprintf(fd, "\t");
+ print_mod(fd, j);
+ fprintf(fd, "keycode %3d =", i);
+ print_keysym(ctx, fd, bufj, numeric);
+ fprintf(fd, "\n");
+}
+
+void
+lk_dump_keys(struct lk_ctx *ctx, FILE *fd, lk_table_shape table, char numeric)
+{
+ unsigned int i, j;
+ int buf[MAX_NR_KEYMAPS];
+ int isletter, islatin, isasexpected;
+ int typ, val;
+ int alt_is_meta = 0;
+ int all_holes;
+ int zapped[MAX_NR_KEYMAPS];
+ unsigned int keymapnr = ctx->keymap->total;
+
+ if (!keymapnr)
+ return;
+
+ if (table == LK_SHAPE_FULL_TABLE || table == LK_SHAPE_SEPARATE_LINES)
+ goto no_shorthands;
+
+ /* first pass: determine whether to set alt_is_meta */
+ for (j = 0; j < ctx->keymap->total; j++) {
+ unsigned int ja = (j | M_ALT);
+
+ if (!(j != ja && lk_map_exists(ctx, j) && lk_map_exists(ctx, ja)))
+ continue;
+
+ for (i = 1; i < NR_KEYS; i++) {
+ int buf0, buf1, type;
+
+ buf0 = lk_get_key(ctx, j, i);
+
+ if (buf0 == -1)
+ break;
+
+ type = KTYP(buf0);
+
+ if ((type == KT_LATIN || type == KT_LETTER) && KVAL(buf0) < 128) {
+ buf1 = lk_map_exists(ctx, ja)
+ ? lk_get_key(ctx, ja, i)
+ : -1;
+
+ if (buf1 != K(KT_META, KVAL(buf0)))
+ goto not_alt_is_meta;
+ }
+ }
+ }
+ alt_is_meta = 1;
+ fprintf(fd, "alt_is_meta\n");
+
+not_alt_is_meta:
+no_shorthands:
+
+ for (i = 1; i < NR_KEYS; i++) {
+ all_holes = 1;
+
+ for (j = 0; j < keymapnr; j++) {
+ buf[j] = K_HOLE;
+
+ if (lk_map_exists(ctx, j))
+ buf[j] = lk_get_key(ctx, j, i);
+
+ if (buf[j] != K_HOLE)
+ all_holes = 0;
+ }
+
+ if (all_holes && table != LK_SHAPE_FULL_TABLE)
+ continue;
+
+ if (table == LK_SHAPE_FULL_TABLE) {
+ fprintf(fd, "keycode %3d =", i);
+
+ for (j = 0; j < keymapnr; j++)
+ print_keysym(ctx, fd, buf[j], numeric);
+
+ fprintf(fd, "\n");
+ continue;
+ }
+
+ if (table == LK_SHAPE_SEPARATE_LINES) {
+ for (j = 0; j < keymapnr; j++) {
+ //if (buf[j] != K_HOLE)
+ print_bind(ctx, fd, buf[j], i, j, numeric);
+ }
+
+ fprintf(fd, "\n");
+ continue;
+ }
+
+ typ = KTYP(buf[0]);
+ val = KVAL(buf[0]);
+ islatin = (typ == KT_LATIN || typ == KT_LETTER);
+ isletter = (islatin &&
+ ((val >= 'A' && val <= 'Z') ||
+ (val >= 'a' && val <= 'z')));
+
+ isasexpected = 0;
+ if (isletter) {
+ u_short defs[16];
+ defs[0] = K(KT_LETTER, val);
+ defs[1] = K(KT_LETTER, val ^ 32);
+ defs[2] = defs[0];
+ defs[3] = defs[1];
+
+ for (j = 4; j < 8; j++)
+ defs[j] = K(KT_LATIN, val & ~96);
+
+ for (j = 8; j < 16; j++)
+ defs[j] = K(KT_META, KVAL(defs[j-8]));
+
+ for (j = 0; j < keymapnr; j++) {
+ if ((j >= 16 && buf[j] != K_HOLE) || (j < 16 && buf[j] != defs[j]))
+ goto unexpected;
+ }
+
+ isasexpected = 1;
+ }
+unexpected:
+
+ /* wipe out predictable meta bindings */
+ for (j = 0; j < keymapnr; j++)
+ zapped[j] = 0;
+
+ if (alt_is_meta) {
+ for(j = 0; j < keymapnr; j++) {
+ unsigned int ja, ktyp;
+ ja = (j | M_ALT);
+
+ if (j != ja && lk_map_exists(ctx, ja)
+ && ((ktyp=KTYP(buf[j])) == KT_LATIN || ktyp == KT_LETTER)
+ && KVAL(buf[j]) < 128) {
+ if (buf[ja] != K(KT_META, KVAL(buf[j])))
+ fprintf(stderr, _("impossible: not meta?\n"));
+ buf[ja] = K_HOLE;
+ zapped[ja] = 1;
+ }
+ }
+ }
+
+ fprintf(fd, "keycode %3d =", i);
+
+ if (isasexpected) {
+ /* print only a single entry */
+ /* suppress the + for ordinary a-zA-Z */
+ print_keysym(ctx, fd, K(KT_LATIN, val), numeric);
+ fprintf(fd, "\n");
+ } else {
+ /* choose between single entry line followed by exceptions,
+ and long line followed by exceptions; avoid VoidSymbol */
+ unsigned int bad, count;
+ bad = count = 0;
+
+ for (j = 1; j < keymapnr; j++) {
+ if (zapped[j])
+ continue;
+
+ if (buf[j] != buf[0])
+ bad++;
+
+ if (buf[j] != K_HOLE)
+ count++;
+ }
+
+ if (bad <= count && bad < keymapnr-1) {
+ if (buf[0] != K_HOLE) {
+ print_keysym(ctx, fd, buf[0], numeric);
+ }
+ fprintf(fd, "\n");
+
+ for (j = 1; j < keymapnr; j++) {
+ if (buf[j] != buf[0] && !zapped[j]) {
+ print_bind(ctx, fd, buf[j], i, j, numeric);
+ }
+ }
+ } else {
+ for (j = 0;
+ j < keymapnr && buf[j] != K_HOLE &&
+ (table != LK_SHAPE_UNTIL_HOLE || lk_map_exists(ctx, j));
+ j++) {
+ //print_bind(ctx, fd, buf[j], i, j, numeric);
+ print_keysym(ctx, fd, buf[j], numeric);
+ }
+ fprintf(fd, "\n");
+
+ for (; j < keymapnr; j++) {
+ if (buf[j] != K_HOLE) {
+ print_bind(ctx, fd, buf[j], i, j, numeric);
+ }
+ }
+ }
+ }
+ }
+}
+
+void
+lk_dump_keymap(struct lk_ctx *ctx, FILE *fd, lk_table_shape table, char numeric)
+{
+ lk_dump_keymaps(ctx, fd);
+ lk_dump_keys(ctx, fd, table, numeric);
+ lk_dump_funcs(ctx, fd);
+}
diff --git a/src/libkeymap/findfile.c b/src/libkeymap/findfile.c
new file mode 100644
index 0000000..5fd809b
--- /dev/null
+++ b/src/libkeymap/findfile.c
@@ -0,0 +1,300 @@
+#include <stdio.h>
+#include <string.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include <sys/param.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <dirent.h>
+#include "nls.h"
+#include "keymap/findfile.h"
+
+void
+lk_fpclose(lkfile_t *fp)
+{
+ if (!fp || !fp->fd)
+ return;
+ if (fp->pipe)
+ pclose(fp->fd);
+ else
+ fclose(fp->fd);
+ fp->fd = NULL;
+}
+
+#define SIZE(a) (sizeof(a)/sizeof(a[0]))
+
+static struct decompressor {
+ const char *ext; /* starts with `.', has no other dots */
+ const char *cmd;
+} decompressors[] = {
+ { ".gz", "gzip -d -c" },
+ { ".bz2", "bzip2 -d -c" },
+ { 0, 0 }
+};
+
+static int
+pipe_open(const struct decompressor *dc, lkfile_t *fp)
+{
+ char *pipe_cmd;
+
+ pipe_cmd = malloc(strlen(dc->cmd) + strlen(fp->pathname) + 2);
+ if (pipe_cmd == NULL)
+ return -1;
+
+ sprintf(pipe_cmd, "%s %s", dc->cmd, fp->pathname);
+
+ fp->fd = popen(pipe_cmd, "r");
+ fp->pipe = 1;
+
+ free(pipe_cmd);
+
+ if (fp->fd == NULL)
+ return -1;
+ return 0;
+}
+
+/* If a file PATHNAME exists, then open it.
+ If is has a `compressed' extension, then open a pipe reading it */
+static int
+maybe_pipe_open(lkfile_t *fp)
+{
+ char *t;
+ struct stat st;
+ struct decompressor *dc;
+
+ if (stat(fp->pathname, &st) == -1 || !S_ISREG(st.st_mode) ||
+ access(fp->pathname, R_OK) == -1)
+ return -1;
+
+ t = strrchr(fp->pathname, '.');
+ if (t) {
+ for (dc = &decompressors[0]; dc->cmd; dc++) {
+ if (strcmp(t, dc->ext) == 0)
+ return pipe_open(dc, fp);
+ }
+ }
+ fp->fd = fopen(fp->pathname, "r");
+ fp->pipe = 0;
+
+ if (fp->fd == NULL)
+ return -1;
+
+ return 0;
+}
+
+static int
+findfile_by_fullname(const char *fnam, const char *const *suffixes, lkfile_t *fp)
+{
+ int i;
+ struct stat st;
+ struct decompressor *dc;
+ size_t fnam_len, sp_len;
+
+ fp->pipe = 0;
+ fnam_len = strlen(fnam);
+
+ for (i = 0; suffixes[i]; i++) {
+ if (suffixes[i] == 0)
+ continue; /* we tried it already */
+
+ sp_len = strlen(suffixes[i]);
+
+ if (fnam_len + sp_len + 1 > sizeof(fp->pathname))
+ continue;
+
+ sprintf(fp->pathname, "%s%s", fnam, suffixes[i]);
+
+ if(stat(fp->pathname, &st) == 0
+ && S_ISREG(st.st_mode)
+ && (fp->fd = fopen(fp->pathname, "r")) != NULL)
+ return 0;
+
+ for (dc = &decompressors[0]; dc->cmd; dc++) {
+ if (fnam_len + sp_len + strlen(dc->ext) + 1 > sizeof(fp->pathname))
+ continue;
+
+ sprintf(fp->pathname, "%s%s%s", fnam, suffixes[i], dc->ext);
+
+ if (stat(fp->pathname, &st) == 0
+ && S_ISREG(st.st_mode)
+ && access(fp->pathname, R_OK) == 0)
+ return pipe_open(dc, fp);
+ }
+ }
+
+ return -1;
+}
+
+static int
+findfile_in_dir(const char *fnam, const char *dir, const int recdepth, const char *const *suf, lkfile_t *fp)
+{
+ DIR *d;
+ struct dirent *de;
+ char *ff, *fdir, *p;
+ const char *q;
+ struct decompressor *dc;
+ int i, rc = -1, secondpass = 0;
+ size_t dir_len;
+
+ fp->fd = NULL;
+ fp->pipe = 0;
+
+ if ((d = opendir(dir)) == NULL)
+ return -1;
+
+ dir_len = strlen(dir);
+
+ fdir = NULL;
+ if ((ff = strchr(fnam, '/')) != NULL) {
+ if ((fdir = strndup(fnam, ff - fnam)) == NULL) {
+ closedir(d);
+ return -1;
+ }
+ }
+
+ /* Scan the directory twice: first for files, then
+ for subdirectories, so that we do never search
+ a subdirectory when the directory itself already
+ contains the file we are looking for. */
+StartScan:
+ while ((de = readdir(d)) != NULL) {
+ struct stat st;
+ int okdir;
+ size_t d_len;
+
+ d_len = strlen(de->d_name);
+ if (d_len < 3) {
+ if (!strcmp(de->d_name, ".") || !strcmp(de->d_name, ".."))
+ continue;
+ }
+
+ if (dir_len + d_len + 2 > sizeof(fp->pathname))
+ continue;
+
+ okdir = (ff && strcmp(de->d_name, fdir) == 0);
+
+ if ((secondpass && recdepth) || okdir) {
+ char *a;
+
+ if ((a = malloc(dir_len + d_len + 2)) == NULL)
+ goto EndScan;
+
+ sprintf(a, "%s/%s", dir, de->d_name);
+
+ if (stat(a, &st) == 0 && S_ISDIR(st.st_mode)) {
+ if (okdir)
+ rc = findfile_in_dir(ff+1, a, 0, suf, fp);
+
+ if (rc && recdepth)
+ rc = findfile_in_dir(fnam, a, recdepth-1, suf, fp);
+
+ if (!rc) {
+ free(a);
+ goto EndScan;
+ }
+ }
+ free(a);
+ }
+
+ if (secondpass)
+ continue;
+
+ /* Should we be in a subdirectory? */
+ if (ff)
+ continue;
+
+ /* Does d_name start right? */
+ p = &de->d_name[0];
+ q = fnam;
+ while (*p && *p == *q) p++,q++;
+ if (*q)
+ continue;
+
+ sprintf(fp->pathname, "%s/%s", dir, de->d_name);
+ if (stat(fp->pathname, &st) != 0 || !S_ISREG(st.st_mode))
+ continue;
+
+ /* Does tail consist of a known suffix and possibly
+ a compression suffix? */
+ for(i = 0; suf[i]; i++) {
+ size_t l;
+
+ if (!strcmp(p, suf[i])) {
+ rc = maybe_pipe_open(fp);
+ goto EndScan;
+ }
+
+ l = strlen(suf[i]);
+ if (!strncmp(p, suf[i], l)) {
+ for (dc = &decompressors[0]; dc->cmd; dc++)
+ if (strcmp(p+l, dc->ext) == 0) {
+ rc = pipe_open(dc, fp);
+ goto EndScan;
+ }
+ }
+ }
+ }
+
+ if (recdepth > 0 && !secondpass) {
+ secondpass = 1;
+ seekdir(d, 0);
+ goto StartScan;
+ }
+
+EndScan:
+ if (fdir != NULL)
+ free(fdir);
+ closedir(d);
+ return rc;
+}
+
+int
+lk_findfile(const char *fnam, const char *const *dirpath, const char *const *suffixes, lkfile_t *fp)
+{
+ char *dir;
+ int dl, recdepth, rc, i;
+
+ fp->fd = NULL;
+ fp->pipe = 0;
+
+ /* Try explicitly given name first */
+ strcpy(fp->pathname, fnam);
+
+ if (!maybe_pipe_open(fp))
+ return 0;
+
+ /* Test for full pathname - opening it failed, so need suffix */
+ /* (This is just nonsense, for backwards compatibility.) */
+ if (*fnam == '/' &&
+ !findfile_by_fullname(fnam, suffixes, fp))
+ return 0;
+
+ /* Search a list of directories and directory hierarchies */
+ for (i = 0; dirpath[i]; i++) {
+ recdepth = 0;
+ dl = strlen(dirpath[i]);
+
+ /* trailing stars denote recursion */
+ while (dl && dirpath[i][dl-1] == '*')
+ dl--, recdepth++;
+
+ /* delete trailing slashes */
+ while (dl && dirpath[i][dl-1] == '/')
+ dl--;
+
+ if (dl)
+ dir = strndup(dirpath[i], dl);
+ else
+ dir = strdup(".");
+
+ if (dir == NULL)
+ return 1;
+
+ rc = findfile_in_dir(fnam, dir, recdepth, suffixes, fp);
+ free(dir);
+
+ if (!rc)
+ return 0;
+ }
+ return 1;
+}
diff --git a/src/libkeymap/kernel.c b/src/libkeymap/kernel.c
new file mode 100644
index 0000000..9d1f55a
--- /dev/null
+++ b/src/libkeymap/kernel.c
@@ -0,0 +1,108 @@
+/* kernel.c
+ *
+ * This file is part of kbd project.
+ * Copyright (C) 2012-2013 Alexey Gladkov <gladkov.alexey@gmail.com>
+ *
+ * This file is covered by the GNU General Public License,
+ * which should be included with kbd as the file COPYING.
+ */
+#include <string.h>
+#include <errno.h>
+#include <sys/ioctl.h>
+
+#include "keymap.h"
+
+#include "nls.h"
+#include "contextP.h"
+
+int
+lk_kernel_keys(struct lk_ctx *ctx, int fd)
+{
+ int i, t;
+ struct kbentry ke;
+
+ for (t = 0; t < MAX_NR_KEYMAPS; t++) {
+ for (i = 0; i < NR_KEYS; i++) {
+ ke.kb_table = t;
+ ke.kb_index = i;
+ ke.kb_value = 0;
+
+ if (ioctl(fd, KDGKBENT, (unsigned long) &ke)) {
+ ERR(ctx, _("KDGKBENT: %s: error at index %d in table %d"),
+ strerror(errno), i, t);
+ return -1;
+ }
+
+ if (lk_add_key(ctx, t, i, ke.kb_value) < 0)
+ return -1;
+ }
+ }
+
+ if (lk_add_constants(ctx) < 0)
+ return -1;
+
+ return 0;
+}
+
+int
+lk_kernel_funcs(struct lk_ctx *ctx, int fd)
+{
+ int i;
+ struct kbsentry kbs;
+
+ for (i = 0; i < MAX_NR_FUNC; i++) {
+ kbs.kb_func = i;
+
+ if (ioctl(fd, KDGKBSENT, (unsigned long) &kbs)) {
+ ERR(ctx, _("KDGKBSENT: %s: Unable to get function key string"),
+ strerror(errno));
+ return -1;
+ }
+
+ if (!strlen((char *) kbs.kb_string))
+ continue;
+
+ if (lk_add_func(ctx, kbs) < 0)
+ return -1;
+ }
+
+ return 0;
+}
+
+int
+lk_kernel_diacrs(struct lk_ctx *ctx, int fd)
+{
+#ifdef KDGKBDIACRUC
+ int request = KDGKBDIACRUC;
+ struct kbdiacrsuc kd;
+ struct kbdiacruc *ar = kd.kbdiacruc;
+#else
+ int request = KDGKBDIACR;
+ struct kbdiacrs kd;
+ struct kbdiacr *ar = kd.kbdiacr;
+#endif
+ unsigned int i;
+
+ if (ioctl(fd, request, (unsigned long) &kd)) {
+ ERR(ctx, _("KDGKBDIACR(UC): %s: Unable to get accent table"),
+ strerror(errno));
+ return -1;
+ }
+
+ for (i = 0; i < kd.kb_cnt; i++) {
+ if (lk_add_diacr(ctx, (ar+i)->diacr, (ar+i)->base, (ar+i)->result) < 0)
+ return -1;
+ }
+
+ return 0;
+}
+
+int
+lk_kernel_keymap(struct lk_ctx *ctx, int fd)
+{
+ if (lk_kernel_keys(ctx, fd) < 0 ||
+ lk_kernel_funcs(ctx, fd) < 0 ||
+ lk_kernel_diacrs(ctx, fd) < 0)
+ return -1;
+ return 0;
+}
diff --git a/src/libkeymap/keymap.h b/src/libkeymap/keymap.h
new file mode 100644
index 0000000..5494dca
--- /dev/null
+++ b/src/libkeymap/keymap.h
@@ -0,0 +1,13 @@
+#ifndef LK_KEYMAP_H
+#define LK_KEYMAP_H
+
+#include <keymap/context.h>
+#include <keymap/common.h>
+#include <keymap/dump.h>
+#include <keymap/kernel.h>
+#include <keymap/kmap.h>
+#include <keymap/logging.h>
+#include <keymap/findfile.h>
+#include <keymap/charset.h>
+
+#endif /* LK_KEYMAP_H */
diff --git a/src/libkeymap/keymap/array.h b/src/libkeymap/keymap/array.h
new file mode 100644
index 0000000..c697cb7
--- /dev/null
+++ b/src/libkeymap/keymap/array.h
@@ -0,0 +1,29 @@
+#ifndef LK_ARRAY_H
+#define LK_ARRAY_H
+
+/**
+ * @brief Basic structure for array implementation.
+ * @details The array is designed to store an arbitrary number of similar items.
+ */
+struct lk_array {
+ void *array; /**< Data pointer. */
+ size_t memb; /**< One element size. */
+ size_t count; /**< Number of elements. */
+ size_t total; /**< Total number of allocated elements. */
+};
+
+int lk_array_init(struct lk_array *a, size_t memb, size_t size);
+int lk_array_free(struct lk_array *a);
+
+int lk_array_empty(struct lk_array *a);
+
+int lk_array_append(struct lk_array *a, const void *e);
+
+int lk_array_set(struct lk_array *a, unsigned int i, const void *e);
+void *lk_array_get(struct lk_array *a, unsigned int i);
+void *lk_array_get_ptr(struct lk_array *a, unsigned int i);
+
+int lk_array_unset(struct lk_array *a, unsigned int i);
+int lk_array_exists(struct lk_array *a, unsigned int i);
+
+#endif /* LK_ARRAY_H */
diff --git a/src/libkeymap/keymap/charset.h b/src/libkeymap/keymap/charset.h
new file mode 100644
index 0000000..153dd36
--- /dev/null
+++ b/src/libkeymap/keymap/charset.h
@@ -0,0 +1,10 @@
+#ifndef LK_CHARSET_H
+#define LK_CHARSET_H
+
+#include <keymap/context.h>
+
+void lk_list_charsets(FILE *f);
+const char *lk_get_charset(struct lk_ctx *ctx);
+int lk_set_charset(struct lk_ctx *ctx, const char *name);
+
+#endif /* LK_CHARSET_H */
diff --git a/src/libkeymap/keymap/common.h b/src/libkeymap/keymap/common.h
new file mode 100644
index 0000000..55deef5
--- /dev/null
+++ b/src/libkeymap/keymap/common.h
@@ -0,0 +1,68 @@
+#ifndef LK_COMMON_H
+#define LK_COMMON_H
+/** @file
+ * This file contains functions for initialization and release of resources
+ * as well as functions to handle parameters.
+ */
+
+#include <keymap/context.h>
+
+/** Initializes the structures necessary to read and/or parse keymap.
+ *
+ * @return a pointer to keymap library context or NULL.
+ */
+struct lk_ctx *lk_init(void);
+
+/** Free keymap resources.
+ * @param ctx is a keymap library context.
+ *
+ * @return 0 on success, -1 on error
+ */
+int lk_free(struct lk_ctx *ctx);
+
+/** Get the parser flags.
+ * @param ctx is a keymap library context.
+ *
+ * @return the current parser flags.
+ */
+lk_flags lk_get_parser_flags(struct lk_ctx *ctx);
+
+/** Set the parser flags.
+ * @param ctx is a keymap library context.
+ * @param flags the new value of the flags.
+ *
+ * @return 0 on success, -1 on error.
+ */
+int lk_set_parser_flags(struct lk_ctx *ctx, lk_flags flags);
+
+/** Get the current logging priority.
+ * @param ctx is a keymap library context.
+ *
+ * @return the current logging priority or -1 on error.
+ */
+int lk_get_log_priority(struct lk_ctx *ctx);
+
+/** Set the current logging priority.
+ * The value controls which messages get logged.
+ * @param ctx is a keymap library context.
+ *
+ * @return the current logging priority.
+ */
+int lk_set_log_priority(struct lk_ctx *ctx, int priority);
+
+/** The built-in logging writes to stderr. It can be
+ * overridden by a custom function to plug log messages
+ * into the user's logging functionality.
+ * @param ctx keymap library context
+ * @param log_fn function to be called for logging messages
+ * @param data data to pass to log function
+ *
+ * @return 0 on success, -1 on error.
+ */
+int lk_set_log_fn(struct lk_ctx *ctx,
+ void (*log_fn)(void *data, int priority,
+ const char *file, int line, const char *fn,
+ const char *format, va_list args),
+ const void *data);
+
+#endif /* LK_COMMON_H */
diff --git a/src/libkeymap/keymap/context.h b/src/libkeymap/keymap/context.h
new file mode 100644
index 0000000..0a01745
--- /dev/null
+++ b/src/libkeymap/keymap/context.h
@@ -0,0 +1,34 @@
+#ifndef LK_CONTEXT_H
+#define LK_CONTEXT_H
+
+#include <linux/kd.h>
+#include <linux/keyboard.h>
+#include <keymap/findfile.h>
+#include <keymap/array.h>
+
+/**
+ * @brief Parser flags that are set outside the library.
+ */
+typedef enum {
+ LK_FLAG_UNICODE_MODE = (1 << 1), /**< Unicode mode */
+ LK_FLAG_CLEAR_COMPOSE = (1 << 2), /**< Compose */
+ LK_FLAG_CLEAR_STRINGS = (1 << 3), /**< Strings */
+ LK_FLAG_PREFER_UNICODE = (1 << 4) /**< Prefer unicode */
+} lk_flags;
+
+/**
+ * @brief Keywords used in keymap files.
+ */
+typedef enum {
+ LK_KEYWORD_KEYMAPS = (1 << 1), /**< 'Keymaps' keyword */
+ LK_KEYWORD_ALTISMETA = (1 << 2), /**< 'Alt-is-meta' keyword */
+ LK_KEYWORD_CHARSET = (1 << 3), /**< 'Charset' keyword */
+ LK_KEYWORD_STRASUSUAL = (1 << 4) /**< 'String as usual' keyword */
+} lk_keywords;
+
+/**
+ * @brief Opaque object representing the library context.
+ */
+struct lk_ctx;
+
+#endif /* LK_CONTEXT_H */
diff --git a/src/libkeymap/keymap/dump.h b/src/libkeymap/keymap/dump.h
new file mode 100644
index 0000000..d3c926f
--- /dev/null
+++ b/src/libkeymap/keymap/dump.h
@@ -0,0 +1,92 @@
+#ifndef LK_DUMP_H
+#define LK_DUMP_H
+
+#include <stdio.h>
+
+#include <keymap/context.h>
+
+/**
+ * @brief Flags controlling the output keymap.
+ */
+typedef enum {
+ LK_SHAPE_DEFAULT = (1 << 1),
+ LK_SHAPE_FULL_TABLE = (1 << 2), /**< one line for each keycode */
+ LK_SHAPE_SEPARATE_LINES = (1 << 3), /**< one line for each (modifier,keycode) pair */
+ LK_SHAPE_UNTIL_HOLE = (1 << 4) /**< one line for each keycode until 1st hole */
+} lk_table_shape;
+
+/**
+ * @brief General information about the keymap.
+ */
+struct kmapinfo {
+ lk_flags flags; /**< Parser flags that are set outside the library */
+ lk_keywords keywords; /**< Keywords used in keymap files */
+ size_t keymaps; /**< Number of keymaps in actual use */
+ size_t keymaps_alloced; /**< Number of keymaps dynamically allocated */
+ size_t functions; /**< Number of function keys */
+ size_t composes; /**< Number of compose definitions in actual use */
+};
+
+/**
+ * Outputs a keymap in binary format.
+ * @param ctx is a keymap library context.
+ * @param fd is a FILE pointer for output.
+ *
+ * @return 0 on success, -1 on error.
+ */
+int lk_dump_bkeymap(struct lk_ctx *ctx, FILE *fd);
+
+/**
+ * Outputs a keymap in C format.
+ * @param ctx is a keymap library context.
+ * @param fd is a FILE pointer for output.
+ *
+ * @return 0 on success, -1 on error.
+ */
+int lk_dump_ctable(struct lk_ctx *ctx, FILE *fd);
+
+/**
+ * Outputs whole keymap. This is a high-level function that calls @ref lk_dump_keys,
+ * @ref lk_dump_keymaps, @ref lk_dump_funcs and @ref lk_dump_diacs.
+ * @param ctx is a keymap library context.
+ * @param fd is a FILE pointer for output.
+ * @param table specifies the output format of the keycode table.
+ * @param numeric indicates whether to output the keycodes in numerical form.
+ */
+void lk_dump_keymap(struct lk_ctx *ctx, FILE *fd, lk_table_shape table, char numeric);
+
+/**
+ * Outputs keycodes.
+ * @param ctx is a keymap library context.
+ * @param fd is a FILE pointer for output.
+ * @param table specifies the output format of the keycode table.
+ * @param numeric indicates whether to output the keycodes in numerical form.
+ */
+void lk_dump_keys(struct lk_ctx *ctx, FILE *fd, lk_table_shape table, char numeric);
+
+/**
+ * Outputs 'keymaps' line.
+ * @param ctx is a keymap library context.
+ * @param fd is a FILE pointer for output.
+ */
+void lk_dump_keymaps(struct lk_ctx *ctx, FILE *fd);
+
+/**
+ * Outputs function keys.
+ * @param ctx is a keymap library context.
+ * @param fd is a FILE pointer for output.
+ */
+void lk_dump_funcs(struct lk_ctx *ctx, FILE *fd);
+
+/**
+ * Outputs accent table.
+ * @param ctx is a keymap library context.
+ * @param fd is a FILE pointer for output.
+ */
+void lk_dump_diacs(struct lk_ctx *ctx, FILE *fd);
+
+int lk_get_kmapinfo(struct lk_ctx *ctx, struct kmapinfo *res);
+void lk_dump_summary(struct lk_ctx *ctx, FILE *fd, int console);
+void lk_dump_symbols(FILE *fd);
+
+#endif /* LK_DUMP_H */
diff --git a/src/libkeymap/keymap/findfile.h b/src/libkeymap/keymap/findfile.h
new file mode 100644
index 0000000..80100a3
--- /dev/null
+++ b/src/libkeymap/keymap/findfile.h
@@ -0,0 +1,16 @@
+#ifndef LK_FINDFILE_H
+#define LK_FINDFILE_H
+
+#include <stdio.h>
+#include <sys/param.h>
+
+typedef struct lkfile {
+ FILE *fd;
+ int pipe;
+ char pathname[MAXPATHLEN];
+} lkfile_t;
+
+void lk_fpclose(lkfile_t *fp);
+int lk_findfile(const char *fnam, const char *const *dirpath, const char *const *suffixes, lkfile_t *fp);
+
+#endif /* LK_FINDFILE_H */
diff --git a/src/libkeymap/keymap/kernel.h b/src/libkeymap/keymap/kernel.h
new file mode 100644
index 0000000..7e6a026
--- /dev/null
+++ b/src/libkeymap/keymap/kernel.h
@@ -0,0 +1,43 @@
+#ifndef LK_KERNEL_H
+#define LK_KERNEL_H
+
+#include <keymap/context.h>
+
+/**
+ * Loads keymap into the kernel. This is a high-level function that calls
+ * @ref lk_kernel_keys, @ref lk_kernel_funcs and @ref lk_kernel_diacrs.
+ * @param ctx is a keymap library context.
+ * @param console is open file descriptor.
+ *
+ * @return 0 on success, -1 on error.
+ */
+int lk_kernel_keymap(struct lk_ctx *ctx, int console);
+
+/**
+ * Loads keycodes into the kernel.
+ * @param ctx is a keymap library context.
+ * @param console is open file descriptor.
+ *
+ * @return 0 on success, -1 on error.
+ */
+int lk_kernel_keys(struct lk_ctx *ctx, int console);
+
+/**
+ * Loads function keys into the kernel.
+ * @param ctx is a keymap library context.
+ * @param console is open file descriptor.
+ *
+ * @return 0 on success, -1 on error.
+ */
+int lk_kernel_funcs(struct lk_ctx *ctx, int console);
+
+/**
+ * Loads accent table into the kernel.
+ * @param ctx is a keymap library context.
+ * @param console is open file descriptor.
+ *
+ * @return 0 on success, -1 on error.
+ */
+int lk_kernel_diacrs(struct lk_ctx *ctx, int console);
+
+#endif /* LK_KERNEL_H */
diff --git a/src/libkeymap/keymap/kmap.h b/src/libkeymap/keymap/kmap.h
new file mode 100644
index 0000000..b734968
--- /dev/null
+++ b/src/libkeymap/keymap/kmap.h
@@ -0,0 +1,26 @@
+#ifndef LK_KMAP_H
+#define LK_KMAP_H
+
+#include <keymap/context.h>
+#include <keymap/findfile.h>
+
+int lk_add_map(struct lk_ctx *ctx, unsigned int k_table);
+int lk_map_exists(struct lk_ctx *ctx, unsigned int k_table);
+
+int lk_add_key(struct lk_ctx *ctx, unsigned int k_table, unsigned int k_index, int keycode);
+int lk_del_key(struct lk_ctx *ctx, unsigned int k_table, unsigned int k_index);
+int lk_get_key(struct lk_ctx *ctx, unsigned int k_table, unsigned int k_index);
+int lk_key_exists(struct lk_ctx *ctx, unsigned int k_table, unsigned int k_index);
+
+int lk_get_func(struct lk_ctx *ctx, struct kbsentry *kbs);
+int lk_add_func(struct lk_ctx *ctx, struct kbsentry kbs);
+
+int lk_add_diacr(struct lk_ctx *ctx, unsigned int diacr, unsigned int base, unsigned int res);
+int lk_add_compose(struct lk_ctx *ctx, unsigned int diacr, unsigned int base, unsigned int res);
+
+int lk_add_constants(struct lk_ctx *ctx);
+
+int lk_parse_keymap(struct lk_ctx *ctx, lkfile_t *f);
+int lk_load_keymap(struct lk_ctx *ctx, int fd, int kbd_mode);
+
+#endif /* LK_KMAP_H */
diff --git a/src/libkeymap/keymap/logging.h b/src/libkeymap/keymap/logging.h
new file mode 100644
index 0000000..b5cd7c0
--- /dev/null
+++ b/src/libkeymap/keymap/logging.h
@@ -0,0 +1,51 @@
+#ifndef LK_LOGGING_H
+#define LK_LOGGING_H
+
+#include <syslog.h>
+#include <keymap/context.h>
+
+/**
+ * Logging function which uses @ref lk_ctx::log_fn "log_fn" and
+ * @ref lk_ctx::log_data "log_data" to write log messages.
+ * @param ctx is a keymap library context.
+ * @param priority indicates the priority.
+ */
+void lk_log(struct lk_ctx *ctx, int priority,
+ const char *file, int line, const char *fn,
+ const char *fmt, ...);
+
+#define lk_log_cond(ctx, level, arg...) \
+ do { \
+ if (ctx->log_priority >= level) \
+ lk_log(ctx, level, __FILE__, __LINE__, __func__, ## arg);\
+ } while (0)
+
+/**
+ * Wrapper to output debug-level messages
+ * @param ctx is a keymap library context.
+ * @param arg is output message.
+ */
+#define DBG(ctx, arg...) lk_log_cond(ctx, LOG_DEBUG, ## arg)
+
+/**
+ * Wrapper to output informational messages
+ * @param ctx is a keymap library context.
+ * @param arg is output message.
+ */
+#define INFO(ctx, arg...) lk_log_cond(ctx, LOG_INFO, ## arg)
+
+/**
+ * Wrapper to output warning conditions
+ * @param ctx is a keymap library context.
+ * @param arg is output message.
+ */
+#define WARN(ctx, arg...) lk_log_cond(ctx, LOG_WARNING, ## arg)
+
+/**
+ * Wrapper to output error conditions
+ * @param ctx is a keymap library context.
+ * @param arg is output message.
+ */
+#define ERR(ctx, arg...) lk_log_cond(ctx, LOG_ERR, ## arg)
+
+#endif /* LK_LOGGING_H */
diff --git a/src/libkeymap/kmap.c b/src/libkeymap/kmap.c
new file mode 100644
index 0000000..ca97ed5
--- /dev/null
+++ b/src/libkeymap/kmap.c
@@ -0,0 +1,321 @@
+#include <stdlib.h>
+#include <string.h>
+
+#include "nls.h"
+#include "kbd.h"
+
+#include "keymap.h"
+
+#include "contextP.h"
+#include "ksyms.h"
+#include "modifiers.h"
+
+int
+lk_map_exists(struct lk_ctx *ctx, unsigned int k_table)
+{
+ return (lk_array_get_ptr(ctx->keymap, k_table) != NULL);
+}
+
+int
+lk_key_exists(struct lk_ctx *ctx, unsigned int k_table, unsigned int k_index)
+{
+ struct lk_array *map;
+ u_short *key;
+
+ map = lk_array_get_ptr(ctx->keymap, k_table);
+ if (!map) {
+ return 0;
+ }
+
+ key = lk_array_get(map, k_index);
+ if (!key) {
+ return 0;
+ }
+
+ return (*key > 0);
+}
+
+int
+lk_add_map(struct lk_ctx *ctx, unsigned int k_table)
+{
+ struct lk_array *keys;
+
+ if (lk_map_exists(ctx, k_table)) {
+ return 0;
+ }
+
+ keys = malloc(sizeof(struct lk_array));
+ if (!keys) {
+ ERR(ctx, _("out of memory"));
+ return -1;
+ }
+
+ lk_array_init(keys, sizeof(unsigned int), 0);
+
+ if (lk_array_set(ctx->keymap, k_table, &keys) < 0) {
+ free(keys);
+ ERR(ctx, _("out of memory"));
+ return -1;
+ }
+
+ return 0;
+}
+
+int
+lk_get_key(struct lk_ctx *ctx, unsigned int k_table, unsigned int k_index)
+{
+ struct lk_array *map;
+ unsigned int *key;
+
+ map = lk_array_get_ptr(ctx->keymap, k_table);
+ if (!map) {
+ ERR(ctx, _("unable to keymap %d"), k_table);
+ return -1;
+ }
+
+ key = lk_array_get(map, k_index);
+ if (!key || *key == 0) {
+ return K_HOLE;
+ }
+
+ return (*key)-1;
+}
+
+int
+lk_del_key(struct lk_ctx *ctx, unsigned int k_table, unsigned int k_index)
+{
+ struct lk_array *map;
+
+ map = lk_array_get_ptr(ctx->keymap, k_table);
+ if (!map) {
+ ERR(ctx, _("unable to get keymap %d"), k_table);
+ return -1;
+ }
+
+ if (!lk_array_exists(map, k_index))
+ return 0;
+
+ if (lk_array_unset(map, k_index) < 0) {
+ ERR(ctx, _("unable to unset key %d for table %d"),
+ k_index, k_table);
+ return -1;
+ }
+
+ return 0;
+}
+
+int
+lk_add_key(struct lk_ctx *ctx, unsigned int k_table, unsigned int k_index, int keycode)
+{
+ struct lk_array *map;
+ unsigned int code = keycode + 1;
+
+ if (keycode == CODE_FOR_UNKNOWN_KSYM) {
+ /* is safer not to be silent in this case,
+ * it can be caused by coding errors as well. */
+ ERR(ctx, _("lk_add_key called with bad keycode %d"), keycode);
+ return -1;
+ }
+
+ if (!k_index && keycode == K_NOSUCHMAP)
+ return 0;
+
+ map = lk_array_get_ptr(ctx->keymap, k_table);
+ if (!map) {
+ if (ctx->keywords & LK_KEYWORD_KEYMAPS) {
+ ERR(ctx, _("adding map %d violates explicit keymaps line"),
+ k_table);
+ return -1;
+ }
+
+ if (lk_add_map(ctx, k_table) < 0)
+ return -1;
+ }
+
+ if ((ctx->keywords & LK_KEYWORD_ALTISMETA) && keycode == K_HOLE &&
+ lk_key_exists(ctx, k_table, k_index))
+ return 0;
+
+ map = lk_array_get_ptr(ctx->keymap, k_table);
+
+ if (lk_array_set(map, k_index, &code) < 0) {
+ ERR(ctx, _("unable to set key %d for table %d"),
+ k_index, k_table);
+ return -1;
+ }
+
+ if (ctx->keywords & LK_KEYWORD_ALTISMETA) {
+ unsigned int alttable = k_table | M_ALT;
+ int type = KTYP(keycode);
+ int val = KVAL(keycode);
+
+ if (alttable != k_table && !lk_key_exists(ctx, alttable, k_index) &&
+ (type == KT_LATIN || type == KT_LETTER) && val < 128) {
+ if (lk_add_map(ctx, alttable) < 0)
+ return -1;
+ if (lk_add_key(ctx, alttable, k_index, K(KT_META, val)) < 0)
+ return -1;
+ }
+ }
+
+ return 0;
+}
+
+int
+lk_get_func(struct lk_ctx *ctx, struct kbsentry *kbs)
+{
+ char *s;
+
+ s = lk_array_get_ptr(ctx->func_table, kbs->kb_func);
+ if (!s) {
+ ERR(ctx, _("func %d not allocated"), kbs->kb_func);
+ return -1;
+ }
+
+ strncpy((char *)kbs->kb_string, s, sizeof(kbs->kb_string));
+ kbs->kb_string[sizeof(kbs->kb_string) - 1] = 0;
+
+ return 0;
+}
+
+
+int
+lk_add_func(struct lk_ctx *ctx, struct kbsentry kbs)
+{
+ char *s;
+
+ s = lk_array_get_ptr(ctx->func_table, kbs.kb_func);
+ if (s)
+ free(s);
+
+ s = strdup((char *)kbs.kb_string);
+
+ if (lk_array_set(ctx->func_table, kbs.kb_func, &s) < 0) {
+ free(s);
+ ERR(ctx, _("out of memory"));
+ return -1;
+ }
+
+ return 0;
+}
+
+int
+lk_add_diacr(struct lk_ctx *ctx, unsigned int diacr, unsigned int base, unsigned int res)
+{
+ struct kb_diacr *ptr;
+
+ ptr = malloc(sizeof(struct kb_diacr));
+ if (!ptr) {
+ ERR(ctx, _("out of memory"));
+ return -1;
+ }
+
+ ptr->diacr = diacr;
+ ptr->base = base;
+ ptr->result = res;
+
+ lk_array_append(ctx->accent_table, &ptr);
+
+ return 0;
+}
+
+int
+lk_add_compose(struct lk_ctx *ctx,
+ unsigned int diacr,
+ unsigned int base,
+ unsigned int res)
+{
+ int direction = TO_8BIT;
+
+#ifdef KDSKBDIACRUC
+ if (ctx->flags & LK_FLAG_PREFER_UNICODE)
+ direction = TO_UNICODE;
+#endif
+ return lk_add_diacr(ctx,
+ convert_code(ctx, diacr, direction),
+ convert_code(ctx, base, direction),
+ convert_code(ctx, res, direction)
+ );
+}
+
+static int
+do_constant_key(struct lk_ctx *ctx, int i, u_short key)
+{
+ int typ, val;
+ unsigned int j;
+
+ typ = KTYP(key);
+ val = KVAL(key);
+
+ if ((typ == KT_LATIN || typ == KT_LETTER) &&
+ ((val >= 'a' && val <= 'z') || (val >= 'A' && val <= 'Z'))) {
+ u_short defs[16];
+ defs[0] = K(KT_LETTER, val);
+ defs[1] = K(KT_LETTER, val ^ 32);
+ defs[2] = defs[0];
+ defs[3] = defs[1];
+
+ for (j = 4; j < 8; j++)
+ defs[j] = K(KT_LATIN, val & ~96);
+
+ for (j = 8; j < 16; j++)
+ defs[j] = K(KT_META, KVAL(defs[j - 8]));
+
+ for (j = 0; j < ctx->keymap->total; j++) {
+ if (!lk_map_exists(ctx, j))
+ continue;
+
+ if (j > 0 && lk_key_exists(ctx, j, i))
+ continue;
+
+ if (lk_add_key(ctx, j, i, defs[j % 16]) < 0)
+ return -1;
+ }
+
+ } else {
+ /* do this also for keys like Escape,
+ as promised in the man page */
+ for (j = 1; j < ctx->keymap->total; j++) {
+ if (!lk_map_exists(ctx, j))
+ continue;
+
+ if (lk_key_exists(ctx, j, i))
+ continue;
+
+ if (lk_add_key(ctx, j, i, key) < 0)
+ return -1;
+ }
+ }
+ return 0;
+}
+
+int
+lk_add_constants(struct lk_ctx *ctx)
+{
+ unsigned int i, r0 = 0;
+
+ if (ctx->keywords & LK_KEYWORD_KEYMAPS) {
+ while (r0 < ctx->keymap->total && !lk_map_exists(ctx, r0))
+ r0++;
+ }
+
+ for (i = 0; i < ctx->key_constant->total; i++) {
+ char *constant;
+ u_short key;
+
+ constant = lk_array_get(ctx->key_constant, i);
+ if (!constant || !(*constant))
+ continue;
+
+ if (!lk_map_exists(ctx, r0)) {
+ ERR(ctx, _("impossible error in lk_add_constants"));
+ return -1;
+ }
+
+ key = lk_get_key(ctx, r0, i);
+
+ if (do_constant_key(ctx, i, key) < 0)
+ return -1;
+ }
+ return 0;
+}
diff --git a/src/libkeymap/ksyms.c b/src/libkeymap/ksyms.c
new file mode 100644
index 0000000..0c2d6c1
--- /dev/null
+++ b/src/libkeymap/ksyms.c
@@ -0,0 +1,391 @@
+#include <linux/keyboard.h>
+#include <stdio.h>
+#include <string.h>
+#include <stdlib.h>
+
+#include "keymap.h"
+
+#include "contextP.h"
+#include "ksyms.h"
+#include "nls.h"
+
+#include "syms.cp1250.h"
+#include "syms.ethiopic.h"
+#include "syms.iso8859_15.h"
+#include "syms.iso8859_5.h"
+#include "syms.iso8859_7.h"
+#include "syms.iso8859_8.h"
+#include "syms.iso8859_9.h"
+#include "syms.koi8.h"
+#include "syms.latin1.h"
+#include "syms.latin2.h"
+#include "syms.latin3.h"
+#include "syms.latin4.h"
+#include "syms.mazovia.h"
+#include "syms.sami.h"
+#include "syms.thai.h"
+
+#include "syms.synonyms.h"
+
+#include "syms.ktyp.h"
+
+#define E(x) { x, sizeof(x) / sizeof(x[0]) }
+
+const syms_entry
+syms[] = {
+ E(iso646_syms), /* KT_LATIN */
+ E(fn_syms), /* KT_FN */
+ E(spec_syms), /* KT_SPEC */
+ E(pad_syms), /* KT_PAD */
+ E(dead_syms), /* KT_DEAD */
+ E(cons_syms), /* KT_CONS */
+ E(cur_syms), /* KT_CUR */
+ E(shift_syms), /* KT_SHIFT */
+ { 0, 0 }, /* KT_META */
+ E(ascii_syms), /* KT_ASCII */
+ E(lock_syms), /* KT_LOCK */
+ { 0, 0 }, /* KT_LETTER */
+ E(sticky_syms), /* KT_SLOCK */
+ { 0, 0 }, /* */
+ E(brl_syms) /* KT_BRL */
+};
+
+#undef E
+
+const unsigned int syms_size = sizeof(syms) / sizeof(syms_entry);
+const unsigned int syn_size = sizeof(synonyms) / sizeof(synonyms[0]);
+
+const struct cs {
+ const char *charset;
+ const sym *charnames;
+ const int start;
+} charsets[] = {
+ { "", NULL, 0 },
+ { "iso-8859-1", latin1_syms, 160 },
+ { "iso-8859-2", latin2_syms, 160 },
+ { "iso-8859-3", latin3_syms, 160 },
+ { "iso-8859-4", latin4_syms, 160 },
+ { "iso-8859-5", iso_8859_5_syms, 160 },
+ { "iso-8859-7", iso_8859_7_syms, 160 },
+ { "iso-8859-8", iso_8859_8_syms, 160 },
+ { "iso-8859-9", iso_8859_9_syms, 208 },
+ { "iso-8859-10", latin6_syms, 160 },
+ { "iso-8859-15", iso_8859_15_syms, 160 },
+ { "mazovia", mazovia_syms, 128 },
+ { "cp-1250", cp1250_syms, 128 },
+ { "koi8-r", koi8_syms, 128 },
+ { "koi8-u", koi8_syms, 128 },
+ { "tis-620", tis_620_syms, 160 }, /* thai */
+ { "iso-10646-18", iso_10646_18_syms, 159 }, /* ethiopic */
+ { "iso-ir-197", iso_ir_197_syms, 160 }, /* sami */
+ { "iso-ir-209", iso_ir_209_syms, 160 }, /* sami */
+};
+
+static unsigned int charsets_size = sizeof(charsets) / sizeof(charsets[0]);
+
+/* Functions for both dumpkeys and loadkeys. */
+
+void
+lk_list_charsets(FILE *f) {
+ int lth,ct;
+ unsigned int i, j;
+ char *mm[] = { "iso-8859-", "koi8-" };
+
+ for (j=0; j<sizeof(mm)/sizeof(mm[0]); j++) {
+ if(j)
+ fprintf(f, ",");
+ fprintf(f, "%s{", mm[j]);
+ ct = 0;
+ lth = strlen(mm[j]);
+ for(i=1; i < charsets_size; i++) {
+ if(!strncmp(charsets[i].charset, mm[j], lth)) {
+ if(ct++)
+ fprintf(f, ",");
+ fprintf(f, "%s", charsets[i].charset+lth);
+ }
+ }
+ fprintf(f, "}");
+ }
+ for(i=1; i < charsets_size; i++) {
+ for (j=0; j<sizeof(mm)/sizeof(mm[0]); j++) {
+ lth = strlen(mm[j]);
+ if(!strncmp(charsets[i].charset, mm[j], lth))
+ goto nxti;
+ }
+ fprintf(f, ",%s", charsets[i].charset);
+ nxti:;
+ }
+ fprintf(f, "\n");
+}
+
+const char *
+lk_get_charset(struct lk_ctx *ctx)
+{
+ if (!ctx || !ctx->charset || ctx->charset >= charsets_size)
+ return NULL;
+
+ return charsets[ctx->charset].charset;
+}
+
+int
+lk_set_charset(struct lk_ctx *ctx, const char *charset) {
+ unsigned int i;
+
+ for (i = 1; i < charsets_size; i++) {
+ if (!strcasecmp(charsets[i].charset, charset)) {
+ ctx->charset = i;
+ return 0;
+ }
+ }
+ return 1;
+}
+
+const char *
+codetoksym(struct lk_ctx *ctx, int code) {
+ unsigned int i;
+ int j;
+ sym *p;
+
+ if (code < 0)
+ return NULL;
+
+ if (code < 0x1000) { /* "traditional" keysym */
+ if (code < 0x80)
+ return iso646_syms[code];
+
+ if (KTYP(code) == KT_META)
+ return NULL;
+
+ if (KTYP(code) == KT_LETTER)
+ code = K(KT_LATIN, KVAL(code));
+
+ if (KTYP(code) > KT_LATIN)
+ return syms[KTYP(code)].table[KVAL(code)];
+
+ i = ctx->charset;
+ while (1) {
+ p = (sym *) charsets[i].charnames;
+ if (p) {
+ p += KVAL(code) - charsets[i].start;
+
+ if (p->name[0])
+ return p->name;
+ }
+
+ i++;
+
+ if (i == charsets_size)
+ i = 0;
+ if (i == ctx->charset)
+ break;
+ }
+ }
+
+ else { /* Unicode keysym */
+ code ^= 0xf000;
+
+ if (code < 0x80)
+ return iso646_syms[code];
+
+ i = ctx->charset;
+ while (1) {
+ p = (sym *) charsets[i].charnames;
+ if (p) {
+ for (j = charsets[i].start; j < 256; j++, p++) {
+ if (p->uni == code && p->name[0])
+ return p->name;
+ }
+ }
+
+ i++;
+
+ if (i == charsets_size)
+ i = 0;
+ if (i == ctx->charset)
+ break;
+ }
+
+ }
+
+ return NULL;
+}
+
+/* Functions for loadkeys. */
+
+static int
+kt_latin(struct lk_ctx *ctx, const char *s, int direction) {
+ int i, max;
+
+ if (ctx->charset) {
+ sym *p = (sym *) charsets[ctx->charset].charnames;
+
+ for (i = charsets[ctx->charset].start; i < 256; i++, p++) {
+ if(p->name[0] && !strcmp(s, p->name))
+ return K(KT_LATIN, i);
+ }
+ }
+
+ max = (direction == TO_UNICODE ? 128 : syms[KT_LATIN].size);
+
+ for (i = 0; i < max; i++) {
+ if (!strcmp(s, syms[KT_LATIN].table[i]))
+ return K(KT_LATIN, i);
+ }
+
+ return -1;
+}
+
+int
+ksymtocode(struct lk_ctx *ctx, const char *s, int direction) {
+ unsigned int i;
+ int n, j;
+ int keycode;
+ sym *p;
+
+ if (direction == TO_AUTO)
+ direction = (ctx->flags & LK_FLAG_PREFER_UNICODE)
+ ? TO_UNICODE : TO_8BIT;
+
+ if (!strncmp(s, "Meta_", 5)) {
+ keycode = ksymtocode(ctx, s+5, TO_8BIT);
+ if (KTYP(keycode) == KT_LATIN)
+ return K(KT_META, KVAL(keycode));
+
+ /* Avoid error messages for Meta_acute with UTF-8 */
+ else if(direction == TO_UNICODE)
+ return (0);
+
+ /* fall through to error printf */
+ }
+
+ if ((n = kt_latin(ctx, s, direction)) >= 0) {
+ return n;
+ }
+
+ for (i = 1; i < syms_size; i++) {
+ for (j = 0; j < syms[i].size; j++) {
+ if (!strcmp(s,syms[i].table[j]))
+ return K(i, j);
+ }
+ }
+
+ for (i = 0; i < syn_size; i++)
+ if (!strcmp(s, synonyms[i].synonym))
+ return ksymtocode(ctx, synonyms[i].official_name, direction);
+
+ if (direction == TO_UNICODE) {
+ i = ctx->charset;
+
+ while (1) {
+ p = (sym *) charsets[i].charnames;
+ if (p) {
+ for (j = charsets[i].start; j < 256; j++, p++) {
+ if (!strcmp(s,p->name))
+ return (p->uni ^ 0xf000);
+ }
+ }
+
+ i++;
+
+ if (i == charsets_size)
+ i = 0;
+ if (i == ctx->charset)
+ break;
+ }
+ } else /* if (!chosen_charset[0]) */ {
+ /* note: some keymaps use latin1 but with euro,
+ so set_charset() would fail */
+ /* note: some keymaps with charset line still use
+ symbols from more than one character set,
+ so we cannot have the `if (!chosen_charset[0])' here */
+
+ for (i = 0; i < 256 - 160; i++)
+ if (!strcmp(s, latin1_syms[i].name)) {
+ INFO(ctx, _("assuming iso-8859-1 %s"), s);
+ return K(KT_LATIN, 160 + i);
+ }
+
+ for (i = 0; i < 256 - 160; i++)
+ if (!strcmp(s, iso_8859_15_syms[i].name)) {
+ INFO(ctx, _("assuming iso-8859-15 %s"), s);
+ return K(KT_LATIN, 160 + i);
+ }
+
+ for (i = 0; i < 256 - 160; i++)
+ if (!strcmp(s, latin2_syms[i].name)) {
+ INFO(ctx, _("assuming iso-8859-2 %s"), s);
+ return K(KT_LATIN, 160 + i);
+ }
+
+ for (i = 0; i < 256 - 160; i++)
+ if (!strcmp(s, latin3_syms[i].name)) {
+ INFO(ctx, _("assuming iso-8859-3 %s"), s);
+ return K(KT_LATIN, 160 + i);
+ }
+
+ for (i = 0; i < 256 - 160; i++)
+ if (!strcmp(s, latin4_syms[i].name)) {
+ INFO(ctx, _("assuming iso-8859-4 %s"), s);
+ return K(KT_LATIN, 160 + i);
+ }
+ }
+
+ ERR(ctx, _("unknown keysym '%s'\n"), s);
+
+ return CODE_FOR_UNKNOWN_KSYM;
+}
+
+int
+convert_code(struct lk_ctx *ctx, int code, int direction)
+{
+ const char *ksym;
+ int unicode_forced = (direction == TO_UNICODE);
+ int input_is_unicode = (code >= 0x1000);
+ int result;
+
+ if (direction == TO_AUTO)
+ direction = (ctx->flags & LK_FLAG_PREFER_UNICODE)
+ ? TO_UNICODE : TO_8BIT;
+
+ if (KTYP(code) == KT_META)
+ return code;
+ else if (!input_is_unicode && code < 0x80)
+ /* basic ASCII is fine in every situation */
+ return code;
+ else if (input_is_unicode && (code ^ 0xf000) < 0x80)
+ /* so is Unicode "Basic Latin" */
+ return code ^ 0xf000;
+ else if ((input_is_unicode && direction == TO_UNICODE) ||
+ (!input_is_unicode && direction == TO_8BIT))
+ /* no conversion necessary */
+ result = code;
+ else {
+ /* depending on direction, this will give us either an 8-bit
+ * K(KTYP, KVAL) or a Unicode keysym xor 0xf000 */
+ ksym = codetoksym(ctx, code);
+ if (ksym)
+ result = ksymtocode(ctx, ksym, direction);
+ else
+ result = code;
+ }
+
+ /* if direction was TO_UNICODE from the beginning, we return the true
+ * Unicode value (without the 0xf000 mask) */
+ if (unicode_forced && result >= 0x1000)
+ return result ^ 0xf000;
+ else
+ return result;
+}
+
+int
+add_capslock(struct lk_ctx *ctx, int code)
+{
+ if (KTYP(code) == KT_LATIN && (!(ctx->flags & LK_FLAG_PREFER_UNICODE) || code < 0x80))
+ return K(KT_LETTER, KVAL(code));
+ else if ((code ^ 0xf000) < 0x100)
+ /* Unicode Latin-1 Supplement */
+ /* a bit dirty to use KT_LETTER here, but it should work */
+ return K(KT_LETTER, code ^ 0xf000);
+ else
+ return convert_code(ctx, code, TO_AUTO);
+}
diff --git a/src/libkeymap/ksyms.h b/src/libkeymap/ksyms.h
new file mode 100644
index 0000000..42a9f96
--- /dev/null
+++ b/src/libkeymap/ksyms.h
@@ -0,0 +1,40 @@
+#ifndef KSYMS_H
+#define KSYMS_H
+
+#include "keymap.h"
+
+typedef struct {
+ const unsigned short uni;
+ const char *name;
+} sym;
+
+typedef struct {
+ const char * const *table;
+ const int size;
+} syms_entry;
+
+extern syms_entry const syms[];
+
+struct syn {
+ const char *synonym;
+ const char *official_name;
+};
+extern struct syn const synonyms[];
+
+extern const unsigned int syms_size;
+extern const unsigned int syn_size;
+
+/* Returned by ksymtocode to report an unknown symbol */
+#define CODE_FOR_UNKNOWN_KSYM (-1)
+
+/* Directions for converting keysyms */
+#define TO_AUTO (-1) /* use LK_FLAG_PREFER_UNICODE */
+#define TO_8BIT 0
+#define TO_UNICODE 1
+
+const char *codetoksym(struct lk_ctx *ctx, int code);
+int ksymtocode(struct lk_ctx *ctx, const char *s, int direction);
+int convert_code(struct lk_ctx *ctx, int code, int direction);
+int add_capslock(struct lk_ctx *ctx, int code);
+
+#endif
diff --git a/src/libkeymap/libkeymap.pc.in b/src/libkeymap/libkeymap.pc.in
new file mode 100644
index 0000000..d5fdf12
--- /dev/null
+++ b/src/libkeymap/libkeymap.pc.in
@@ -0,0 +1,12 @@
+prefix=@prefix@
+exec_prefix=@exec_prefix@
+libdir=@libdir@
+includedir=@includedir@
+
+Name: libkeymap
+Version: @VERSION@
+Description: Library to manage the Linux keymaps
+Requires:
+Libs: -L${libdir} -lkeymap
+Libs.private:
+Cflags: -I${includedir}
diff --git a/src/libkeymap/loadkeys.c b/src/libkeymap/loadkeys.c
new file mode 100644
index 0000000..8834cc0
--- /dev/null
+++ b/src/libkeymap/loadkeys.c
@@ -0,0 +1,271 @@
+#include <errno.h>
+#include <stdlib.h>
+#include <string.h>
+#include <sys/ioctl.h>
+#include <linux/kd.h>
+#include <linux/keyboard.h>
+#include <unistd.h>
+
+#include "keymap.h"
+
+#include "nls.h"
+#include "kbd.h"
+#include "contextP.h"
+#include "ksyms.h"
+
+static int
+defkeys(struct lk_ctx *ctx, int fd, int kbd_mode)
+{
+ struct kbentry ke;
+ int ct = 0;
+ int i, j, fail;
+
+ if (ctx->flags & LK_FLAG_UNICODE_MODE) {
+ /* temporarily switch to K_UNICODE while defining keys */
+ if (ioctl(fd, KDSKBMODE, K_UNICODE)) {
+ ERR(ctx, _("KDSKBMODE: %s: could not switch to Unicode mode"),
+ strerror(errno));
+ goto fail;
+ }
+ }
+
+ for (i = 0; i < MAX_NR_KEYMAPS; i++) {
+ unsigned int exist = lk_map_exists(ctx, i);
+
+ if (exist) {
+ for (j = 0; j < NR_KEYS; j++) {
+ if (!lk_key_exists(ctx, i, j))
+ continue;
+
+ ke.kb_index = j;
+ ke.kb_table = i;
+ ke.kb_value = lk_get_key(ctx, i, j);
+
+ fail = ioctl(fd, KDSKBENT, (unsigned long)&ke);
+
+ if (fail) {
+ if (errno == EPERM) {
+ ERR(ctx, _("Keymap %d: Permission denied"), i);
+ j = NR_KEYS;
+ continue;
+ }
+ ERR(ctx, "%s", strerror(errno));
+ } else
+ ct++;
+
+ INFO(ctx, _("keycode %d, table %d = %d%s"),
+ j, i, lk_get_key(ctx,i, j), fail ? _(" FAILED") : "");
+
+ if (fail)
+ WARN(ctx, _("failed to bind key %d to value %d"),
+ j, lk_get_key(ctx, i, j));
+ }
+
+ } else if ((ctx->keywords & LK_KEYWORD_KEYMAPS) && !exist) {
+ /* deallocate keymap */
+ ke.kb_index = 0;
+ ke.kb_table = i;
+ ke.kb_value = K_NOSUCHMAP;
+
+ DBG(ctx, _("deallocate keymap %d"), i);
+
+ if (ioctl(fd, KDSKBENT, (unsigned long)&ke)) {
+ if (errno != EINVAL) {
+ ERR(ctx, _("KDSKBENT: %s: could not deallocate keymap %d"),
+ strerror(errno), i);
+ goto fail;
+ }
+ /* probably an old kernel */
+ /* clear keymap by hand */
+ for (j = 0; j < NR_KEYS; j++) {
+ ke.kb_index = j;
+ ke.kb_table = i;
+ ke.kb_value = K_HOLE;
+
+ if (ioctl(fd, KDSKBENT, (unsigned long)&ke)) {
+ if (errno == EINVAL && i >= 16)
+ break; /* old kernel */
+
+ ERR(ctx, _("KDSKBENT: %s: cannot deallocate or clear keymap"),
+ strerror(errno));
+ goto fail;
+ }
+ }
+ }
+ }
+ }
+
+ if ((ctx->flags & LK_FLAG_UNICODE_MODE) && ioctl(fd, KDSKBMODE, kbd_mode)) {
+ ERR(ctx, _("KDSKBMODE: %s: could not return to original keyboard mode"),
+ strerror(errno));
+ goto fail;
+ }
+
+ return ct;
+
+ fail: return -1;
+}
+
+
+static char *
+ostr(struct lk_ctx *ctx, char *s)
+{
+ int lth = strlen(s);
+ char *ns0 = malloc(4 * lth + 1);
+ char *ns = ns0;
+
+ if (ns == NULL) {
+ ERR(ctx, _("out of memory"));
+ return NULL;
+ }
+
+ while (*s) {
+ switch (*s) {
+ case '\n':
+ *ns++ = '\\';
+ *ns++ = 'n';
+ break;
+ case '\033':
+ *ns++ = '\\';
+ *ns++ = '0';
+ *ns++ = '3';
+ *ns++ = '3';
+ break;
+ default:
+ *ns++ = *s;
+ }
+ s++;
+ }
+ *ns = 0;
+ return ns0;
+}
+
+static int
+deffuncs(struct lk_ctx *ctx, int fd)
+{
+ int i, ct = 0;
+ char *ptr, *s;
+ struct kbsentry kbs;
+
+ for (i = 0; i < MAX_NR_FUNC; i++) {
+ kbs.kb_func = i;
+
+ ptr = lk_array_get_ptr(ctx->func_table, i);
+
+ if (ptr) {
+ strcpy((char *)kbs.kb_string, ptr);
+ if (ioctl(fd, KDSKBSENT, (unsigned long)&kbs)) {
+ s = ostr(ctx, (char *)kbs.kb_string);
+ if (s == NULL)
+ return -1;
+ ERR(ctx, _("failed to bind string '%s' to function %s"),
+ s, syms[KT_FN].table[kbs.kb_func]);
+ free(s);
+ } else {
+ ct++;
+ }
+ } else if (ctx->flags & LK_FLAG_CLEAR_STRINGS) {
+ kbs.kb_string[0] = 0;
+
+ if (ioctl(fd, KDSKBSENT, (unsigned long)&kbs)) {
+ ERR(ctx, _("failed to clear string %s"),
+ syms[KT_FN].table[kbs.kb_func]);
+ } else {
+ ct++;
+ }
+ }
+ }
+ return ct;
+}
+
+static int
+defdiacs(struct lk_ctx *ctx, int fd)
+{
+ unsigned int i, count;
+ struct kb_diacr *ptr;
+
+ count = ctx->accent_table->count;
+ if (count > MAX_DIACR) {
+ count = MAX_DIACR;
+ ERR(ctx, _("too many compose definitions"));
+ }
+#ifdef KDSKBDIACRUC
+ if (ctx->flags & LK_FLAG_PREFER_UNICODE) {
+ struct kbdiacrsuc kdu;
+
+ kdu.kb_cnt = count;
+
+ for (i = 0; i < kdu.kb_cnt; i++) {
+ ptr = lk_array_get_ptr(ctx->accent_table, i);
+ if (!ptr) {
+ /* It can't be happen */
+ ERR(ctx, _("unable to get compose definitions"));
+ return -1;
+ }
+
+ kdu.kbdiacruc[i].diacr = ptr->diacr;
+ kdu.kbdiacruc[i].base = ptr->base;
+ kdu.kbdiacruc[i].result = ptr->result;
+ }
+
+ if (ioctl(fd, KDSKBDIACRUC, (unsigned long)&kdu)) {
+ ERR(ctx, "KDSKBDIACRUC: %s", strerror(errno));
+ return -1;
+ }
+ } else
+#endif
+ {
+ struct kbdiacrs kd;
+
+ kd.kb_cnt = count;
+
+ for (i = 0; i < kd.kb_cnt; i++) {
+ ptr = lk_array_get_ptr(ctx->accent_table, i);
+ if (!ptr) {
+ ERR(ctx, _("unable to get compose definitions"));
+ return -1;
+ }
+ kd.kbdiacr[i].diacr = ptr->diacr;
+ kd.kbdiacr[i].base = ptr->base;
+ kd.kbdiacr[i].result = ptr->result;
+ }
+
+ if (ioctl(fd, KDSKBDIACR, (unsigned long)&kd)) {
+ ERR(ctx, "KDSKBDIACR: %s", strerror(errno));
+ return -1;
+ }
+ }
+
+ return count;
+}
+
+int
+lk_load_keymap(struct lk_ctx *ctx, int fd, int kbd_mode)
+{
+ int keyct, funcct, diacct;
+
+ if (lk_add_constants(ctx) < 0)
+ return -1;
+
+ if ((keyct = defkeys(ctx, fd, kbd_mode)) < 0 || (funcct = deffuncs(ctx, fd)) < 0)
+ return -1;
+
+ INFO(ctx, _("\nChanged %d %s and %d %s"),
+ keyct, (keyct == 1) ? _("key") : _("keys"),
+ funcct, (funcct == 1) ? _("string") : _("strings"));
+
+ if (ctx->accent_table->count > 0 || ctx->flags & LK_FLAG_CLEAR_COMPOSE) {
+ diacct = defdiacs(ctx, fd);
+
+ if (diacct < 0)
+ return -1;
+
+ INFO(ctx, _("Loaded %d compose %s"),
+ diacct, (diacct == 1) ? _("definition") : _("definitions"));
+
+ } else {
+ INFO(ctx, _("(No change in compose definitions)"));
+ }
+
+ return 0;
+}
diff --git a/src/libkeymap/modifiers.c b/src/libkeymap/modifiers.c
new file mode 100644
index 0000000..0f66554
--- /dev/null
+++ b/src/libkeymap/modifiers.c
@@ -0,0 +1,14 @@
+#include "modifiers.h"
+
+const modifier_t modifiers[] = {
+ { "shift", KG_SHIFT },
+ { "altgr", KG_ALTGR },
+ { "control", KG_CTRL },
+ { "alt", KG_ALT },
+ { "shiftl", KG_SHIFTL },
+ { "shiftr", KG_SHIFTR },
+ { "ctrll", KG_CTRLL },
+ { "ctrlr", KG_CTRLR },
+ { "capsshift", KG_CAPSSHIFT },
+ { 0, 0 }
+};
diff --git a/src/modifiers.h b/src/libkeymap/modifiers.h
similarity index 74%
rename from src/modifiers.h
rename to src/libkeymap/modifiers.h
index afcadf5..a385039 100644
--- a/src/modifiers.h
+++ b/src/libkeymap/modifiers.h
@@ -1,6 +1,8 @@
#ifndef _MODIFIERS_H
#define _MODIFIERS_H
+#include <linux/keyboard.h>
+
#define M_PLAIN 0
#define M_SHIFT (1 << KG_SHIFT)
#define M_CTRL (1 << KG_CTRL)
@@ -12,4 +14,11 @@
#define M_CTRLR (1 << KG_CTRLR)
#define M_CAPSSHIFT (1 << KG_CAPSSHIFT)
+typedef struct {
+ const char *name;
+ const int bit;
+} modifier_t;
+
+extern const modifier_t modifiers[];
+
#endif /* _MODIFIERS_H */
diff --git a/src/libkeymap/parser.y b/src/libkeymap/parser.y
new file mode 100644
index 0000000..627494a
--- /dev/null
+++ b/src/libkeymap/parser.y
@@ -0,0 +1,413 @@
+/* parser.y
+ *
+ * This file is part of kbd project.
+ * Copyright (C) 1993 Risto Kankkunen.
+ * Copyright (C) 1993 Eugene G. Crosser.
+ * Copyright (C) 1994-2007 Andries E. Brouwer.
+ * Copyright (C) 2007-2013 Alexey Gladkov <gladkov.alexey@gmail.com>
+ *
+ * This file is covered by the GNU General Public License,
+ * which should be included with kbd as the file COPYING.
+ */
+%{
+#define YY_HEADER_EXPORT_START_CONDITIONS 1
+
+#include "nls.h"
+#include "kbd.h"
+
+#include "contextP.h"
+#include "ksyms.h"
+#include "modifiers.h"
+
+#include "parser.h"
+#include "analyze.h"
+%}
+
+%code requires {
+#include "keymap.h"
+
+#ifndef STRDATA_STRUCT
+#define STRDATA_STRUCT
+#define MAX_PARSER_STRING 512
+struct strdata {
+ unsigned int len;
+ unsigned char data[MAX_PARSER_STRING];
+};
+#endif
+}
+
+%language "C"
+%yacc
+%defines
+%debug
+%error-verbose
+
+/* Pure yylex. */
+%define api.pure
+%lex-param { yyscan_t scanner }
+
+/* Pure yyparse. */
+%parse-param { void *scanner }
+%parse-param { struct lk_ctx *ctx }
+
+%token EOL NUMBER LITERAL CHARSET KEYMAPS KEYCODE EQUALS
+%token PLAIN SHIFT CONTROL ALT ALTGR SHIFTL SHIFTR CTRLL CTRLR CAPSSHIFT
+%token COMMA DASH STRING STRLITERAL COMPOSE TO CCHAR ERROR PLUS
+%token UNUMBER ALT_IS_META STRINGS AS USUAL ON FOR
+
+%union {
+ long long int num;
+ struct strdata str;
+}
+
+%type <str> STRLITERAL
+%type <num> CCHAR
+%type <num> LITERAL
+%type <num> NUMBER
+%type <num> UNUMBER
+%type <num> compsym
+%type <num> rvalue
+
+%{
+static int
+yyerror(yyscan_t scanner __attribute__ ((unused)),
+ struct lk_ctx *ctx, const char *s)
+{
+ ERR(ctx, "%s", s);
+ return 0;
+}
+
+static int
+strings_as_usual(struct lk_ctx *ctx)
+{
+ /*
+ * 26 strings, mostly inspired by the VT100 family
+ */
+ char *stringvalues[30] = {
+ /* F1 .. F20 */
+ "\033[[A", "\033[[B", "\033[[C", "\033[[D", "\033[[E",
+ "\033[17~", "\033[18~", "\033[19~", "\033[20~", "\033[21~",
+ "\033[23~", "\033[24~", "\033[25~", "\033[26~",
+ "\033[28~", "\033[29~",
+ "\033[31~", "\033[32~", "\033[33~", "\033[34~",
+ /* Find, Insert, Remove, Select, Prior */
+ "\033[1~", "\033[2~", "\033[3~", "\033[4~", "\033[5~",
+ /* Next, Macro, Help, Do, Pause */
+ "\033[6~", 0, 0, 0, 0
+ };
+ int i;
+
+ for (i = 0; i < 30; i++) {
+ if (stringvalues[i]) {
+ struct kbsentry ke;
+ ke.kb_func = i;
+ strncpy((char *)ke.kb_string, stringvalues[i],
+ sizeof(ke.kb_string));
+ ke.kb_string[sizeof(ke.kb_string) - 1] = 0;
+
+ if (lk_add_func(ctx, ke) == -1)
+ return -1;
+ }
+ }
+ return 0;
+}
+
+static int
+compose_as_usual(struct lk_ctx *ctx, char *charset)
+{
+ if (charset && strcmp(charset, "iso-8859-1")) {
+ ERR(ctx, _("loadkeys: don't know how to compose for %s"), charset);
+ return -1;
+
+ } else {
+ struct ccc {
+ unsigned char c1, c2, c3;
+ } def_latin1_composes[68] = {
+ { '`', 'A', 0300 }, { '`', 'a', 0340 },
+ { '\'', 'A', 0301 }, { '\'', 'a', 0341 },
+ { '^', 'A', 0302 }, { '^', 'a', 0342 },
+ { '~', 'A', 0303 }, { '~', 'a', 0343 },
+ { '"', 'A', 0304 }, { '"', 'a', 0344 },
+ { 'O', 'A', 0305 }, { 'o', 'a', 0345 },
+ { '0', 'A', 0305 }, { '0', 'a', 0345 },
+ { 'A', 'A', 0305 }, { 'a', 'a', 0345 },
+ { 'A', 'E', 0306 }, { 'a', 'e', 0346 },
+ { ',', 'C', 0307 }, { ',', 'c', 0347 },
+ { '`', 'E', 0310 }, { '`', 'e', 0350 },
+ { '\'', 'E', 0311 }, { '\'', 'e', 0351 },
+ { '^', 'E', 0312 }, { '^', 'e', 0352 },
+ { '"', 'E', 0313 }, { '"', 'e', 0353 },
+ { '`', 'I', 0314 }, { '`', 'i', 0354 },
+ { '\'', 'I', 0315 }, { '\'', 'i', 0355 },
+ { '^', 'I', 0316 }, { '^', 'i', 0356 },
+ { '"', 'I', 0317 }, { '"', 'i', 0357 },
+ { '-', 'D', 0320 }, { '-', 'd', 0360 },
+ { '~', 'N', 0321 }, { '~', 'n', 0361 },
+ { '`', 'O', 0322 }, { '`', 'o', 0362 },
+ { '\'', 'O', 0323 }, { '\'', 'o', 0363 },
+ { '^', 'O', 0324 }, { '^', 'o', 0364 },
+ { '~', 'O', 0325 }, { '~', 'o', 0365 },
+ { '"', 'O', 0326 }, { '"', 'o', 0366 },
+ { '/', 'O', 0330 }, { '/', 'o', 0370 },
+ { '`', 'U', 0331 }, { '`', 'u', 0371 },
+ { '\'', 'U', 0332 }, { '\'', 'u', 0372 },
+ { '^', 'U', 0333 }, { '^', 'u', 0373 },
+ { '"', 'U', 0334 }, { '"', 'u', 0374 },
+ { '\'', 'Y', 0335 }, { '\'', 'y', 0375 },
+ { 'T', 'H', 0336 }, { 't', 'h', 0376 },
+ { 's', 's', 0337 }, { '"', 'y', 0377 },
+ { 's', 'z', 0337 }, { 'i', 'j', 0377 }
+ };
+ int i;
+ for (i = 0; i < 68; i++) {
+ struct ccc ptr = def_latin1_composes[i];
+ if (lk_add_compose(ctx, ptr.c1, ptr.c2, ptr.c3) == -1)
+ return -1;
+ }
+ }
+ return 0;
+}
+
+%}
+
+%%
+keytable :
+ | keytable line
+ ;
+line : EOL
+ | charsetline
+ | altismetaline
+ | usualstringsline
+ | usualcomposeline
+ | keymapline
+ | fullline
+ | singleline
+ | strline
+ | compline
+ ;
+charsetline : CHARSET STRLITERAL EOL
+ {
+ if (lk_set_charset(ctx, (char *) $2.data)) {
+ ERR(ctx,
+ _("unknown charset %s - ignoring charset request\n"),
+ (char *) $2.data);
+ YYERROR;
+ }
+ ctx->keywords |= LK_KEYWORD_CHARSET;
+
+ /* Unicode: The first 256 code points were made
+ identical to the content of ISO 8859-1 */
+ if (ctx->flags & LK_FLAG_PREFER_UNICODE &&
+ !strcasecmp((char *) $2.data, "iso-8859-1"))
+ ctx->flags ^= LK_FLAG_PREFER_UNICODE;
+ }
+ ;
+altismetaline : ALT_IS_META EOL
+ {
+ ctx->keywords |= LK_KEYWORD_ALTISMETA;
+ }
+ ;
+usualstringsline: STRINGS AS USUAL EOL
+ {
+ if (strings_as_usual(ctx) == -1)
+ YYERROR;
+ ctx->keywords |= LK_KEYWORD_STRASUSUAL;
+ }
+ ;
+usualcomposeline: COMPOSE AS USUAL FOR STRLITERAL EOL
+ {
+ if (compose_as_usual(ctx, (char *) $5.data) == -1)
+ YYERROR;
+ }
+ | COMPOSE AS USUAL EOL
+ {
+ if (compose_as_usual(ctx, 0) == -1)
+ YYERROR;
+ }
+ ;
+keymapline : KEYMAPS range EOL
+ {
+ ctx->keywords |= LK_KEYWORD_KEYMAPS;
+ }
+ ;
+range : range COMMA range0
+ | range0
+ ;
+range0 : NUMBER DASH NUMBER
+ {
+ int i;
+ for (i = $1; i <= $3; i++) {
+ if (lk_add_map(ctx, i) == -1)
+ YYERROR;
+ }
+ }
+ | NUMBER
+ {
+ if (lk_add_map(ctx, $1) == -1)
+ YYERROR;
+ }
+ ;
+strline : STRING LITERAL EQUALS STRLITERAL EOL
+ {
+ struct kbsentry ke;
+
+ if (KTYP($2) != KT_FN) {
+ ERR(ctx, _("'%s' is not a function key symbol"),
+ syms[KTYP($2)].table[KVAL($2)]);
+ YYERROR;
+ }
+
+ ke.kb_func = KVAL($2);
+ strncpy((char *) ke.kb_string,
+ (char *) $4.data,
+ sizeof(ke.kb_string));
+ ke.kb_string[sizeof(ke.kb_string) - 1] = 0;
+
+ if (lk_add_func(ctx, ke) == -1)
+ YYERROR;
+ }
+ ;
+compline : COMPOSE compsym compsym TO compsym EOL
+ {
+ if (lk_add_compose(ctx, $2, $3, $5) == -1)
+ YYERROR;
+ }
+ | COMPOSE compsym compsym TO rvalue EOL
+ {
+ if (lk_add_compose(ctx, $2, $3, $5) == -1)
+ YYERROR;
+ }
+ ;
+compsym : CCHAR { $$ = $1; }
+ | UNUMBER { $$ = $1 ^ 0xf000; }
+ ;
+singleline : {
+ ctx->mod = 0;
+ }
+ modifiers KEYCODE NUMBER EQUALS rvalue EOL
+ {
+ if (lk_add_key(ctx, ctx->mod, $4, $6) < 0)
+ YYERROR;
+ }
+ | PLAIN KEYCODE NUMBER EQUALS rvalue EOL
+ {
+ if (lk_add_key(ctx, 0, $3, $5) < 0)
+ YYERROR;
+ }
+ ;
+modifiers : modifiers modifier
+ | modifier
+ ;
+modifier : SHIFT { ctx->mod |= M_SHIFT; }
+ | CONTROL { ctx->mod |= M_CTRL; }
+ | ALT { ctx->mod |= M_ALT; }
+ | ALTGR { ctx->mod |= M_ALTGR; }
+ | SHIFTL { ctx->mod |= M_SHIFTL; }
+ | SHIFTR { ctx->mod |= M_SHIFTR; }
+ | CTRLL { ctx->mod |= M_CTRLL; }
+ | CTRLR { ctx->mod |= M_CTRLR; }
+ | CAPSSHIFT { ctx->mod |= M_CAPSSHIFT; }
+ ;
+fullline : KEYCODE NUMBER EQUALS rvalue0 EOL
+ {
+ unsigned int j, i, keycode;
+ int *val;
+
+ if (ctx->key_line->count == 1) {
+ char one = 1;
+ /* Some files do not have a keymaps line, and
+ * we have to wait until all input has been read
+ * before we know which maps to fill. */
+ lk_array_set(ctx->key_constant, $2, &one);
+
+ /* On the other hand, we now have include files,
+ * and it should be possible to override lines
+ * from an include file. So, kill old defs. */
+ for (j = 0; j < ctx->keymap->total; j++) {
+ if (!lk_map_exists(ctx, j))
+ continue;
+
+ if (lk_del_key(ctx, j, $2) < 0)
+ YYERROR;
+ }
+ }
+
+ if (ctx->keywords & LK_KEYWORD_KEYMAPS) {
+ i = 0;
+
+ for (j = 0; j < ctx->keymap->total; j++) {
+ if (!lk_map_exists(ctx, j))
+ continue;
+
+ if (ctx->key_line->count != 1 || i == 0) {
+ keycode = K_HOLE;
+
+ if (i < ctx->key_line->count) {
+ val = lk_array_get(ctx->key_line, i);
+ keycode = *val;
+ }
+
+ if (lk_add_key(ctx, j, $2, keycode) < 0)
+ YYERROR;
+ }
+ i++;
+ }
+
+ if (i < ctx->key_line->count) {
+ ERR(ctx, _("too many (%d) entries on one line"),
+ ctx->key_line->count);
+ YYERROR;
+ }
+ } else {
+ for (i = 0; i < ctx->key_line->count; i++) {
+ val = lk_array_get(ctx->key_line, i);
+
+ if (lk_add_key(ctx, i, $2, *val) < 0)
+ YYERROR;
+ }
+ }
+ }
+ ;
+
+rvalue0 :
+ | rvalue1 rvalue0
+ ;
+rvalue1 : rvalue
+ {
+ int val = $1;
+ lk_array_append(ctx->key_line, &val);
+ }
+ ;
+rvalue : NUMBER { $$ = convert_code(ctx, $1, TO_AUTO); }
+ | PLUS NUMBER { $$ = add_capslock(ctx, $2); }
+ | UNUMBER { $$ = convert_code(ctx, $1^0xf000, TO_AUTO); }
+ | PLUS UNUMBER { $$ = add_capslock(ctx, $2^0xf000); }
+ | LITERAL { $$ = $1; }
+ | PLUS LITERAL { $$ = add_capslock(ctx, $2); }
+ ;
+%%
+
+int
+lk_parse_keymap(struct lk_ctx *ctx, lkfile_t *f)
+{
+ yyscan_t scanner;
+ int rc = -1;
+
+ yylex_init(&scanner);
+ yylex_init_extra(ctx, &scanner);
+
+ INFO(ctx, _("Loading %s"), f->pathname);
+
+ if (stack_push(ctx, f, scanner) == -1)
+ goto fail;
+
+ if (yyparse(scanner, ctx))
+ goto fail;
+
+ rc = 0;
+
+ stack_pop(ctx, scanner);
+
+ fail: yylex_destroy(scanner);
+ return rc;
+}
diff --git a/src/libkeymap/summary.c b/src/libkeymap/summary.c
new file mode 100644
index 0000000..d85778d
--- /dev/null
+++ b/src/libkeymap/summary.c
@@ -0,0 +1,153 @@
+/* summary.c
+ *
+ * This file is part of kbd project.
+ * Copyright (C) 2012-2013 Alexey Gladkov <gladkov.alexey@gmail.com>
+ *
+ * This file is covered by the GNU General Public License,
+ * which should be included with kbd as the file COPYING.
+ */
+#include <string.h>
+#include <errno.h>
+#include <sys/ioctl.h>
+
+#include "keymap.h"
+
+#include "nls.h"
+#include "contextP.h"
+#include "ksyms.h"
+#include "modifiers.h"
+
+
+static char
+valid_type(int fd, int t)
+{
+ struct kbentry ke;
+
+ ke.kb_index = 0;
+ ke.kb_table = 0;
+ ke.kb_value = K(t, 0);
+
+ return (ioctl(fd, KDSKBENT, (unsigned long) &ke) == 0);
+}
+
+static u_char
+maximum_val(int fd, int t)
+{
+ struct kbentry ke, ke0;
+ int i;
+
+ ke.kb_index = 0;
+ ke.kb_table = 0;
+ ke.kb_value = K_HOLE;
+ ke0 = ke;
+
+ ioctl(fd, KDGKBENT, (unsigned long) &ke0);
+
+ for (i = 0; i < 256; i++) {
+ ke.kb_value = K(t, i);
+ if (ioctl(fd, KDSKBENT, (unsigned long) &ke))
+ break;
+ }
+ ke.kb_value = K_HOLE;
+ ioctl(fd, KDSKBENT, (unsigned long) &ke0);
+
+ return i - 1;
+}
+
+int
+lk_get_kmapinfo(struct lk_ctx *ctx, struct kmapinfo *res)
+{
+ int i;
+
+ if (!ctx)
+ return -1;
+
+ res->flags = ctx->flags;
+ res->keywords = ctx->keywords;
+ res->keymaps = ctx->keymap->count;
+ res->functions = ctx->func_table->count;
+ res->composes = ctx->accent_table->count;
+
+ res->keymaps_alloced = 0;
+
+ for (i = 0; i < MAX_NR_KEYMAPS; i++) {
+ if (lk_get_key(ctx, i, 0) == K_ALLOCATED) {
+ res->keymaps_alloced++;
+ }
+ }
+
+ return 0;
+}
+
+#define NR_TYPES 15
+
+void
+lk_dump_summary(struct lk_ctx *ctx, FILE *fd, int console)
+{
+ int i;
+ struct kmapinfo info;
+
+ if (lk_get_kmapinfo(ctx, &info) < 0)
+ return;
+
+ fprintf(fd, _("keycode range supported by kernel: 1 - %d\n"),
+ NR_KEYS - 1);
+ fprintf(fd, _("max number of actions bindable to a key: %d\n"),
+ MAX_NR_KEYMAPS);
+ fprintf(fd, _("number of keymaps in actual use: %u\n"),
+ (unsigned int) info.keymaps);
+
+ fprintf(fd, _("of which %u dynamically allocated\n"),
+ (unsigned int) info.keymaps_alloced);
+
+ fprintf(fd, _("ranges of action codes supported by kernel:\n"));
+
+ for (i = 0; i < NR_TYPES && valid_type(console, i); i++)
+ fprintf(fd, " 0x%04x - 0x%04x\n",
+ K(i, 0), K(i, maximum_val(console, i)));
+
+ fprintf(fd, _("number of function keys supported by kernel: %d\n"),
+ MAX_NR_FUNC);
+ fprintf(fd, _("max nr of compose definitions: %d\n"),
+ MAX_DIACR);
+ fprintf(fd, _("nr of compose definitions in actual use: %u\n"),
+ (unsigned int) info.composes);
+}
+
+void
+lk_dump_symbols(FILE *fd)
+{
+ unsigned int t;
+ modifier_t *mod;
+ int v;
+ const char *p;
+
+ for (t = 0; t < syms_size; t++) {
+ if (syms[t].size) {
+ for (v = 0; v < syms[t].size; v++) {
+ if ((p = syms[t].table[v])[0])
+ fprintf(fd, "0x%04x\t%s\n", K(t, v), p);
+ }
+ } else if (t == KT_META) {
+ for (v = 0; v < syms[0].size && v < 128; v++) {
+ if ((p = syms[0].table[v])[0])
+ fprintf(fd, "0x%04x\tMeta_%s\n", K(t, v), p);
+ }
+ }
+ }
+
+ fprintf(fd, _("\nThe following synonyms are recognized:\n\n"));
+
+ for (t = 0; t < syn_size; t++) {
+ fprintf(fd, _("%-15s for %s\n"),
+ synonyms[t].synonym, synonyms[t].official_name);
+ }
+
+ fprintf(fd, _("\nRecognized modifier names and their column numbers:\n"));
+
+ mod = (modifier_t *) modifiers;
+ while (mod->name) {
+ fprintf(fd, "%s\t\t%3d\n", mod->name, 1 << mod->bit);
+ mod++;
+ }
+}
diff --git a/src/cp1250.syms.h b/src/libkeymap/syms.cp1250.h
similarity index 97%
rename from src/cp1250.syms.h
rename to src/libkeymap/syms.cp1250.h
index 689975d..686453c 100644
--- a/src/cp1250.syms.h
+++ b/src/libkeymap/syms.cp1250.h
@@ -4,7 +4,8 @@
*
* No names have been introduced yet for the various quotation marks
*/
-static sym cp1250_syms[] = { /* 128-255 */
+static sym
+const cp1250_syms[] = { /* 128-255 */
{ 0x20ac, "euro"}, /* 0200 */
{ 0xfffd, ""}, /* undefined */
{ 0x201a, ""}, /* SINGLE LOW-9 QUOTATION MARK */
diff --git a/src/ethiopic.syms.h b/src/libkeymap/syms.ethiopic.h
similarity index 98%
rename from src/ethiopic.syms.h
rename to src/libkeymap/syms.ethiopic.h
index 4a5fbf9..eac4cb5 100644
--- a/src/ethiopic.syms.h
+++ b/src/libkeymap/syms.ethiopic.h
@@ -6,7 +6,8 @@
*
* { "iso-10646-18", iso_10646_18_syms, 159 },
*/
-static sym iso_10646_18_syms[] = { /* 0x1200 - 0x137F */
+static sym
+const iso_10646_18_syms[] = { /* 0x1200 - 0x137F */
{ 0x1200, "ethiopic_syllable_ha" },
{ 0x1201, "ethiopic_syllable_hu" },
{ 0x1202, "ethiopic_syllable_hi" },
diff --git a/src/libkeymap/syms.iso8859_15.h b/src/libkeymap/syms.iso8859_15.h
new file mode 100644
index 0000000..e19a2a5
--- /dev/null
+++ b/src/libkeymap/syms.iso8859_15.h
@@ -0,0 +1,100 @@
+static sym
+const iso_8859_15_syms[] = {
+ /* latin-1 with 8 changes */
+ { 0x00a0, "" },
+ { 0x00a1, "" },
+ { 0x00a2, "" },
+ { 0x00a3, "" },
+ { 0x20ac, "euro" },
+ { 0x00a5, "" },
+ { 0x0160, "Scaron" },
+ { 0x00a7, "" },
+ { 0x0161, "scaron" },
+ { 0x00a9, "" },
+ { 0x00aa, "" },
+ { 0x00ab, "" },
+ { 0x00ac, "" },
+ { 0x00ad, "" },
+ { 0x00ae, "" },
+ { 0x00af, "" },
+ { 0x00b0, "" },
+ { 0x00b1, "" },
+ { 0x00b2, "" },
+ { 0x00b3, "" },
+ { 0x017d, "Zcaron" },
+ { 0x00b5, "" },
+ { 0x00b6, "" },
+ { 0x00b7, "" },
+ { 0x017e, "zcaron" },
+ { 0x00b9, "" },
+ { 0x00ba, "" },
+ { 0x00bb, "" },
+ { 0x0152, "OE" },
+ { 0x0153, "oe" },
+ { 0x0178, "Ydiaeresis" },
+ { 0x00bf, "" },
+ { 0x00c0, "" },
+ { 0x00c1, "" },
+ { 0x00c2, "" },
+ { 0x00c3, "" },
+ { 0x00c4, "" },
+ { 0x00c5, "" },
+ { 0x00c6, "" },
+ { 0x00c7, "" },
+ { 0x00c8, "" },
+ { 0x00c9, "" },
+ { 0x00ca, "" },
+ { 0x00cb, "" },
+ { 0x00cc, "" },
+ { 0x00cd, "" },
+ { 0x00ce, "" },
+ { 0x00cf, "" },
+ { 0x00d0, "" },
+ { 0x00d1, "" },
+ { 0x00d2, "" },
+ { 0x00d3, "" },
+ { 0x00d4, "" },
+ { 0x00d5, "" },
+ { 0x00d6, "" },
+ { 0x00d7, "" },
+ { 0x00d8, "" },
+ { 0x00d9, "" },
+ { 0x00da, "" },
+ { 0x00db, "" },
+ { 0x00dc, "" },
+ { 0x00dd, "" },
+ { 0x00de, "" },
+ { 0x00df, "" },
+ { 0x00e0, "" },
+ { 0x00e1, "" },
+ { 0x00e2, "" },
+ { 0x00e3, "" },
+ { 0x00e4, "" },
+ { 0x00e5, "" },
+ { 0x00e6, "" },
+ { 0x00e7, "" },
+ { 0x00e8, "" },
+ { 0x00e9, "" },
+ { 0x00ea, "" },
+ { 0x00eb, "" },
+ { 0x00ec, "" },
+ { 0x00ed, "" },
+ { 0x00ee, "" },
+ { 0x00ef, "" },
+ { 0x00f0, "" },
+ { 0x00f1, "" },
+ { 0x00f2, "" },
+ { 0x00f3, "" },
+ { 0x00f4, "" },
+ { 0x00f5, "" },
+ { 0x00f6, "" },
+ { 0x00f7, "" },
+ { 0x00f8, "" },
+ { 0x00f9, "" },
+ { 0x00fa, "" },
+ { 0x00fb, "" },
+ { 0x00fc, "" },
+ { 0x00fd, "" },
+ { 0x00fe, "" },
+ { 0x00ff, "" }
+};
diff --git a/src/libkeymap/syms.iso8859_5.h b/src/libkeymap/syms.iso8859_5.h
new file mode 100644
index 0000000..0df703b
--- /dev/null
+++ b/src/libkeymap/syms.iso8859_5.h
@@ -0,0 +1,99 @@
+static sym
+const iso_8859_5_syms[] = { /* 160-255 */
+ { 0x00a0, "nobreakspace" },
+ { 0x0401, "cyrillic_capital_letter_io" },
+ { 0x0402, "serbocroatian_cyrillic_capital_letter_dje" },
+ { 0x0403, "macedonian_cyrillic_capital_letter_gje" },
+ { 0x0404, "ukrainian_cyrillic_capital_letter_ie" },
+ { 0x0405, "macedonian_cyrillic_capital_letter_dze" },
+ { 0x0406, "ukrainian_cyrillic_capital_letter_i" },
+ { 0x0407, "ukrainian_cyrillic_capital_letter_yi" },
+ { 0x0408, "cyrillic_capital_letter_je" }, /* 0250 */
+ { 0x0409, "cyrillic_capital_letter_lje" },
+ { 0x040a, "cyrillic_capital_letter_nje" },
+ { 0x040b, "serbocroatian_cyrillic_capital_letter_chje" },
+ { 0x040c, "macedonian_cyrillic_capital_letter_kje" },
+ { 0x00ad, "hyphen" },
+ { 0x040e, "bielorussian_cyrillic_capital_letter_short_u" },
+ { 0x040f, "cyrillic_capital_letter_dze" },
+ { 0x0410, "cyrillic_capital_letter_a" }, /* 0260 */
+ { 0x0411, "cyrillic_capital_letter_be" },
+ { 0x0412, "cyrillic_capital_letter_ve" },
+ { 0x0413, "cyrillic_capital_letter_ghe" },
+ { 0x0414, "cyrillic_capital_letter_de" },
+ { 0x0415, "cyrillic_capital_letter_ie" },
+ { 0x0416, "cyrillic_capital_letter_zhe" },
+ { 0x0417, "cyrillic_capital_letter_ze" },
+ { 0x0418, "cyrillic_capital_letter_i" }, /* 0270 */
+ { 0x0419, "cyrillic_capital_letter_short_i" },
+ { 0x041a, "cyrillic_capital_letter_ka" },
+ { 0x041b, "cyrillic_capital_letter_el" },
+ { 0x041c, "cyrillic_capital_letter_em" },
+ { 0x041d, "cyrillic_capital_letter_en" },
+ { 0x041e, "cyrillic_capital_letter_o" },
+ { 0x041f, "cyrillic_capital_letter_pe" },
+ { 0x0420, "cyrillic_capital_letter_er" }, /* 0300 */
+ { 0x0421, "cyrillic_capital_letter_es" },
+ { 0x0422, "cyrillic_capital_letter_te" },
+ { 0x0423, "cyrillic_capital_letter_u" },
+ { 0x0424, "cyrillic_capital_letter_ef" },
+ { 0x0425, "cyrillic_capital_letter_ha" },
+ { 0x0426, "cyrillic_capital_letter_tse" },
+ { 0x0427, "cyrillic_capital_letter_che" },
+ { 0x0428, "cyrillic_capital_letter_sha" }, /* 0310 */
+ { 0x0429, "cyrillic_capital_letter_shcha" },
+ { 0x042a, "cyrillic_capital_hard_sign" },
+ { 0x042b, "cyrillic_capital_letter_yeru" },
+ { 0x042c, "cyrillic_capital_soft_sign" },
+ { 0x042d, "cyrillic_capital_letter_e" },
+ { 0x042e, "cyrillic_capital_letter_yu" },
+ { 0x042f, "cyrillic_capital_letter_ya" },
+ { 0x0430, "cyrillic_small_letter_a" }, /* 0320 */
+ { 0x0431, "cyrillic_small_letter_be" },
+ { 0x0432, "cyrillic_small_letter_ve" },
+ { 0x0433, "cyrillic_small_letter_ghe" },
+ { 0x0434, "cyrillic_small_letter_de" },
+ { 0x0435, "cyrillic_small_letter_ie" },
+ { 0x0436, "cyrillic_small_letter_zhe" },
+ { 0x0437, "cyrillic_small_letter_ze" },
+ { 0x0438, "cyrillic_small_letter_i" }, /* 0330 */
+ { 0x0439, "cyrillic_small_letter_short_i" },
+ { 0x043a, "cyrillic_small_letter_ka" },
+ { 0x043b, "cyrillic_small_letter_el" },
+ { 0x043c, "cyrillic_small_letter_em" },
+ { 0x043d, "cyrillic_small_letter_en" },
+ { 0x043e, "cyrillic_small_letter_o" },
+ { 0x043f, "cyrillic_small_letter_pe" },
+ { 0x0440, "cyrillic_small_letter_er" }, /* 0340 */
+ { 0x0441, "cyrillic_small_letter_es" },
+ { 0x0442, "cyrillic_small_letter_te" },
+ { 0x0443, "cyrillic_small_letter_u" },
+ { 0x0444, "cyrillic_small_letter_ef" },
+ { 0x0445, "cyrillic_small_letter_ha" },
+ { 0x0446, "cyrillic_small_letter_tse" },
+ { 0x0447, "cyrillic_small_letter_che" },
+ { 0x0448, "cyrillic_small_letter_sha" }, /* 0350 */
+ { 0x0449, "cyrillic_small_letter_shcha" },
+ { 0x044a, "cyrillic_small_hard_sign" },
+ { 0x044b, "cyrillic_small_letter_yeru" },
+ { 0x044c, "cyrillic_small_soft_sign" },
+ { 0x044d, "cyrillic_small_letter_e" },
+ { 0x044e, "cyrillic_small_letter_yu" },
+ { 0x044f, "cyrillic_small_letter_ya" },
+ { 0x2116, "number_acronym" }, /* 0360 */
+ { 0x0451, "cyrillic_small_letter_io" },
+ { 0x0452, "serbocroatian_cyrillic_small_letter_dje" },
+ { 0x0453, "macedonian_cyrillic_small_letter_gje" },
+ { 0x0454, "ukrainian_cyrillic_small_letter_ie" },
+ { 0x0455, "macedonian_cyrillic_small_letter_dze" },
+ { 0x0456, "ukrainian_cyrillic_small_letter_i" },
+ { 0x0457, "ukrainian_cyrillic_small_letter_yi" },
+ { 0x0458, "cyrillic_small_letter_je" }, /* 0370 */
+ { 0x0459, "cyrillic_small_letter_lje" },
+ { 0x045a, "cyrillic_small_letter_nje" },
+ { 0x045b, "serbocroatian_cyrillic_small_letter_chje" },
+ { 0x045c, "macedonian_cyrillic_small_letter_kje" },
+ { 0x00a7, "section" },
+ { 0x045e, "bielorussian_cyrillic_small_letter_short_u" }, /* printing error in ECMA-113 */
+ { 0x045f, "cyrillic_small_letter_dze" }
+};
diff --git a/src/libkeymap/syms.iso8859_7.h b/src/libkeymap/syms.iso8859_7.h
new file mode 100644
index 0000000..4d01d86
--- /dev/null
+++ b/src/libkeymap/syms.iso8859_7.h
@@ -0,0 +1,99 @@
+static sym
+const iso_8859_7_syms[] = { /* 160-255 */
+ { 0x00a0, "" },
+ { 0x02bd, "leftquote" },
+ { 0x02bc, "rightquote" },
+ { 0x00a3, "" },
+ { 0xfffd, "" },
+ { 0xfffd, "" },
+ { 0x00a6, "" },
+ { 0x00a7, "" },
+ { 0x00a8, "" },
+ { 0x00a9, "" },
+ { 0xfffd, "" },
+ { 0x00ab, "" },
+ { 0x00ac, "" },
+ { 0x00ad, "" },
+ { 0xfffd, "" },
+ { 0x2015, "" },
+ { 0x00b0, "" },
+ { 0x00b1, "" },
+ { 0x00b2, "" },
+ { 0x00b3, "" },
+ { 0x0384, "accent" },
+ { 0x0385, "diaeresisaccent" },
+ { 0x0386, "Alphaaccent" },
+ { 0x00b7, "" },
+ { 0x0388, "Epsilonaccent" },
+ { 0x0389, "Etaaccent" },
+ { 0x038a, "Iotaaccent" },
+ { 0x00bb, "guillemotright" },
+ { 0x038c, "Omicronaccent" },
+ { 0x00bd, "onehalf" },
+ { 0x038e, "Upsilonaccent" },
+ { 0x038f, "Omegaaccent" },
+ { 0x0390, "iotadiaeresisaccent" },
+ { 0x0391, "Alpha" },
+ { 0x0392, "Beta" },
+ { 0x0393, "Gamma" },
+ { 0x0394, "Delta" },
+ { 0x0395, "Epsilon" },
+ { 0x0396, "Zeta" },
+ { 0x0397, "Eta" },
+ { 0x0398, "Theta" },
+ { 0x0399, "Iota" },
+ { 0x039a, "Kappa" },
+ { 0x039b, "Lamda" /*sic*/ },
+ { 0x039c, "Mu" },
+ { 0x039d, "Nu" },
+ { 0x039e, "Ksi" },
+ { 0x039f, "Omicron" },
+ { 0x03a0, "Pi" },
+ { 0x03a1, "Rho" },
+ { 0xfffd, "" },
+ { 0x03a3, "Sigma" },
+ { 0x03a4, "Tau" },
+ { 0x03a5, "Upsilon" },
+ { 0x03a6, "Phi" },
+ { 0x03a7, "Khi" },
+ { 0x03a8, "Psi" },
+ { 0x03a9, "Omega" },
+ { 0x03aa, "Iotadiaeresis" },
+ { 0x03ab, "Upsilondiaeresis" },
+ { 0x03ac, "alphaaccent" },
+ { 0x03ad, "epsilonaccent" },
+ { 0x03ae, "etaaccent" },
+ { 0x03af, "iotaaccent" },
+ { 0x03b0, "upsilondiaeresisaccent" },
+ { 0x03b1, "alpha" },
+ { 0x03b2, "beta" },
+ { 0x03b3, "gamma" },
+ { 0x03b4, "delta" },
+ { 0x03b5, "epsilon" },
+ { 0x03b6, "zeta" },
+ { 0x03b7, "eta" },
+ { 0x03b8, "theta" },
+ { 0x03b9, "iota" },
+ { 0x03ba, "kappa" },
+ { 0x03bb, "lamda" /*sic*/ },
+ { 0x03bc, "mu" },
+ { 0x03bd, "nu" },
+ { 0x03be, "ksi" },
+ { 0x03bf, "omicron" },
+ { 0x03c0, "pi" },
+ { 0x03c1, "rho" },
+ { 0x03c2, "terminalsigma" },
+ { 0x03c3, "sigma" },
+ { 0x03c4, "tau" },
+ { 0x03c5, "upsilon" },
+ { 0x03c6, "phi" },
+ { 0x03c7, "khi" },
+ { 0x03c8, "psi" },
+ { 0x03c9, "omega" },
+ { 0x03ca, "iotadiaeresis" },
+ { 0x03cb, "upsilondiaeresis" },
+ { 0x03cc, "omicronaccent" },
+ { 0x03cd, "upsilonaccent" },
+ { 0x03ce, "omegaaccent" },
+ { 0xfffd, "" }
+};
diff --git a/src/libkeymap/syms.iso8859_8.h b/src/libkeymap/syms.iso8859_8.h
new file mode 100644
index 0000000..ff71136
--- /dev/null
+++ b/src/libkeymap/syms.iso8859_8.h
@@ -0,0 +1,99 @@
+static sym
+const iso_8859_8_syms[] = {
+ { 0x00a0, "" },
+ { 0xfffd, "" },
+ { 0x00a2, "" },
+ { 0x00a3, "" },
+ { 0x00a4, "" },
+ { 0x00a5, "" },
+ { 0x00a6, "" },
+ { 0x00a7, "" },
+ { 0x00a8, "" },
+ { 0x00a9, "" },
+ { 0x00d7, "multiply" },
+ { 0x00ab, "" },
+ { 0x00ac, "" },
+ { 0x00ad, "" },
+ { 0x00ae, "" },
+ { 0x203e, "overscore" },
+ { 0x00b0, "" },
+ { 0x00b1, "" },
+ { 0x00b2, "" },
+ { 0x00b3, "" },
+ { 0x00b4, "" },
+ { 0x00b5, "" },
+ { 0x00b6, "" },
+ { 0x00b7, "" },
+ { 0x00b8, "" },
+ { 0x00b9, "" },
+ { 0x00f7, "division" },
+ { 0x00bb, "" },
+ { 0x00bc, "" },
+ { 0x00bd, "" },
+ { 0x00be, "" },
+ { 0xfffd, "" },
+ { 0xfffd, "" },
+ { 0xfffd, "" },
+ { 0xfffd, "" },
+ { 0xfffd, "" },
+ { 0xfffd, "" },
+ { 0xfffd, "" },
+ { 0xfffd, "" },
+ { 0xfffd, "" },
+ { 0xfffd, "" },
+ { 0xfffd, "" },
+ { 0xfffd, "" },
+ { 0xfffd, "" },
+ { 0xfffd, "" },
+ { 0xfffd, "" },
+ { 0xfffd, "" },
+ { 0xfffd, "" },
+ { 0xfffd, "" },
+ { 0xfffd, "" },
+ { 0xfffd, "" },
+ { 0xfffd, "" },
+ { 0xfffd, "" },
+ { 0xfffd, "" },
+ { 0xfffd, "" },
+ { 0xfffd, "" },
+ { 0xfffd, "" },
+ { 0xfffd, "" },
+ { 0xfffd, "" },
+ { 0xfffd, "" },
+ { 0xfffd, "" },
+ { 0xfffd, "" },
+ { 0xfffd, "" },
+ { 0x2017, "doubleunderscore" },
+ { 0x05d0, "alef" },
+ { 0x05d1, "bet" },
+ { 0x05d2, "gimel" },
+ { 0x05d3, "dalet" },
+ { 0x05d4, "he" },
+ { 0x05d5, "vav" },
+ { 0x05d6, "zayin" },
+ { 0x05d7, "het" },
+ { 0x05d8, "tet" },
+ { 0x05d9, "yod" },
+ { 0x05da, "finalkaf" },
+ { 0x05db, "kaf" },
+ { 0x05dc, "lamed" },
+ { 0x05dd, "finalmem" },
+ { 0x05de, "mem" },
+ { 0x05df, "finalnun" },
+ { 0x05e0, "nun" },
+ { 0x05e1, "samekh" },
+ { 0x05e2, "ayin" },
+ { 0x05e3, "finalpe" },
+ { 0x05e4, "pe" },
+ { 0x05e5, "finaltsadi" },
+ { 0x05e6, "tsadi" },
+ { 0x05e7, "qof" },
+ { 0x05e8, "resh" },
+ { 0x05e9, "shin" },
+ { 0x05ea, "tav" },
+ { 0xfffd, "" },
+ { 0xfffd, "" },
+ { 0xfffd, "" },
+ { 0xfffd, "" },
+ { 0xfffd, "" }
+};
diff --git a/src/libkeymap/syms.iso8859_9.h b/src/libkeymap/syms.iso8859_9.h
new file mode 100644
index 0000000..11edb0c
--- /dev/null
+++ b/src/libkeymap/syms.iso8859_9.h
@@ -0,0 +1,54 @@
+static sym
+const iso_8859_9_syms[] = { /* latin-5 */
+ /* Identical to latin-1, but with the 6 symbols
+ ETH, eth, THORN, thorn, Yacute, yacute replaced by
+ Gbreve, gbreve, Scedilla, scedilla, Idotabove, dotlessi */
+ { 0x011e, "Gbreve" },
+ { 0x00d1, "" },
+ { 0x00d2, "" },
+ { 0x00d3, "" },
+ { 0x00d4, "" },
+ { 0x00d5, "" },
+ { 0x00d6, "" },
+ { 0x00d7, "" },
+ { 0x00d8, "" },
+ { 0x00d9, "" },
+ { 0x00da, "" },
+ { 0x00db, "" },
+ { 0x00dc, "" },
+ { 0x0130, "Idotabove" },
+ { 0x015e, "Scedilla" },
+ { 0x00df, "" },
+ { 0x00e0, "" },
+ { 0x00e1, "" },
+ { 0x00e2, "" },
+ { 0x00e3, "" },
+ { 0x00e4, "" },
+ { 0x00e5, "" },
+ { 0x00e6, "" },
+ { 0x00e7, "" },
+ { 0x00e8, "" },
+ { 0x00e9, "" },
+ { 0x00ea, "" },
+ { 0x00eb, "" },
+ { 0x00ec, "" },
+ { 0x00ed, "" },
+ { 0x00ee, "" },
+ { 0x00ef, "" },
+ { 0x011f, "gbreve" },
+ { 0x00f1, "" },
+ { 0x00f2, "" },
+ { 0x00f3, "" },
+ { 0x00f4, "" },
+ { 0x00f5, "" },
+ { 0x00f6, "" },
+ { 0x00f7, "" },
+ { 0x00f8, "" },
+ { 0x00f9, "" },
+ { 0x00fa, "" },
+ { 0x00fb, "" },
+ { 0x00fc, "" },
+ { 0x0131, "dotlessi" },
+ { 0x015f, "scedilla" },
+ { 0x00ff, "" }
+};
diff --git a/src/koi8.syms.h b/src/libkeymap/syms.koi8.h
similarity index 98%
rename from src/koi8.syms.h
rename to src/libkeymap/syms.koi8.h
index 5df7f1b..b9ed8d9 100644
--- a/src/koi8.syms.h
+++ b/src/libkeymap/syms.koi8.h
@@ -5,7 +5,8 @@
we can use the same table for both. */
/* TODO: check unicode values for these 8 positions */
-static sym koi8_syms[] = { /* 128-255 */
+static sym
+const koi8_syms[] = { /* 128-255 */
{ 0x2500, "" }, /* 0200 */
{ 0x2502, "" },
{ 0x250c, "" },
diff --git a/src/libkeymap/syms.ktyp.h b/src/libkeymap/syms.ktyp.h
new file mode 100644
index 0000000..8b62094
--- /dev/null
+++ b/src/libkeymap/syms.ktyp.h
@@ -0,0 +1,549 @@
+/*
+ * Keysyms whose KTYP is KT_LATIN or KT_LETTER and whose KVAL is 0..127.
+ */
+static const char *
+const iso646_syms[] = {
+ "nul",
+ "Control_a",
+ "Control_b",
+ "Control_c",
+ "Control_d",
+ "Control_e",
+ "Control_f",
+ "Control_g",
+ "BackSpace",
+ "Tab",
+ "Linefeed",
+ "Control_k",
+ "Control_l",
+ "Control_m",
+ "Control_n",
+ "Control_o",
+ "Control_p",
+ "Control_q",
+ "Control_r",
+ "Control_s",
+ "Control_t",
+ "Control_u",
+ "Control_v",
+ "Control_w",
+ "Control_x",
+ "Control_y",
+ "Control_z",
+ "Escape",
+ "Control_backslash",
+ "Control_bracketright",
+ "Control_asciicircum",
+ "Control_underscore",
+ "space",
+ "exclam",
+ "quotedbl",
+ "numbersign",
+ "dollar",
+ "percent",
+ "ampersand",
+ "apostrophe",
+ "parenleft",
+ "parenright",
+ "asterisk",
+ "plus",
+ "comma",
+ "minus",
+ "period",
+ "slash",
+ "zero",
+ "one",
+ "two",
+ "three",
+ "four",
+ "five",
+ "six",
+ "seven",
+ "eight",
+ "nine",
+ "colon",
+ "semicolon",
+ "less",
+ "equal",
+ "greater",
+ "question",
+ "at",
+ "A",
+ "B",
+ "C",
+ "D",
+ "E",
+ "F",
+ "G",
+ "H",
+ "I",
+ "J",
+ "K",
+ "L",
+ "M",
+ "N",
+ "O",
+ "P",
+ "Q",
+ "R",
+ "S",
+ "T",
+ "U",
+ "V",
+ "W",
+ "X",
+ "Y",
+ "Z",
+ "bracketleft",
+ "backslash",
+ "bracketright",
+ "asciicircum",
+ "underscore",
+ "grave",
+ "a",
+ "b",
+ "c",
+ "d",
+ "e",
+ "f",
+ "g",
+ "h",
+ "i",
+ "j",
+ "k",
+ "l",
+ "m",
+ "n",
+ "o",
+ "p",
+ "q",
+ "r",
+ "s",
+ "t",
+ "u",
+ "v",
+ "w",
+ "x",
+ "y",
+ "z",
+ "braceleft",
+ "bar",
+ "braceright",
+ "asciitilde",
+ "Delete",
+
+ /* set_charset() fills in charset dependent strings here. */
+ /* start with the latin1 defaults */
+ "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "",
+ "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "",
+ "nobreakspace",
+ "exclamdown",
+ "cent",
+ "sterling",
+ "currency",
+ "yen",
+ "brokenbar",
+ "section",
+ "diaeresis",
+ "copyright",
+ "ordfeminine",
+ "guillemotleft",
+ "notsign",
+ "hyphen",
+ "registered",
+ "macron",
+ "degree",
+ "plusminus",
+ "twosuperior",
+ "threesuperior",
+ "acute",
+ "mu",
+ "paragraph",
+ "periodcentered",
+ "cedilla",
+ "onesuperior",
+ "masculine",
+ "guillemotright",
+ "onequarter",
+ "onehalf",
+ "threequarters",
+ "questiondown",
+ "Agrave",
+ "Aacute",
+ "Acircumflex",
+ "Atilde",
+ "Adiaeresis",
+ "Aring",
+ "AE",
+ "Ccedilla",
+ "Egrave",
+ "Eacute",
+ "Ecircumflex",
+ "Ediaeresis",
+ "Igrave",
+ "Iacute",
+ "Icircumflex",
+ "Idiaeresis",
+ "ETH",
+ "Ntilde",
+ "Ograve",
+ "Oacute",
+ "Ocircumflex",
+ "Otilde",
+ "Odiaeresis",
+ "multiply",
+ "Ooblique",
+ "Ugrave",
+ "Uacute",
+ "Ucircumflex",
+ "Udiaeresis",
+ "Yacute",
+ "THORN",
+ "ssharp",
+ "agrave",
+ "aacute",
+ "acircumflex",
+ "atilde",
+ "adiaeresis",
+ "aring",
+ "ae",
+ "ccedilla",
+ "egrave",
+ "eacute",
+ "ecircumflex",
+ "ediaeresis",
+ "igrave",
+ "iacute",
+ "icircumflex",
+ "idiaeresis",
+ "eth",
+ "ntilde",
+ "ograve",
+ "oacute",
+ "ocircumflex",
+ "otilde",
+ "odiaeresis",
+ "division",
+ "oslash",
+ "ugrave",
+ "uacute",
+ "ucircumflex",
+ "udiaeresis",
+ "yacute",
+ "thorn",
+ "ydiaeresis",
+};
+
+
+
+/*
+ * Keysyms whose KTYP is KT_FN.
+ */
+static const char *
+const fn_syms[] = {
+ "F1", "F2", "F3", "F4", "F5",
+ "F6", "F7", "F8", "F9", "F10",
+ "F11", "F12", "F13", "F14", "F15",
+ "F16", "F17", "F18", "F19", "F20",
+ "Find", /* also called: "Home" */
+ "Insert",
+ "Remove",
+ "Select", /* also called: "End" */
+ "Prior", /* also called: "PageUp" */
+ "Next", /* also called: "PageDown" */
+ "Macro",
+ "Help",
+ "Do",
+ "Pause",
+ "F21", "F22", "F23", "F24", "F25",
+ "F26", "F27", "F28", "F29", "F30",
+ "F31", "F32", "F33", "F34", "F35",
+ "F36", "F37", "F38", "F39", "F40",
+ "F41", "F42", "F43", "F44", "F45",
+ "F46", "F47", "F48", "F49", "F50",
+ "F51", "F52", "F53", "F54", "F55",
+ "F56", "F57", "F58", "F59", "F60",
+ "F61", "F62", "F63", "F64", "F65",
+ "F66", "F67", "F68", "F69", "F70",
+ "F71", "F72", "F73", "F74", "F75",
+ "F76", "F77", "F78", "F79", "F80",
+ "F81", "F82", "F83", "F84", "F85",
+ "F86", "F87", "F88", "F89", "F90",
+ "F91", "F92", "F93", "F94", "F95",
+ "F96", "F97", "F98", "F99", "F100",
+ "F101", "F102", "F103", "F104", "F105",
+ "F106", "F107", "F108", "F109", "F110",
+ "F111", "F112", "F113", "F114", "F115",
+ "F116", "F117", "F118", "F119", "F120",
+ "F121", "F122", "F123", "F124", "F125",
+ "F126", "F127", "F128", "F129", "F130",
+ "F131", "F132", "F133", "F134", "F135",
+ "F136", "F137", "F138", "F139", "F140",
+ "F141", "F142", "F143", "F144", "F145",
+ "F146", "F147", "F148", "F149", "F150",
+ "F151", "F152", "F153", "F154", "F155",
+ "F156", "F157", "F158", "F159", "F160",
+ "F161", "F162", "F163", "F164", "F165",
+ "F166", "F167", "F168", "F169", "F170",
+ "F171", "F172", "F173", "F174", "F175",
+ "F176", "F177", "F178", "F179", "F180",
+ "F181", "F182", "F183", "F184", "F185",
+ "F186", "F187", "F188", "F189", "F190",
+ "F191", "F192", "F193", "F194", "F195",
+ "F196", "F197", "F198", "F199", "F200",
+ "F201", "F202", "F203", "F204", "F205",
+ "F206", "F207", "F208", "F209", "F210",
+ "F211", "F212", "F213", "F214", "F215",
+ "F216", "F217", "F218", "F219", "F220",
+ "F221", "F222", "F223", "F224", "F225",
+ "F226", "F227", "F228", "F229", "F230",
+ "F231", "F232", "F233", "F234", "F235",
+ "F236", "F237", "F238", "F239", "F240",
+ "F241", "F242", "F243", "F244", "F245",
+ "F246" /* there are 10 keys named Insert etc., total 256 */
+};
+
+/*
+ * Keysyms whose KTYP is KT_SPEC.
+ */
+static const char *
+const spec_syms[] = {
+ "VoidSymbol",
+ "Return",
+ "Show_Registers",
+ "Show_Memory",
+ "Show_State",
+ "Break",
+ "Last_Console",
+ "Caps_Lock",
+ "Num_Lock",
+ "Scroll_Lock",
+ "Scroll_Forward",
+ "Scroll_Backward",
+ "Boot",
+ "Caps_On",
+ "Compose",
+ "SAK",
+ "Decr_Console",
+ "Incr_Console",
+ "KeyboardSignal",
+ "Bare_Num_Lock"
+};
+
+/*
+ * Keysyms whose KTYP is KT_PAD.
+ */
+static const char *
+const pad_syms[] = {
+ "KP_0",
+ "KP_1",
+ "KP_2",
+ "KP_3",
+ "KP_4",
+ "KP_5",
+ "KP_6",
+ "KP_7",
+ "KP_8",
+ "KP_9",
+ "KP_Add",
+ "KP_Subtract",
+ "KP_Multiply",
+ "KP_Divide",
+ "KP_Enter",
+ "KP_Comma",
+ "KP_Period",
+ "KP_MinPlus"
+};
+
+/*
+ * Keysyms whose KTYP is KT_DEAD.
+ */
+static const char *
+const dead_syms[] = {
+ "dead_grave",
+ "dead_acute",
+ "dead_circumflex",
+ "dead_tilde",
+ "dead_diaeresis",
+ "dead_cedilla"
+};
+
+/*
+ * Keysyms whose KTYP is KT_CONS.
+ */
+static const char *
+const cons_syms[] = {
+ "Console_1",
+ "Console_2",
+ "Console_3",
+ "Console_4",
+ "Console_5",
+ "Console_6",
+ "Console_7",
+ "Console_8",
+ "Console_9",
+ "Console_10",
+ "Console_11",
+ "Console_12",
+ "Console_13",
+ "Console_14",
+ "Console_15",
+ "Console_16",
+ "Console_17",
+ "Console_18",
+ "Console_19",
+ "Console_20",
+ "Console_21",
+ "Console_22",
+ "Console_23",
+ "Console_24",
+ "Console_25",
+ "Console_26",
+ "Console_27",
+ "Console_28",
+ "Console_29",
+ "Console_30",
+ "Console_31",
+ "Console_32",
+ "Console_33",
+ "Console_34",
+ "Console_35",
+ "Console_36",
+ "Console_37",
+ "Console_38",
+ "Console_39",
+ "Console_40",
+ "Console_41",
+ "Console_42",
+ "Console_43",
+ "Console_44",
+ "Console_45",
+ "Console_46",
+ "Console_47",
+ "Console_48",
+ "Console_49",
+ "Console_50",
+ "Console_51",
+ "Console_52",
+ "Console_53",
+ "Console_54",
+ "Console_55",
+ "Console_56",
+ "Console_57",
+ "Console_58",
+ "Console_59",
+ "Console_60",
+ "Console_61",
+ "Console_62",
+ "Console_63"
+};
+
+/*
+ * Keysyms whose KTYP is KT_CUR.
+ */
+static const char *
+const cur_syms[] = {
+ "Down",
+ "Left",
+ "Right",
+ "Up"
+};
+
+/*
+ * Keysyms whose KTYP is KT_SHIFT.
+ */
+static const char *
+const shift_syms[] = {
+ "Shift",
+ "AltGr",
+ "Control",
+ "Alt",
+ "ShiftL",
+ "ShiftR",
+ "CtrlL",
+ "CtrlR",
+ "CapsShift"
+};
+
+/*
+ * Keysyms whose KTYP is KT_ASCII.
+ */
+static const char *
+const ascii_syms[] = {
+ "Ascii_0",
+ "Ascii_1",
+ "Ascii_2",
+ "Ascii_3",
+ "Ascii_4",
+ "Ascii_5",
+ "Ascii_6",
+ "Ascii_7",
+ "Ascii_8",
+ "Ascii_9",
+ "Hex_0",
+ "Hex_1",
+ "Hex_2",
+ "Hex_3",
+ "Hex_4",
+ "Hex_5",
+ "Hex_6",
+ "Hex_7",
+ "Hex_8",
+ "Hex_9",
+ "Hex_A",
+ "Hex_B",
+ "Hex_C",
+ "Hex_D",
+ "Hex_E",
+ "Hex_F"
+};
+
+/*
+ * Keysyms whose KTYP is KT_LOCK.
+ */
+static const char *
+const lock_syms[] = {
+ "Shift_Lock",
+ "AltGr_Lock",
+ "Control_Lock",
+ "Alt_Lock",
+ "ShiftL_Lock",
+ "ShiftR_Lock",
+ "CtrlL_Lock",
+ "CtrlR_Lock",
+ "CapsShift_Lock"
+};
+
+/*
+ * Keysyms whose KTYP is KT_SLOCK.
+ */
+static const char *
+const sticky_syms[] = {
+ "SShift",
+ "SAltGr",
+ "SControl",
+ "SAlt",
+ "SShiftL",
+ "SShiftR",
+ "SCtrlL",
+ "SCtrlR",
+ "SCapsShift"
+};
+
+/*
+ * Keysyms whose KTYP is KT_BRL.
+ */
+static const char *
+const brl_syms[] = {
+ "Brl_blank",
+ "Brl_dot1",
+ "Brl_dot2",
+ "Brl_dot3",
+ "Brl_dot4",
+ "Brl_dot5",
+ "Brl_dot6",
+ "Brl_dot7",
+ "Brl_dot8",
+ "Brl_dot9",
+ "Brl_dot10"
+};
diff --git a/src/libkeymap/syms.latin1.h b/src/libkeymap/syms.latin1.h
new file mode 100644
index 0000000..cc718ea
--- /dev/null
+++ b/src/libkeymap/syms.latin1.h
@@ -0,0 +1,103 @@
+/*
+ * Keysyms whose KTYP is KT_LATIN or KT_LETTER and whose KVAL is 128..255,
+ * and their Unicode equivalent.
+ */
+static sym
+const latin1_syms[] = {
+ { 0x00a0, "nobreakspace" },
+ { 0x00a1, "exclamdown" },
+ { 0x00a2, "cent" },
+ { 0x00a3, "sterling" },
+ { 0x00a4, "currency" },
+ { 0x00a5, "yen" },
+ { 0x00a6, "brokenbar" },
+ { 0x00a7, "section" },
+ { 0x00a8, "diaeresis" },
+ { 0x00a9, "copyright" },
+ { 0x00aa, "ordfeminine" },
+ { 0x00ab, "guillemotleft" },
+ { 0x00ac, "notsign" },
+ { 0x00ad, "hyphen" },
+ { 0x00ae, "registered" },
+ { 0x00af, "macron" },
+ { 0x00b0, "degree" },
+ { 0x00b1, "plusminus" },
+ { 0x00b2, "twosuperior" },
+ { 0x00b3, "threesuperior" },
+ { 0x00b4, "acute" },
+ { 0x00b5, "mu" },
+ { 0x00b6, "paragraph" },
+ { 0x00b7, "periodcentered" },
+ { 0x00b8, "cedilla" },
+ { 0x00b9, "onesuperior" },
+ { 0x00ba, "masculine" },
+ { 0x00bb, "guillemotright" },
+ { 0x00bc, "onequarter" },
+ { 0x00bd, "onehalf" },
+ { 0x00be, "threequarters" },
+ { 0x00bf, "questiondown" },
+ { 0x00c0, "Agrave" },
+ { 0x00c1, "Aacute" },
+ { 0x00c2, "Acircumflex" },
+ { 0x00c3, "Atilde" },
+ { 0x00c4, "Adiaeresis" },
+ { 0x00c5, "Aring" },
+ { 0x00c6, "AE" },
+ { 0x00c7, "Ccedilla" },
+ { 0x00c8, "Egrave" },
+ { 0x00c9, "Eacute" },
+ { 0x00ca, "Ecircumflex" },
+ { 0x00cb, "Ediaeresis" },
+ { 0x00cc, "Igrave" },
+ { 0x00cd, "Iacute" },
+ { 0x00ce, "Icircumflex" },
+ { 0x00cf, "Idiaeresis" },
+ { 0x00d0, "ETH" },
+ { 0x00d1, "Ntilde" },
+ { 0x00d2, "Ograve" },
+ { 0x00d3, "Oacute" },
+ { 0x00d4, "Ocircumflex" },
+ { 0x00d5, "Otilde" },
+ { 0x00d6, "Odiaeresis" },
+ { 0x00d7, "multiply" },
+ { 0x00d8, "Ooblique" },
+ { 0x00d9, "Ugrave" },
+ { 0x00da, "Uacute" },
+ { 0x00db, "Ucircumflex" },
+ { 0x00dc, "Udiaeresis" },
+ { 0x00dd, "Yacute" },
+ { 0x00de, "THORN" },
+ { 0x00df, "ssharp" },
+ { 0x00e0, "agrave" },
+ { 0x00e1, "aacute" },
+ { 0x00e2, "acircumflex" },
+ { 0x00e3, "atilde" },
+ { 0x00e4, "adiaeresis" },
+ { 0x00e5, "aring" },
+ { 0x00e6, "ae" },
+ { 0x00e7, "ccedilla" },
+ { 0x00e8, "egrave" },
+ { 0x00e9, "eacute" },
+ { 0x00ea, "ecircumflex" },
+ { 0x00eb, "ediaeresis" },
+ { 0x00ec, "igrave" },
+ { 0x00ed, "iacute" },
+ { 0x00ee, "icircumflex" },
+ { 0x00ef, "idiaeresis" },
+ { 0x00f0, "eth" },
+ { 0x00f1, "ntilde" },
+ { 0x00f2, "ograve" },
+ { 0x00f3, "oacute" },
+ { 0x00f4, "ocircumflex" },
+ { 0x00f5, "otilde" },
+ { 0x00f6, "odiaeresis" },
+ { 0x00f7, "division" },
+ { 0x00f8, "oslash" },
+ { 0x00f9, "ugrave" },
+ { 0x00fa, "uacute" },
+ { 0x00fb, "ucircumflex" },
+ { 0x00fc, "udiaeresis" },
+ { 0x00fd, "yacute" },
+ { 0x00fe, "thorn" },
+ { 0x00ff, "ydiaeresis" }
+};
diff --git a/src/libkeymap/syms.latin2.h b/src/libkeymap/syms.latin2.h
new file mode 100644
index 0000000..19a8949
--- /dev/null
+++ b/src/libkeymap/syms.latin2.h
@@ -0,0 +1,99 @@
+static sym
+const latin2_syms[] = {
+ { 0x00a0, "" }, /* 0240 */
+ { 0x0104, "Aogonek" },
+ { 0x02d8, "breve" },
+ { 0x0141, "Lstroke" },
+ { 0x00a4, "" },
+ { 0x013d, "Lcaron" },
+ { 0x015a, "Sacute" },
+ { 0x00a7, "" },
+ { 0x00a8, "" },
+ { 0x0160, "Scaron" },
+ { 0x015e, "Scedilla" },
+ { 0x0164, "Tcaron" },
+ { 0x0179, "Zacute" },
+ { 0x00ad, "" },
+ { 0x017d, "Zcaron" },
+ { 0x017b, "Zabovedot" },
+ { 0x00b0, "" },
+ { 0x0105, "aogonek" },
+ { 0x02db, "ogonek" },
+ { 0x0142, "lstroke" },
+ { 0x00b4, "" },
+ { 0x013e, "lcaron" },
+ { 0x015b, "sacute" },
+ { 0x02c7, "caron" },
+ { 0x00b8, "" },
+ { 0x0161, "scaron" },
+ { 0x015f, "scedilla" },
+ { 0x0165, "tcaron" },
+ { 0x017a, "zacute" },
+ { 0x02dd, "doubleacute" },
+ { 0x017e, "zcaron" },
+ { 0x017c, "zabovedot" },
+ { 0x0154, "Racute" }, /* 0300 */
+ { 0x00c1, "" },
+ { 0x00c2, "" },
+ { 0x0102, "Abreve" },
+ { 0x00c4, "" },
+ { 0x0139, "Lacute" },
+ { 0x0106, "Cacute" },
+ { 0x00c7, "" },
+ { 0x010c, "Ccaron" },
+ { 0x00c9, "" },
+ { 0x0118, "Eogonek" },
+ { 0x00cb, "" },
+ { 0x011a, "Ecaron" },
+ { 0x00cd, "" },
+ { 0x00ce, "" },
+ { 0x010e, "Dcaron" },
+ { 0x0110, "Dstroke" },
+ { 0x0143, "Nacute" },
+ { 0x0147, "Ncaron" },
+ { 0x00d3, "" },
+ { 0x00d4, "" },
+ { 0x0150, "Odoubleacute" },
+ { 0x00d6, "" },
+ { 0x00d7, "" },
+ { 0x0158, "Rcaron" },
+ { 0x016e, "Uring" },
+ { 0x00da, "" },
+ { 0x0170, "Udoubleacute" },
+ { 0x00dc, "" },
+ { 0x00dd, "" },
+ { 0x0162, "Tcedilla" },
+ { 0x00df, "" },
+ { 0x0155, "racute" },
+ { 0x00e1, "" },
+ { 0x00e2, "" },
+ { 0x0103, "abreve" },
+ { 0x00e4, "" },
+ { 0x013a, "lacute" },
+ { 0x0107, "cacute" },
+ { 0x00e7, "" },
+ { 0x010d, "ccaron" },
+ { 0x00e9, "" },
+ { 0x0119, "eogonek" },
+ { 0x00eb, "" },
+ { 0x011b, "ecaron" },
+ { 0x00ed, "" },
+ { 0x00ee, "" },
+ { 0x010f, "dcaron" },
+ { 0x0111, "dstroke" },
+ { 0x0144, "nacute" },
+ { 0x0148, "ncaron" },
+ { 0x00f3, "" },
+ { 0x00f4, "" },
+ { 0x0151, "odoubleacute" },
+ { 0x00f6, "" },
+ { 0x00f7, "" },
+ { 0x0159, "rcaron" },
+ { 0x016f, "uring" },
+ { 0x00fa, "" },
+ { 0x0171, "udoubleacute" },
+ { 0x00fc, "" },
+ { 0x00fd, "" },
+ { 0x0163, "tcedilla" },
+ { 0x02d9, "abovedot" }
+};
diff --git a/src/libkeymap/syms.latin3.h b/src/libkeymap/syms.latin3.h
new file mode 100644
index 0000000..858e1a9
--- /dev/null
+++ b/src/libkeymap/syms.latin3.h
@@ -0,0 +1,99 @@
+static sym
+const latin3_syms[] = {
+ { 0x00a0, "" },
+ { 0x0126, "Hstroke" },
+ { 0x02d8, "" },
+ { 0x00a3, "" },
+ { 0x00a4, "" },
+ { 0xfffd, "" },
+ { 0x0124, "Hcircumflex" },
+ { 0x00a7, "" },
+ { 0x00a8, "" },
+ { 0x0130, "Iabovedot" },
+ { 0x015e, "" },
+ { 0x011e, "Gbreve" },
+ { 0x0134, "Jcircumflex" },
+ { 0x00ad, "" },
+ { 0xfffd, "" },
+ { 0x017b, "" },
+ { 0x00b0, "" },
+ { 0x0127, "hstroke" },
+ { 0x00b2, "" },
+ { 0x00b3, "" },
+ { 0x00b4, "" },
+ { 0x00b5, "" },
+ { 0x0125, "hcircumflex" },
+ { 0x00b7, "" },
+ { 0x00b8, "" },
+ { 0x0131, "idotless" },
+ { 0x015f, "" },
+ { 0x011f, "gbreve" },
+ { 0x0135, "jcircumflex" },
+ { 0x00bd, "" },
+ { 0xfffd, "" },
+ { 0x017c, "" },
+ { 0x00c0, "" },
+ { 0x00c1, "" },
+ { 0x00c2, "" },
+ { 0xfffd, "" },
+ { 0x00c4, "" },
+ { 0x010a, "Cabovedot" },
+ { 0x0108, "Ccircumflex" },
+ { 0x00c7, "" },
+ { 0x00c8, "" },
+ { 0x00c9, "" },
+ { 0x00ca, "" },
+ { 0x00cb, "" },
+ { 0x00cc, "" },
+ { 0x00cd, "" },
+ { 0x00ce, "" },
+ { 0x00cf, "" },
+ { 0xfffd, "" },
+ { 0x00d1, "" },
+ { 0x00d2, "" },
+ { 0x00d3, "" },
+ { 0x00d4, "" },
+ { 0x0120, "Gabovedot" },
+ { 0x00d6, "" },
+ { 0x00d7, "" },
+ { 0x011c, "Gcircumflex" },
+ { 0x00d9, "" },
+ { 0x00da, "" },
+ { 0x00db, "" },
+ { 0x00dc, "" },
+ { 0x016c, "Ubreve" },
+ { 0x015c, "Scircumflex" },
+ { 0x00df, "" },
+ { 0x00e0, "" },
+ { 0x00e1, "" },
+ { 0x00e2, "" },
+ { 0xfffd, "" },
+ { 0x00e4, "" },
+ { 0x010b, "cabovedot" },
+ { 0x0109, "ccircumflex" },
+ { 0x00e7, "" },
+ { 0x00e8, "" },
+ { 0x00e9, "" },
+ { 0x00ea, "" },
+ { 0x00eb, "" },
+ { 0x00ec, "" },
+ { 0x00ed, "" },
+ { 0x00ee, "" },
+ { 0x00ef, "" },
+ { 0xfffd, "" },
+ { 0x00f1, "" },
+ { 0x00f2, "" },
+ { 0x00f3, "" },
+ { 0x00f4, "" },
+ { 0x0121, "gabovedot" },
+ { 0x00f6, "" },
+ { 0x00f7, "" },
+ { 0x011d, "gcircumflex" },
+ { 0x00f9, "" },
+ { 0x00fa, "" },
+ { 0x00fb, "" },
+ { 0x00fc, "" },
+ { 0x016d, "ubreve" },
+ { 0x015d, "scircumflex" },
+ { 0x02d9, "" }
+};
diff --git a/src/libkeymap/syms.latin4.h b/src/libkeymap/syms.latin4.h
new file mode 100644
index 0000000..1a7938a
--- /dev/null
+++ b/src/libkeymap/syms.latin4.h
@@ -0,0 +1,99 @@
+static sym
+const latin4_syms[] = {
+ { 0x00a0, "" },
+ { 0x0104, "" },
+ { 0x0138, "kra" },
+ { 0x0156, "Rcedilla" },
+ { 0x00a4, "" },
+ { 0x0128, "Itilde" },
+ { 0x013b, "Lcedilla" },
+ { 0x00a7, "" },
+ { 0x00a8, "" },
+ { 0x0160, "" },
+ { 0x0112, "Emacron" },
+ { 0x0122, "Gcedilla" },
+ { 0x0166, "Tslash" },
+ { 0x00ad, "" },
+ { 0x017d, "" },
+ { 0x00af, "" },
+ { 0x00b0, "" },
+ { 0x0105, "" },
+ { 0x02db, "" },
+ { 0x0157, "rcedilla" },
+ { 0x00b4, "" },
+ { 0x0129, "itilde" },
+ { 0x013c, "lcedilla" },
+ { 0x02c7, "" },
+ { 0x00b8, "" },
+ { 0x0161, "" },
+ { 0x0113, "emacron" },
+ { 0x0123, "gcedilla" },
+ { 0x0167, "tslash" },
+ { 0x014a, "ENG" },
+ { 0x017e, "" },
+ { 0x014b, "eng" },
+ { 0x0100, "Amacron" },
+ { 0x00c1, "" },
+ { 0x00c2, "" },
+ { 0x00c3, "" },
+ { 0x00c4, "" },
+ { 0x00c5, "" },
+ { 0x00c6, "" },
+ { 0x012e, "Iogonek" },
+ { 0x010c, "" },
+ { 0x00c9, "" },
+ { 0x0118, "" },
+ { 0x00cb, "" },
+ { 0x0116, "Eabovedot" },
+ { 0x00cd, "" },
+ { 0x00ce, "" },
+ { 0x012a, "Imacron" },
+ { 0x0110, "" },
+ { 0x0145, "Ncedilla" },
+ { 0x014c, "Omacron" },
+ { 0x0136, "Kcedilla" },
+ { 0x00d4, "" },
+ { 0x00d5, "" },
+ { 0x00d6, "" },
+ { 0x00d7, "" },
+ { 0x00d8, "" },
+ { 0x0172, "Uogonek" },
+ { 0x00da, "" },
+ { 0x00db, "" },
+ { 0x00dc, "" },
+ { 0x0168, "Utilde" },
+ { 0x016a, "Umacron" },
+ { 0x00df, "" },
+ { 0x0101, "amacron" },
+ { 0x00e1, "" },
+ { 0x00e2, "" },
+ { 0x00e3, "" },
+ { 0x00e4, "" },
+ { 0x00e5, "" },
+ { 0x00e6, "" },
+ { 0x012f, "iogonek" },
+ { 0x010d, "" },
+ { 0x00e9, "" },
+ { 0x0119, "" },
+ { 0x00eb, "" },
+ { 0x0117, "eabovedot" },
+ { 0x00ed, "" },
+ { 0x00ee, "" },
+ { 0x012b, "imacron" },
+ { 0x0111, "" },
+ { 0x0146, "ncedilla" },
+ { 0x014d, "omacron" },
+ { 0x0137, "kcedilla" },
+ { 0x00f4, "" },
+ { 0x00f5, "" },
+ { 0x00f6, "" },
+ { 0x00f7, "" },
+ { 0x00f8, "" },
+ { 0x0173, "uogonek" },
+ { 0x00fa, "" },
+ { 0x00fb, "" },
+ { 0x00fc, "" },
+ { 0x0169, "utilde" },
+ { 0x016b, "umacron" },
+ { 0x02d9, "" }
+};
diff --git a/src/libkeymap/syms.mazovia.h b/src/libkeymap/syms.mazovia.h
new file mode 100644
index 0000000..af46c48
--- /dev/null
+++ b/src/libkeymap/syms.mazovia.h
@@ -0,0 +1,132 @@
+static sym
+const mazovia_syms[] = {
+ /* as specified by Wlodek Bzyl <matwb@univ.gda.pl> */
+ { 0x0080, "" },
+ { 0x0081, "" },
+ { 0x0082, "" },
+ { 0x0083, "" },
+ { 0x0084, "" },
+ { 0x0085, "" },
+ { 0x0105, "aogonek" },
+ { 0x0087, "" },
+ { 0x0088, "" },
+ { 0x0089, "" },
+ { 0x008a, "" },
+ { 0x008b, "" },
+ { 0x008c, "" },
+ { 0x0107, "cacute" },
+ { 0x008e, "" },
+ { 0x0104, "Aogonek" },
+ { 0x0118, "Eogonek" },
+ { 0x0119, "eogonek" },
+ { 0x0142, "lstroke" },
+ { 0x0093, "" },
+ { 0x0094, "" },
+ { 0x0106, "Cacute" },
+ { 0x0096, "" },
+ { 0x0097, "" },
+ { 0x015a, "Sacute" },
+ { 0x0099, "" },
+ { 0x009a, "" },
+ { 0x009b, "" },
+ { 0x0141, "Lstroke" },
+ { 0x009d, "" },
+ { 0x015b, "sacute" },
+ { 0x009f, "" },
+ { 0x0179, "Zacute" },
+ { 0x017b, "Zabovedot" },
+ { 0x00f3, "oacute" },
+ { 0x00d3, "Oacute" },
+ { 0x0144, "nacute" },
+ { 0x0143, "Nacute" },
+ { 0x017a, "zacute" },
+ { 0x017c, "zabovedot" },
+ { 0x00a8, "" },
+ { 0x00a9, "" },
+ { 0x00aa, "" },
+ { 0x00ab, "" },
+ { 0x00ac, "" },
+ { 0x00ad, "" },
+ { 0x00ab, "guillemotleft" },
+ { 0x00bb, "guillemotright" },
+ { 0x00b0, "" },
+ { 0x00b1, "" },
+ { 0x00b2, "" },
+ { 0x00b3, "" },
+ { 0x00b4, "" },
+ { 0x00b5, "" },
+ { 0x00b6, "" },
+ { 0x00b7, "" },
+ { 0x00b8, "" },
+ { 0x00b9, "" },
+ { 0x00ba, "" },
+ { 0x00bb, "" },
+ { 0x00bc, "" },
+ { 0x00bd, "" },
+ { 0x00be, "" },
+ { 0x00bf, "" },
+ { 0x00c0, "" },
+ { 0x00c1, "" },
+ { 0x00c2, "" },
+ { 0x00c3, "" },
+ { 0x00c4, "" },
+ { 0x00c5, "" },
+ { 0x00c6, "" },
+ { 0x00c7, "" },
+ { 0x00c8, "" },
+ { 0x00c9, "" },
+ { 0x00ca, "" },
+ { 0x00cb, "" },
+ { 0x00cc, "" },
+ { 0x00cd, "" },
+ { 0x00ce, "" },
+ { 0x00cf, "" },
+ { 0x00d0, "" },
+ { 0x00d1, "" },
+ { 0x00d2, "" },
+ { 0x00d3, "" },
+ { 0x00d4, "" },
+ { 0x00d5, "" },
+ { 0x00d6, "" },
+ { 0x00d7, "" },
+ { 0x00d8, "" },
+ { 0x00d9, "" },
+ { 0x00da, "" },
+ { 0x00db, "" },
+ { 0x00dc, "" },
+ { 0x00dd, "" },
+ { 0x00de, "" },
+ { 0x00df, "" },
+ { 0x00e0, "" },
+ { 0x00e1, "" },
+ { 0x00e2, "" },
+ { 0x00e3, "" },
+ { 0x00e4, "" },
+ { 0x00e5, "" },
+ { 0x00e6, "" },
+ { 0x00e7, "" },
+ { 0x00e8, "" },
+ { 0x00e9, "" },
+ { 0x00ea, "" },
+ { 0x00eb, "" },
+ { 0x00ec, "" },
+ { 0x00ed, "" },
+ { 0x00ee, "" },
+ { 0x00ef, "" },
+ { 0x00f0, "" },
+ { 0x00f1, "" },
+ { 0x00f2, "" },
+ { 0x00f3, "" },
+ { 0x00f4, "" },
+ { 0x00f5, "" },
+ { 0x00f6, "" },
+ { 0x00f7, "" },
+ { 0x00f8, "" },
+ { 0x00f9, "" },
+ { 0x00fa, "" },
+ { 0x00fb, "" },
+ { 0x00fc, "" },
+ { 0x00fd, "" },
+ { 0x00fe, "" },
+ { 0x201e, "quotedblbase" }
+};
diff --git a/src/sami.syms.h b/src/libkeymap/syms.sami.h
similarity index 97%
rename from src/sami.syms.h
rename to src/libkeymap/syms.sami.h
index d3a578b..5e922d3 100644
--- a/src/sami.syms.h
+++ b/src/libkeymap/syms.sami.h
@@ -6,7 +6,8 @@
* { "iso-ir-197", iso_ir_197_syms, nn },
*/
-static sym iso_ir_197_syms[] = {
+static sym
+const iso_ir_197_syms[] = {
{ 0x00a0, "nobreakspace" },
{ 0x010c, "Ccaron" },
{ 0x010d, "ccaron" },
@@ -117,7 +118,8 @@
* 0xBB 0x021F # LATIN SMALL LETTER H WITH CARON
*/
-static sym iso_ir_209_syms[] = {
+static sym
+const iso_ir_209_syms[] = {
{ 0x00a0, "nobreakspace" },
{ 0x010c, "Ccaron" },
{ 0x010d, "ccaron" },
@@ -216,7 +218,8 @@
{ 0x00ff, "ydiaeresis" },
};
-static sym latin6_syms[] = {
+static sym
+const latin6_syms[] = {
{ 0x00a0, "nobreakspace" },
{ 0x0104, "Aogonek" },
{ 0x0112, "Emacron" },
diff --git a/src/libkeymap/syms.synonyms.h b/src/libkeymap/syms.synonyms.h
new file mode 100644
index 0000000..f0a5016
--- /dev/null
+++ b/src/libkeymap/syms.synonyms.h
@@ -0,0 +1,76 @@
+struct syn
+const synonyms[] = {
+ { "Control_h", "BackSpace" },
+ { "Control_i", "Tab" },
+ { "Control_j", "Linefeed" },
+ { "Home", "Find" },
+/* Unfortunately Delete already denotes ASCII 0177 */
+/* { "Delete", "Remove" }, */
+ { "End", "Select" },
+ { "PageUp", "Prior" },
+ { "PageDown", "Next" },
+ { "multiplication", "multiply" },
+ { "pound", "sterling" },
+ { "pilcrow", "paragraph" },
+ { "Oslash", "Ooblique" },
+ { "Shift_L", "ShiftL" },
+ { "Shift_R", "ShiftR" },
+ { "Control_L", "CtrlL" },
+ { "Control_R", "CtrlR" },
+ { "AltL", "Alt" },
+ { "AltR", "AltGr" },
+ { "Alt_L", "Alt" },
+ { "Alt_R", "AltGr" },
+ { "AltGr_L", "Alt" },
+ { "AltGr_R", "AltGr" },
+ { "AltLLock", "Alt_Lock" },
+ { "AltRLock", "AltGr_Lock" },
+ { "SCtrl", "SControl" },
+ { "Spawn_Console", "KeyboardSignal" },
+ { "Uncaps_Shift", "CapsShift" },
+/* the names of the Greek letters are spelled differently
+ in the iso-8859-7 and the Unicode standards */
+ { "lambda", "lamda" },
+ { "Lambda", "Lamda" },
+ { "xi", "ksi" },
+ { "Xi", "Ksi" },
+ { "chi", "khi" },
+ { "Chi", "Khi" },
+/* diacriticals */
+ { "tilde", "asciitilde" },
+ { "circumflex", "asciicircum" },
+/* as dead_ogonek, dead_caron, dead_breve and dead_doubleacute do not exist
+ * (yet), I put also compose lines for use with respectively dead_cedilla,
+ * dead_circumflex, dead_tilde and dead_tilde */
+ { "dead_ogonek", "dead_cedilla" },
+ { "dead_caron", "dead_circumflex" },
+ { "dead_breve", "dead_tilde" },
+ { "dead_doubleacute", "dead_tilde" },
+/* turkish */
+ { "Idotabove", "Iabovedot" },
+ { "dotlessi", "idotless" },
+/* cyrillic */
+ { "no-break_space", "nobreakspace" },
+ { "paragraph_sign", "section" },
+ { "soft_hyphen", "hyphen" },
+ { "bielorussian_cyrillic_capital_letter_i", "ukrainian_cyrillic_capital_letter_i" },
+ { "cyrillic_capital_letter_kha", "cyrillic_capital_letter_ha" },
+ { "cyrillic_capital_letter_ge", "cyrillic_capital_letter_ghe" },
+ { "cyrillic_capital_letter_ia", "cyrillic_capital_letter_ya" },
+ { "cyrillic_capital_letter_iu", "cyrillic_capital_letter_yu" },
+ { "cyrillic_capital_letter_yeri", "cyrillic_capital_letter_yeru" },
+ { "cyrillic_capital_letter_reversed_e", "cyrillic_capital_letter_e" },
+ { "cyrillic_capital_letter_ii", "cyrillic_capital_letter_i" },
+ { "cyrillic_capital_letter_short_ii", "cyrillic_capital_letter_short_i" },
+ { "bielorussian_cyrillic_small_letter_i", "ukrainian_cyrillic_small_letter_i" },
+ { "cyrillic_small_letter_kha", "cyrillic_small_letter_ha" },
+ { "cyrillic_small_letter_ge", "cyrillic_small_letter_ghe" },
+ { "cyrillic_small_letter_ia", "cyrillic_small_letter_ya" },
+ { "cyrillic_small_letter_iu", "cyrillic_small_letter_yu" },
+ { "cyrillic_small_letter_yeri", "cyrillic_small_letter_yeru" },
+ { "cyrillic_small_letter_reversed_e", "cyrillic_small_letter_e" },
+ { "cyrillic_small_letter_ii", "cyrillic_small_letter_i" },
+ { "cyrillic_small_letter_short_ii", "cyrillic_small_letter_short_i" },
+/* iso-8859-7 */
+ { "rightanglequote", "guillemotright" }
+};
diff --git a/src/thai.syms.h b/src/libkeymap/syms.thai.h
similarity index 98%
rename from src/thai.syms.h
rename to src/libkeymap/syms.thai.h
index 0502b15..90bcda9 100644
--- a/src/thai.syms.h
+++ b/src/libkeymap/syms.thai.h
@@ -2,7 +2,8 @@
* Theppitak Karoonboonyanan <thep@linux.thai.net>
*/
-static sym tis_620_syms[] = {
+static sym
+const tis_620_syms[] = {
{ 0x00a0, "nobreakspace" },
{ 0x0e01, "thai_kokai" },
{ 0x0e02, "thai_khokhai" },
diff --git a/src/loadkeys.analyze.l b/src/loadkeys.analyze.l
deleted file mode 100644
index f817c78..0000000
--- a/src/loadkeys.analyze.l
+++ /dev/null
@@ -1,442 +0,0 @@
-%option stack
-%option noyy_top_state
-%option noyywrap
-%option nounput
-%option noinput
-%{
-#define YY_NO_INPUT 1
-
-#include <stdlib.h>
-#include <unistd.h> /* readlink */
-#include <sys/param.h>
-#include <linux/kd.h>
-#include <linux/keyboard.h>
-
-#include "ksyms.h"
-#include "nls.h"
-#include "kbd.h"
-#include "paths.h"
-#include "xmalloc.h"
-#include "findfile.h"
-#include "loadkeys.h"
-
-int rvalct;
-struct kbsentry kbs_buf;
-static char *p, *pmax;
-
-extern int verbose;
-extern int yyerror(const char *s);
-extern void lkfatal(const char *fmt, ...);
-
-void stack_push(FILE *fd, int is_pipe, char *fname);
-
-/* Include file handling - unfortunately flex-specific. */
-#define MAX_INCLUDE_DEPTH 20
-static struct infile {
- FILE *fd;
- char *filename;
- int pipe;
- int linenr;
- YY_BUFFER_STATE buffer;
-} infile_stack[MAX_INCLUDE_DEPTH];
-
-char *filename = NULL;
-int line_nr = 1;
-
-static int infile_stack_ptr = -1;
-static int state_ptr = 0;
-
-void stack_push(FILE *fd, int is_pipe, char *fname) {
- if (infile_stack_ptr >= MAX_INCLUDE_DEPTH)
- lkfatal(_("includes are nested too deeply"));
-
- infile_stack_ptr++;
-
- infile_stack[infile_stack_ptr].buffer = yy_create_buffer(fd, YY_BUF_SIZE);
- infile_stack[infile_stack_ptr].fd = fd;
- infile_stack[infile_stack_ptr].pipe = is_pipe;
- infile_stack[infile_stack_ptr].filename = strdup(fname);
- infile_stack[infile_stack_ptr].linenr = line_nr;
-
- yy_switch_to_buffer(infile_stack[infile_stack_ptr].buffer);
-
- // Set global variables
- filename = infile_stack[infile_stack_ptr].filename;
- line_nr = 1;
-}
-
-static int stack_pop(void) {
- fpclose1(infile_stack[infile_stack_ptr].fd, infile_stack[infile_stack_ptr].pipe);
-
- // Free previous filename
- xfree(infile_stack[infile_stack_ptr].filename);
-
- // Destroy previous buffer
- yy_delete_buffer(infile_stack[infile_stack_ptr].buffer);
-
- infile_stack_ptr--;
-
- if (infile_stack_ptr >= 0) {
- // Set new state
- //yyin = infile_stack[infile_stack_ptr].fd; // ???
- ispipe = infile_stack[infile_stack_ptr].pipe;
- filename = infile_stack[infile_stack_ptr].filename;
- line_nr = infile_stack[infile_stack_ptr].linenr;
-
- // Switch to new buffer
- yy_switch_to_buffer(infile_stack[infile_stack_ptr].buffer);
- return 0;
- }
-
- return 1;
-}
-
-/*
- * Where shall we look for an include file?
- * Current strategy (undocumented, may change):
- *
- * 1. Look for a user-specified LOADKEYS_INCLUDE_PATH
- * 2. Try . and ../include and ../../include
- * 3. Try D and D/../include and D/../../include
- * where D is the directory from where we are loading the current file.
- * 4. Try KD/include and KD/#/include where KD = DATADIR/KEYMAPDIR.
- *
- * Expected layout:
- * KD has subdirectories amiga, atari, i386, mac, sun, include
- * KD/include contains architecture-independent stuff
- * like strings and iso-8859-x compose tables.
- * KD/i386 has subdirectories qwerty, ... and include;
- * this latter include dir contains stuff with keycode=...
- *
- * (Of course, if the present setup turns out to be reasonable,
- * then later also the other architectures will grow and get
- * subdirectories, and the hard-coded i386 below will go again.)
- *
- * People that dislike a dozen lookups for loadkeys
- * can easily do "loadkeys file_with_includes; dumpkeys > my_keymap"
- * and afterwards use only "loadkeys /fullpath/mykeymap", where no
- * lookups are required.
- */
-static char *include_dirpath0[] = { "", 0 };
-static char *include_dirpath1[] = { "", "../include/", "../../include/", 0 };
-static char *include_dirpath2[] = { 0, 0, 0, 0 };
-static char *include_dirpath3[] = {
- DATADIR "/" KEYMAPDIR "/include/",
- DATADIR "/" KEYMAPDIR "/i386/include/",
- DATADIR "/" KEYMAPDIR "/mac/include/", 0
-};
-
-static char *include_suffixes[] = { "", ".inc", 0 };
-
-static FILE *find_incl_file_near_fn(char *s, char *fn)
-{
- FILE *f = NULL;
- char *t, *te, *t1, *t2;
- int len;
-
- if (!fn)
- return NULL;
-
- t = xstrdup(fn);
- te = strrchr(t, '/');
- if (te) {
- te[1] = 0;
- len = strlen(t);
- include_dirpath2[0] = t;
- include_dirpath2[1] = t1 = xmalloc(len + 12);
- include_dirpath2[2] = t2 = xmalloc(len + 15);
- strcpy(t1, t);
- strcat(t1, "../include/");
- strcpy(t2, t);
- strcat(t2, "../../include/");
- f = findfile(s, include_dirpath2, include_suffixes);
- xfree(t1);
- xfree(t2);
- }
- xfree(t);
- return f;
-}
-
-static FILE *find_standard_incl_file(char *s)
-{
- FILE *f;
-
- f = findfile(s, include_dirpath1, include_suffixes);
- if (!f)
- f = find_incl_file_near_fn(s, filename);
-
- /* If filename is a symlink, also look near its target. */
- if (!f) {
- char buf[MAXPATHLEN], path[MAXPATHLEN], *ptr;
- unsigned int n;
-
- n = readlink(filename, buf, sizeof(buf));
- if (n > 0 && n < sizeof(buf)) {
- buf[n] = 0;
- if (buf[0] == '/') {
- f = find_incl_file_near_fn(s, buf);
-
- } else if (strlen(filename) + n < sizeof(path)) {
- strcpy(path, filename);
- path[sizeof(path) - 1] = 0;
- ptr = strrchr(path, '/');
- if (ptr)
- ptr[1] = 0;
- strcat(path, buf);
- f = find_incl_file_near_fn(s, path);
- }
- }
- }
-
- if (!f)
- f = findfile(s, include_dirpath3, include_suffixes);
- return f;
-}
-
-static FILE *find_incl_file(char *s)
-{
- FILE *f;
- char *ev;
-
- if (!s || !*s)
- return NULL;
-
- if (*s == '/') /* no path required */
- return (findfile(s, include_dirpath0, include_suffixes));
-
- if ((ev = getenv("LOADKEYS_INCLUDE_PATH")) != NULL) {
- /* try user-specified path */
- char *user_dir[2] = { 0, 0 };
- while (ev) {
- char *t = strchr(ev, ':');
- char sv = 0;
- if (t) {
- sv = *t;
- *t = 0;
- }
- user_dir[0] = ev;
- if (*ev)
- f = findfile(s, user_dir, include_suffixes);
- else /* empty string denotes system path */
- f = find_standard_incl_file(s);
- if (f)
- return f;
- if (t)
- *t++ = sv;
- ev = t;
- }
- return NULL;
- }
- return find_standard_incl_file(s);
-}
-
-static void open_include(char *s)
-{
- FILE *fd;
-
- if (verbose)
- fprintf(stdout, _("switching to %s\n"), s);
-
- fd = find_incl_file(s);
- if (!fd)
- lkfatal(_("cannot open include file %s"), s);
-
- xfree(s);
-
- stack_push(fd, ispipe, pathname);
-}
-
-%}
-%s RVALUE
-%x STR
-%x INCLSTR
-Comment #|!
-Continuation \\\n
-Eol \n
-Blank [ \t]
-Include include[ \t]*
-Decimal [1-9][0-9]*
-Octal 0[0-7]*
-Hex 0[xX][0-9a-fA-F]+
-Unicode U\+([0-9a-fA-F]){4}
-Literal [a-zA-Z][a-zA-Z_0-9]*
-Octa ([0-7]){1,3}
-Charset charset|Charset|CharSet|CHARSET
-Keymaps keymaps|Keymaps|KeyMaps|KEYMAPS
-Keycode keycode|Keycode|KeyCode|KEYCODE
-String string|String|STRING
-Equals =
-Plain plain|Plain|PLAIN
-Shift shift|Shift|SHIFT
-Control control|Control|CONTROL
-Alt alt|Alt|ALT
-AltGr altgr|Altgr|AltGr|ALTGR
-ShiftL shiftl|ShiftL|SHIFTL
-ShiftR shiftr|ShiftR|SHIFTR
-CtrlL ctrll|CtrlL|CTRLL
-CtrlR ctrlr|CtrlR|CTRLR
-CapsShift capsshift|Capsshift|CapsShift|CAPSSHIFT
-AltIsMeta [aA][lL][tT][-_][iI][sS][-_][mM][eE][tT][aA]
-Strings strings|Strings|STRINGS
-Compose compose|Compose|COMPOSE
-As as|As|AS
-Usual usual|Usual|USUAL
-For for|For|FOR
-On on|On|ON
-To to|To|TO
-%%
-%{
-/* To protect from wrong code in the higher level parser (loadkeys.y),
- * make sure we do not return a sensible value if we
- * do not intend to. (So wrong code would crash, or issue an error message.
- * I mean the code like the one for PLAIN handling in past loadkeys.y.
- * What to choose as the "bad" value: 0, -1?..
- * Well, make it equal to CODE_FOR_UNKNOWN_KSYM as the most efficient thing.
- */
-#define YYLVAL_UNDEF CODE_FOR_UNKNOWN_KSYM
-/* Every time yylex is called, initialize the associated
- * yylval to YYLVAL_UNDEF. Then it might be overwritten by specific rules. */
- yylval = YYLVAL_UNDEF;
-%}
-
-{Include} {
- yy_push_state(INCLSTR);
- state_ptr++;
- }
-<INCLSTR>\"[^\"\n]+\" {
- char *s = xstrndup(yytext+1, strlen(yytext)-2);
- /* use static pathname to store *s ? */
- open_include(s);
- while (state_ptr > 0) {
- yy_pop_state();
- state_ptr--;
- }
- }
-<INCLSTR>[^"]|\"\"|\"[^"\n]*{Eol} {
- yyerror(_("expected filename between quotes"));
- }
-<<EOF>> {
- stack_pop();
- if (!YY_CURRENT_BUFFER)
- yyterminate();
- }
-{Continuation} {
- line_nr++;
- }
-{Eol} {
- line_nr++;
- while (state_ptr > 0) {
- yy_pop_state();
- state_ptr--;
- }
- return(EOL);
- }
-{Blank}+ ; /* do nothing */
-{Comment}.*/{Eol} ; /* do nothing */
-{Equals} {
- yy_push_state(RVALUE);
- state_ptr++;
- rvalct = 0;
- return(EQUALS);
- }
-{String} {
- yy_push_state(RVALUE);
- state_ptr++;
- return(STRING);
- }
-{To} {
- yy_push_state(RVALUE);
- state_ptr++;
- return(TO);
- }
-{Unicode} {
- yylval = strtol(yytext + 1, NULL, 16);
- if (yylval >= 0xf000)
- lkfatal(_("unicode keysym out of range: %s"), yytext);
- return(UNUMBER);
- }
-{Decimal}|{Octal}|{Hex} {
- yylval = strtol(yytext, NULL, 0);
- return(NUMBER);
- }
-<RVALUE>{Literal} { return((yylval = ksymtocode(yytext, TO_AUTO)) == -1 ? ERROR : LITERAL); }
-\- { return(DASH); }
-\, { return(COMMA); }
-\+ { return(PLUS); }
-{Charset} { return(CHARSET); }
-{Keymaps} { return(KEYMAPS); }
-{Keycode} { return(KEYCODE); }
-{Plain} { return(PLAIN); }
-{Shift} { return(SHIFT); }
-{Control} { return(CONTROL); }
-{Alt} { return(ALT); }
-{AltGr} { return(ALTGR); }
-{ShiftL} { return(SHIFTL); }
-{ShiftR} { return(SHIFTR); }
-{CtrlL} { return(CTRLL); }
-{CtrlR} { return(CTRLR); }
-{CapsShift} { return(CAPSSHIFT); }
-{AltIsMeta} { return(ALT_IS_META); }
-{Strings} { return(STRINGS); }
-{Compose} { return(COMPOSE); }
-{As} { return(AS); }
-{Usual} { return(USUAL); }
-{On} { return(ON); }
-{For} { return(FOR); }
-'\\{Octa}' {
- yylval = strtol(yytext + 2, NULL, 8);
- return(CCHAR);
- }
-'\\.' {
- yylval = (unsigned char) yytext[2];
- return(CCHAR);
- }
-'.' {
- yylval = (unsigned char) yytext[1];
- return(CCHAR);
- }
-\" {
- p = (char *) kbs_buf.kb_string;
- pmax = p + sizeof(kbs_buf.kb_string) - 1;
- yy_push_state(STR);
- state_ptr++;
- }
-<STR>\\{Octa} {
- if (p >= pmax)
- lkfatal(_("string too long"));
- *p++ = strtol(yytext + 1, NULL, 8);
- }
-<STR>\\\" {
- if (p >= pmax)
- lkfatal(_("string too long"));
- *p++ = '"';
- }
-<STR>\\\\ {
- if (p >= pmax)
- lkfatal(_("string too long"));
- *p++ = '\\';
- }
-<STR>\\n {
- if (p >= pmax)
- lkfatal(_("string too long"));
- *p++ = '\n';
- }
-<STR>[^\"\\]* {
- char *ptmp = p;
- p += strlen(yytext);
- if (p > pmax)
- lkfatal(_("string too long"));
- strcpy(ptmp, yytext);
- }
-<STR>\" {
- *p = '\0';
- while (state_ptr > 0) {
- yy_pop_state();
- state_ptr--;
- }
- return(STRLITERAL);
- }
-. {
- return(ERROR); /* report any unknown characters */
- }
-%%
diff --git a/src/loadkeys.c b/src/loadkeys.c
new file mode 100644
index 0000000..6b23f68
--- /dev/null
+++ b/src/loadkeys.c
@@ -0,0 +1,260 @@
+/* loadkeys.c
+ *
+ * This file is part of kbd project.
+ * Copyright (C) 1993 Risto Kankkunen.
+ * Copyright (C) 1993 Eugene G. Crosser.
+ * Copyright (C) 1994-2007 Andries E. Brouwer.
+ * Copyright (C) 2007-2012 Alexey Gladkov <gladkov.alexey@gmail.com>
+ *
+ * This file is covered by the GNU General Public License,
+ * which should be included with kbd as the file COPYING.
+ */
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <getopt.h>
+#include <unistd.h>
+#include <sys/ioctl.h>
+
+#include "../config.h"
+#include "nls.h"
+#include "kbd.h"
+#include "paths.h"
+#include "getfd.h"
+
+#include "keymap.h"
+
+static const char *progname = NULL;
+static const char *const dirpath1[] = { "", DATADIR "/" KEYMAPDIR "/**", KERNDIR "/", 0 };
+static const char *const suffixes[] = { "", ".kmap", ".map", 0 };
+
+static void __attribute__ ((noreturn))
+usage(void)
+{
+ fprintf(stderr, _("loadkeys version %s\n"
+ "\n"
+ "Usage: %s [option...] [mapfile...]\n"
+ "\n"
+ "Valid options are:\n"
+ "\n"
+ " -a --ascii force conversion to ASCII\n"
+ " -b --bkeymap output a binary keymap to stdout\n"
+ " -c --clearcompose clear kernel compose table\n"
+ " -C --console=file\n"
+ " the console device to be used\n"
+ " -d --default load \"%s\"\n"
+ " -h --help display this help text\n"
+ " -m --mktable output a \"defkeymap.c\" to stdout\n"
+ " -q --quiet suppress all normal output\n"
+ " -s --clearstrings clear kernel string table\n"
+ " -u --unicode force conversion to Unicode\n"
+ " -v --verbose report the changes\n"),
+ PACKAGE_VERSION, progname, DEFMAP);
+ exit(EXIT_FAILURE);
+}
+
+static inline const char *
+set_progname(const char *name)
+{
+ char *p;
+ p = strrchr(name, '/');
+ return (p && p + 1 ? p + 1 : name);
+}
+
+int
+main(int argc, char *argv[])
+{
+ const char *const short_opts = "abcC:dhmsuqvV";
+ const struct option const long_opts[] = {
+ { "console", required_argument, NULL, 'C'},
+ { "ascii", no_argument, NULL, 'a' },
+ { "bkeymap", no_argument, NULL, 'b' },
+ { "clearcompose", no_argument, NULL, 'c' },
+ { "default", no_argument, NULL, 'd' },
+ { "help", no_argument, NULL, 'h' },
+ { "mktable", no_argument, NULL, 'm' },
+ { "clearstrings", no_argument, NULL, 's' },
+ { "unicode", no_argument, NULL, 'u' },
+ { "quiet", no_argument, NULL, 'q' },
+ { "verbose", no_argument, NULL, 'v' },
+ { "version", no_argument, NULL, 'V' },
+ { NULL, 0, NULL, 0 }
+ };
+
+ enum options {
+ OPT_A = (1 << 1),
+ OPT_B = (1 << 2),
+ OPT_D = (1 << 3),
+ OPT_M = (1 << 4),
+ OPT_U = (1 << 5)
+ };
+ int options = 0;
+
+ const char *const *dirpath;
+ const char *dirpath2[] = { 0, 0 };
+
+ struct lk_ctx *ctx;
+ lk_flags flags = 0;
+
+ int c, i, rc = -1;
+ int fd;
+ int kbd_mode;
+ int kd_mode;
+ char *console = NULL;
+ char *ev;
+ lkfile_t f;
+
+ setlocale(LC_ALL, "");
+ bindtextdomain(PACKAGE_NAME, LOCALEDIR);
+ textdomain(PACKAGE_NAME);
+
+ progname = set_progname(argv[0]);
+
+ ctx = lk_init();
+ if (!ctx) {
+ exit(EXIT_FAILURE);
+ }
+
+ while ((c = getopt_long(argc, argv, short_opts, long_opts, NULL)) != -1) {
+ switch (c) {
+ case 'a':
+ options |= OPT_A;
+ break;
+ case 'b':
+ options |= OPT_B;
+ break;
+ case 'c':
+ flags |= LK_FLAG_CLEAR_COMPOSE;
+ break;
+ case 'C':
+ console = optarg;
+ break;
+ case 'd':
+ options |= OPT_D;
+ break;
+ case 'm':
+ options |= OPT_M;
+ break;
+ case 's':
+ flags |= LK_FLAG_CLEAR_STRINGS;
+ break;
+ case 'u':
+ options |= OPT_U;
+ flags |= LK_FLAG_UNICODE_MODE;
+ flags |= LK_FLAG_PREFER_UNICODE;
+ break;
+ case 'q':
+ lk_set_log_priority(ctx, LOG_ERR);
+ break;
+ case 'v':
+ lk_set_log_priority(ctx, LOG_INFO);
+ break;
+ case 'V':
+ fprintf(stdout, _("%s from %s\n"), progname, PACKAGE_STRING);
+ exit(0);
+ case 'h':
+ case '?':
+ usage();
+ }
+ }
+
+ if ((options & OPT_U) && (options & OPT_A)) {
+ fprintf(stderr,
+ _("%s: Options --unicode and --ascii are mutually exclusive\n"),
+ progname);
+ exit(EXIT_FAILURE);
+ }
+
+ /* get console */
+ fd = getfd(console);
+
+ if (!(options & OPT_M) && !(options & OPT_B)) {
+ /* check whether the keyboard is in Unicode mode */
+ if (ioctl(fd, KDGKBMODE, &kbd_mode) ||
+ ioctl(fd, KDGETMODE, &kd_mode)) {
+ fprintf(stderr, _("%s: error reading keyboard mode: %m\n"),
+ progname);
+ exit(EXIT_FAILURE);
+ }
+
+ if (kbd_mode == K_UNICODE) {
+ if (options & OPT_A) {
+ fprintf(stderr,
+ _("%s: warning: loading non-Unicode keymap on Unicode console\n"
+ " (perhaps you want to do `kbd_mode -a'?)\n"),
+ progname);
+ } else {
+ flags |= LK_FLAG_PREFER_UNICODE;
+ }
+
+ /* reset -u option if keyboard is in K_UNICODE anyway */
+ flags ^= LK_FLAG_UNICODE_MODE;
+
+ } else if (options & OPT_U && kd_mode != KD_GRAPHICS) {
+ fprintf(stderr,
+ _("%s: warning: loading Unicode keymap on non-Unicode console\n"
+ " (perhaps you want to do `kbd_mode -u'?)\n"),
+ progname);
+ }
+ }
+
+ lk_set_parser_flags(ctx, flags);
+
+ dirpath = dirpath1;
+ if ((ev = getenv("LOADKEYS_KEYMAP_PATH")) != NULL) {
+ dirpath2[0] = ev;
+ dirpath = dirpath2;
+ }
+
+ if (options & OPT_D) {
+ /* first read default map - search starts in . */
+
+ if (lk_findfile(DEFMAP, dirpath, suffixes, &f)) {
+ fprintf(stderr, _("Cannot find %s\n"), DEFMAP);
+ exit(EXIT_FAILURE);
+ }
+
+ if ((rc = lk_parse_keymap(ctx, &f)) == -1)
+ goto fail;
+
+
+ } else if (optind == argc) {
+ f.fd = stdin;
+ strcpy(f.pathname, "<stdin>");
+
+ if ((rc = lk_parse_keymap(ctx, &f)) == -1)
+ goto fail;
+ }
+
+ for (i = optind; argv[i]; i++) {
+ if (!strcmp(argv[i], "-")) {
+ f.fd = stdin;
+ strcpy(f.pathname, "<stdin>");
+
+ } else if (lk_findfile(argv[i], dirpath, suffixes, &f)) {
+ fprintf(stderr, _("cannot open file %s\n"), argv[i]);
+ goto fail;
+ }
+
+ if ((rc = lk_parse_keymap(ctx, &f)) == -1)
+ goto fail;
+ }
+
+ if (options & OPT_B) {
+ rc = lk_dump_bkeymap(ctx, stdout);
+ } else if (options & OPT_M) {
+ rc = lk_dump_ctable(ctx, stdout);
+ } else {
+ rc = lk_load_keymap(ctx, fd, kbd_mode);
+ }
+
+ fail: lk_free(ctx);
+ lk_fpclose(&f);
+ close(fd);
+
+ if (rc < 0)
+ exit(EXIT_FAILURE);
+
+ exit(EXIT_SUCCESS);
+}
diff --git a/src/loadkeys.y b/src/loadkeys.y
deleted file mode 100644
index 38f9dcf..0000000
--- a/src/loadkeys.y
+++ /dev/null
@@ -1,1233 +0,0 @@
-/*
- * loadkeys.y
- *
- * For history, see older versions.
- */
-
-%token EOL NUMBER LITERAL CHARSET KEYMAPS KEYCODE EQUALS
-%token PLAIN SHIFT CONTROL ALT ALTGR SHIFTL SHIFTR CTRLL CTRLR CAPSSHIFT
-%token COMMA DASH STRING STRLITERAL COMPOSE TO CCHAR ERROR PLUS
-%token UNUMBER ALT_IS_META STRINGS AS USUAL ON FOR
-
-%{
-#define YY_HEADER_EXPORT_START_CONDITIONS 1
-
-#include <errno.h>
-#include <stdio.h>
-#include <getopt.h>
-#include <stdlib.h>
-#include <stdarg.h>
-#include <string.h>
-#include <fcntl.h>
-#include <ctype.h>
-#include <sys/param.h>
-#include <sys/ioctl.h>
-#include <linux/kd.h>
-#include <linux/keyboard.h>
-#include <unistd.h>
-
-#include "paths.h"
-#include "getfd.h"
-#include "findfile.h"
-#include "ksyms.h"
-#include "modifiers.h"
-#include "xmalloc.h"
-#include "nls.h"
-#include "version.h"
-
-#include "loadkeys.analyze.h"
-
-#define U(x) ((x) ^ 0xf000)
-
-#ifdef KDSKBDIACRUC
-typedef struct kbdiacruc accent_entry;
-#else
-typedef struct kbdiacr accent_entry;
-#endif
-
-#ifndef KT_LETTER
-#define KT_LETTER KT_LATIN
-#endif
-
-#undef NR_KEYS
-#define NR_KEYS 256
-
-/* What keymaps are we defining? */
-char defining[MAX_NR_KEYMAPS];
-char keymaps_line_seen = 0;
-int max_keymap = 0; /* from here on, defining[] is false */
-int alt_is_meta = 0;
-
-/* the kernel structures we want to set or print */
-u_short *key_map[MAX_NR_KEYMAPS];
-char *func_table[MAX_NR_FUNC];
-
-accent_entry accent_table[MAX_DIACR];
-unsigned int accent_table_size = 0;
-
-char key_is_constant[NR_KEYS];
-char *keymap_was_set[MAX_NR_KEYMAPS];
-char func_buf[4096]; /* should be allocated dynamically */
-char *fp = func_buf;
-
-int key_buf[MAX_NR_KEYMAPS];
-int mod;
-int private_error_ct = 0;
-
-extern int rvalct;
-extern struct kbsentry kbs_buf;
-
-void lkfatal(const char *fmt, ...);
-int yyerror(const char *s);
-
-extern char *filename;
-extern int line_nr;
-
-extern void stack_push(FILE *fd, int ispipe, char *filename);
-extern int prefer_unicode;
-
-#include "ksyms.h"
-
-static void attr_noreturn usage(void)
-{
- fprintf(stderr, _("loadkeys version %s\n"
- "\n"
- "Usage: loadkeys [option...] [mapfile...]\n"
- "\n"
- "Valid options are:\n"
- "\n"
- " -a --ascii force conversion to ASCII\n"
- " -b --bkeymap output a binary keymap to stdout\n"
- " -c --clearcompose clear kernel compose table\n"
- " -C --console=file\n"
- " the console device to be used\n"
- " -d --default load \"%s\"\n"
- " -h --help display this help text\n"
- " -m --mktable output a \"defkeymap.c\" to stdout\n"
- " -q --quiet suppress all normal output\n"
- " -s --clearstrings clear kernel string table\n"
- " -u --unicode force conversion to Unicode\n"
- " -v --verbose report the changes\n"),
- PACKAGE_VERSION, DEFMAP);
- exit(EXIT_FAILURE);
-}
-
-char **dirpath;
-char *dirpath1[] = { "", DATADIR "/" KEYMAPDIR "/**", KERNDIR "/", 0 };
-char *dirpath2[] = { 0, 0 };
-char *suffixes[] = { "", ".kmap", ".map", 0 };
-
-char **args;
-int opta = 0;
-int optb = 0;
-int optd = 0;
-int optm = 0;
-int opts = 0;
-int optu = 0;
-int verbose = 0;
-int quiet = 0;
-int nocompose = 0;
-
-int yyerror(const char *s)
-{
- fprintf(stderr, "%s:%d: %s\n", filename, line_nr, s);
- private_error_ct++;
- return (0);
-}
-
-void attr_noreturn attr_format_1_2 lkfatal(const char *fmt, ...)
-{
- va_list ap;
- va_start(ap, fmt);
- fprintf(stderr, "%s: %s:%d: ", progname, filename, line_nr);
- vfprintf(stderr, fmt, ap);
- fprintf(stderr, "\n");
- va_end(ap);
- exit(EXIT_FAILURE);
-}
-
-static void addmap(int i, int explicit)
-{
- if (i < 0 || i >= MAX_NR_KEYMAPS)
- lkfatal(_("addmap called with bad index %d"), i);
-
- if (!defining[i]) {
- if (keymaps_line_seen && !explicit)
- lkfatal(_("adding map %d violates explicit keymaps line"), i);
-
- defining[i] = 1;
- if (max_keymap <= i)
- max_keymap = i + 1;
- }
-}
-
-/* unset a key */
-static void killkey(int k_index, int k_table)
-{
- /* roughly: addkey(k_index, k_table, K_HOLE); */
-
- if (k_index < 0 || k_index >= NR_KEYS)
- lkfatal(_("killkey called with bad index %d"), k_index);
-
- if (k_table < 0 || k_table >= MAX_NR_KEYMAPS)
- lkfatal(_("killkey called with bad table %d"), k_table);
-
- if (key_map[k_table])
- (key_map[k_table])[k_index] = K_HOLE;
-
- if (keymap_was_set[k_table])
- (keymap_was_set[k_table])[k_index] = 0;
-}
-
-static void addkey(int k_index, int k_table, int keycode)
-{
- int i;
-
- if (keycode == CODE_FOR_UNKNOWN_KSYM)
- /* is safer not to be silent in this case,
- * it can be caused by coding errors as well. */
- lkfatal(_("addkey called with bad keycode %d"), keycode);
-
- if (k_index < 0 || k_index >= NR_KEYS)
- lkfatal(_("addkey called with bad index %d"), k_index);
-
- if (k_table < 0 || k_table >= MAX_NR_KEYMAPS)
- lkfatal(_("addkey called with bad table %d"), k_table);
-
- if (!defining[k_table])
- addmap(k_table, 0);
-
- if (!key_map[k_table]) {
- key_map[k_table] =
- (u_short *) xmalloc(NR_KEYS * sizeof(u_short));
- for (i = 0; i < NR_KEYS; i++)
- (key_map[k_table])[i] = K_HOLE;
- }
-
- if (!keymap_was_set[k_table]) {
- keymap_was_set[k_table] = (char *)xmalloc(NR_KEYS);
- for (i = 0; i < NR_KEYS; i++)
- (keymap_was_set[k_table])[i] = 0;
- }
-
- if (alt_is_meta && keycode == K_HOLE
- && (keymap_was_set[k_table])[k_index])
- return;
-
- (key_map[k_table])[k_index] = keycode;
- (keymap_was_set[k_table])[k_index] = 1;
-
- if (alt_is_meta) {
- int alttable = k_table | M_ALT;
- int type = KTYP(keycode);
- int val = KVAL(keycode);
-
- if (alttable != k_table && defining[alttable] &&
- (!keymap_was_set[alttable] ||
- !(keymap_was_set[alttable])[k_index]) &&
- (type == KT_LATIN || type == KT_LETTER) && val < 128)
- addkey(k_index, alttable, K(KT_META, val));
- }
-}
-
-static void addfunc(struct kbsentry kbs)
-{
- int sh, i, x;
- char *ptr, *q, *r;
-
- x = kbs.kb_func;
-
- if (x >= MAX_NR_FUNC) {
- fprintf(stderr, _("%s: addfunc called with bad func %d\n"),
- progname, kbs.kb_func);
- exit(EXIT_FAILURE);
- }
-
- q = func_table[x];
- if (q) { /* throw out old previous def */
- sh = strlen(q) + 1;
- ptr = q + sh;
- while (ptr < fp)
- *q++ = *ptr++;
- fp -= sh;
-
- for (i = x + 1; i < MAX_NR_FUNC; i++) {
- if (func_table[i])
- func_table[i] -= sh;
- }
- }
-
- ptr = func_buf; /* find place for new def */
- for (i = 0; i < x; i++) {
- if (func_table[i]) {
- ptr = func_table[i];
- while (*ptr++) ;
- }
- }
-
- func_table[x] = ptr;
- sh = strlen((char *)kbs.kb_string) + 1;
-
- if (fp + sh > func_buf + sizeof(func_buf)) {
- fprintf(stderr, _("%s: addfunc: func_buf overflow\n"), progname);
- exit(EXIT_FAILURE);
- }
- q = fp;
- fp += sh;
- r = fp;
- while (q > ptr)
- *--r = *--q;
- strcpy(ptr, (char *)kbs.kb_string);
- for (i = x + 1; i < MAX_NR_FUNC; i++) {
- if (func_table[i])
- func_table[i] += sh;
- }
-}
-
-static void compose(int diacr, int base, int res)
-{
- accent_entry *ptr;
- int direction;
-
-#ifdef KDSKBDIACRUC
- if (prefer_unicode)
- direction = TO_UNICODE;
- else
-#endif
- direction = TO_8BIT;
-
- if (accent_table_size == MAX_DIACR) {
- fprintf(stderr, _("compose table overflow\n"));
- exit(EXIT_FAILURE);
- }
-
- ptr = &accent_table[accent_table_size++];
- ptr->diacr = convert_code(diacr, direction);
- ptr->base = convert_code(base, direction);
- ptr->result = convert_code(res, direction);
-}
-
-static int defkeys(int fd, int kbd_mode)
-{
- struct kbentry ke;
- int ct = 0;
- int i, j, fail;
-
- if (optu) {
- /* temporarily switch to K_UNICODE while defining keys */
- if (ioctl(fd, KDSKBMODE, K_UNICODE)) {
- perror("KDSKBMODE");
- fprintf(stderr, _("%s: could not switch to Unicode mode\n"), progname);
- exit(EXIT_FAILURE);
- }
- }
-
- for (i = 0; i < MAX_NR_KEYMAPS; i++) {
- if (key_map[i]) {
- for (j = 0; j < NR_KEYS; j++) {
- if ((keymap_was_set[i])[j]) {
- ke.kb_index = j;
- ke.kb_table = i;
- ke.kb_value = (key_map[i])[j];
-
- fail =
- ioctl(fd, KDSKBENT,
- (unsigned long)&ke);
- if (fail) {
- if (errno == EPERM) {
- fprintf(stderr,
- _("Keymap %d: Permission denied\n"),
- i);
- j = NR_KEYS;
- continue;
- }
- perror("KDSKBENT");
- } else
- ct++;
- if (verbose)
- printf(_("keycode %d, table %d = %d%s\n"),
- j, i, (key_map[i])[j],
- fail ? _(" FAILED") :
- "");
- else if (fail)
- fprintf(stderr,
- _("failed to bind key %d to value %d\n"),
- j, (key_map[i])[j]);
- }
- }
-
- } else if (keymaps_line_seen && !defining[i]) {
- /* deallocate keymap */
- ke.kb_index = 0;
- ke.kb_table = i;
- ke.kb_value = K_NOSUCHMAP;
-
- if (verbose > 1)
- printf(_("deallocate keymap %d\n"), i);
-
- if (ioctl(fd, KDSKBENT, (unsigned long)&ke)) {
- if (errno != EINVAL) {
- perror("KDSKBENT");
- fprintf(stderr,
- _("%s: could not deallocate keymap %d\n"),
- progname, i);
- exit(EXIT_FAILURE);
- }
- /* probably an old kernel */
- /* clear keymap by hand */
- for (j = 0; j < NR_KEYS; j++) {
- ke.kb_index = j;
- ke.kb_table = i;
- ke.kb_value = K_HOLE;
- if (ioctl
- (fd, KDSKBENT,
- (unsigned long)&ke)) {
- if (errno == EINVAL && i >= 16)
- break; /* old kernel */
- perror("KDSKBENT");
- fprintf(stderr,
- _("%s: cannot deallocate or clear keymap\n"),
- progname);
- exit(EXIT_FAILURE);
- }
- }
- }
- }
- }
-
- if (optu && ioctl(fd, KDSKBMODE, kbd_mode)) {
- perror("KDSKBMODE");
- fprintf(stderr,
- _("%s: could not return to original keyboard mode\n"),
- progname);
- exit(EXIT_FAILURE);
- }
-
- return ct;
-}
-
-static void freekeys(void)
-{
- int i;
- for (i = 0; i < MAX_NR_KEYMAPS; i++) {
- xfree(keymap_was_set[i]);
- xfree(key_map[i]);
- }
-}
-
-static char *ostr(char *s)
-{
- int lth = strlen(s);
- char *ns0 = xmalloc(4 * lth + 1);
- char *ns = ns0;
-
- while (*s) {
- switch (*s) {
- case '\n':
- *ns++ = '\\';
- *ns++ = 'n';
- break;
- case '\033':
- *ns++ = '\\';
- *ns++ = '0';
- *ns++ = '3';
- *ns++ = '3';
- break;
- default:
- *ns++ = *s;
- }
- s++;
- }
- *ns = 0;
- return ns0;
-}
-
-static int deffuncs(int fd)
-{
- int i, ct = 0;
- char *ptr, *s;
-
- for (i = 0; i < MAX_NR_FUNC; i++) {
- kbs_buf.kb_func = i;
-
- if ((ptr = func_table[i])) {
- strcpy((char *)kbs_buf.kb_string, ptr);
- if (ioctl(fd, KDSKBSENT, (unsigned long)&kbs_buf)) {
- s = ostr((char *)kbs_buf.kb_string);
- fprintf(stderr,
- _("failed to bind string '%s' to function %s\n"),
- s, syms[KT_FN].table[kbs_buf.kb_func]);
- xfree(s);
- } else {
- ct++;
- }
- } else if (opts) {
- kbs_buf.kb_string[0] = 0;
- if (ioctl(fd, KDSKBSENT, (unsigned long)&kbs_buf)) {
- fprintf(stderr, _("failed to clear string %s\n"),
- syms[KT_FN].table[kbs_buf.kb_func]);
- } else {
- ct++;
- }
- }
- }
- return ct;
-}
-
-static int defdiacs(int fd)
-{
- unsigned int i, count;
- struct kbdiacrs kd;
-#ifdef KDSKBDIACRUC
- struct kbdiacrsuc kdu;
-#endif
-
- count = accent_table_size;
- if (count > MAX_DIACR) {
- count = MAX_DIACR;
- fprintf(stderr, _("too many compose definitions\n"));
- }
-#ifdef KDSKBDIACRUC
- if (prefer_unicode) {
- kdu.kb_cnt = count;
-
- for (i = 0; i < kdu.kb_cnt; i++) {
- kdu.kbdiacruc[i].diacr = accent_table[i].diacr;
- kdu.kbdiacruc[i].base = accent_table[i].base;
- kdu.kbdiacruc[i].result = accent_table[i].result;
- }
-
- if (ioctl(fd, KDSKBDIACRUC, (unsigned long)&kdu)) {
- perror("KDSKBDIACRUC");
- exit(EXIT_FAILURE);
- }
- } else
-#endif
- {
- kd.kb_cnt = count;
- for (i = 0; i < kd.kb_cnt; i++) {
- kd.kbdiacr[i].diacr = accent_table[i].diacr;
- kd.kbdiacr[i].base = accent_table[i].base;
- kd.kbdiacr[i].result = accent_table[i].result;
- }
-
- if (ioctl(fd, KDSKBDIACR, (unsigned long)&kd)) {
- perror("KDSKBDIACR");
- exit(EXIT_FAILURE);
- }
- }
-
- return kd.kb_cnt;
-}
-
-static void do_constant_key(int i, u_short key)
-{
- int typ, val, j;
-
- typ = KTYP(key);
- val = KVAL(key);
-
- if ((typ == KT_LATIN || typ == KT_LETTER) &&
- ((val >= 'a' && val <= 'z') || (val >= 'A' && val <= 'Z'))) {
- u_short defs[16];
- defs[0] = K(KT_LETTER, val);
- defs[1] = K(KT_LETTER, val ^ 32);
- defs[2] = defs[0];
- defs[3] = defs[1];
-
- for (j = 4; j < 8; j++)
- defs[j] = K(KT_LATIN, val & ~96);
-
- for (j = 8; j < 16; j++)
- defs[j] = K(KT_META, KVAL(defs[j - 8]));
-
- for (j = 0; j < max_keymap; j++) {
- if (!defining[j])
- continue;
-
- if (j > 0 &&
- keymap_was_set[j] && (keymap_was_set[j])[i])
- continue;
-
- addkey(i, j, defs[j % 16]);
- }
-
- } else {
- /* do this also for keys like Escape,
- as promised in the man page */
- for (j = 1; j < max_keymap; j++) {
- if (defining[j] &&
- (!(keymap_was_set[j]) || !(keymap_was_set[j])[i]))
- addkey(i, j, key);
- }
- }
-}
-
-static void do_constant(void)
-{
- int i, r0 = 0;
-
- if (keymaps_line_seen) {
- while (r0 < max_keymap && !defining[r0])
- r0++;
- }
-
- for (i = 0; i < NR_KEYS; i++) {
- if (key_is_constant[i]) {
- u_short key;
-
- if (!key_map[r0])
- lkfatal(_("impossible error in do_constant"));
-
- key = (key_map[r0])[i];
- do_constant_key(i, key);
- }
- }
-}
-
-static void loadkeys(int fd, int kbd_mode)
-{
- int keyct, funcct, diacct = 0;
-
- keyct = defkeys(fd, kbd_mode);
- funcct = deffuncs(fd);
-
- if (verbose) {
- printf(_("\nChanged %d %s and %d %s.\n"),
- keyct, (keyct == 1) ? _("key") : _("keys"),
- funcct, (funcct == 1) ? _("string") : _("strings"));
- }
-
- if (accent_table_size > 0 || nocompose) {
- diacct = defdiacs(fd);
-
- if (verbose) {
- printf(_("Loaded %d compose %s.\n"),
- diacct, (diacct == 1) ? _("definition") : _("definitions"));
- }
-
- } else if (verbose) {
- printf(_("(No change in compose definitions.)\n"));
- }
-
- freekeys();
-}
-
-static void strings_as_usual(void)
-{
- /*
- * 26 strings, mostly inspired by the VT100 family
- */
- char *stringvalues[30] = {
- /* F1 .. F20 */
- "\033[[A", "\033[[B", "\033[[C", "\033[[D", "\033[[E",
- "\033[17~", "\033[18~", "\033[19~", "\033[20~", "\033[21~",
- "\033[23~", "\033[24~", "\033[25~", "\033[26~",
- "\033[28~", "\033[29~",
- "\033[31~", "\033[32~", "\033[33~", "\033[34~",
- /* Find, Insert, Remove, Select, Prior */
- "\033[1~", "\033[2~", "\033[3~", "\033[4~", "\033[5~",
- /* Next, Macro, Help, Do, Pause */
- "\033[6~", 0, 0, 0, 0
- };
- int i;
-
- for (i = 0; i < 30; i++) {
- if (stringvalues[i]) {
- struct kbsentry ke;
- ke.kb_func = i;
- strncpy((char *)ke.kb_string, stringvalues[i],
- sizeof(ke.kb_string));
- ke.kb_string[sizeof(ke.kb_string) - 1] = 0;
- addfunc(ke);
- }
- }
-}
-
-static void compose_as_usual(char *charset)
-{
- if (charset && strcmp(charset, "iso-8859-1")) {
- fprintf(stderr, _("loadkeys: don't know how to compose for %s\n"),
- charset);
- exit(EXIT_FAILURE);
-
- } else {
- struct ccc {
- unsigned char c1, c2, c3;
- } def_latin1_composes[68] = {
- { '`', 'A', 0300 }, { '`', 'a', 0340 },
- { '\'', 'A', 0301 }, { '\'', 'a', 0341 },
- { '^', 'A', 0302 }, { '^', 'a', 0342 },
- { '~', 'A', 0303 }, { '~', 'a', 0343 },
- { '"', 'A', 0304 }, { '"', 'a', 0344 },
- { 'O', 'A', 0305 }, { 'o', 'a', 0345 },
- { '0', 'A', 0305 }, { '0', 'a', 0345 },
- { 'A', 'A', 0305 }, { 'a', 'a', 0345 },
- { 'A', 'E', 0306 }, { 'a', 'e', 0346 },
- { ',', 'C', 0307 }, { ',', 'c', 0347 },
- { '`', 'E', 0310 }, { '`', 'e', 0350 },
- { '\'', 'E', 0311 }, { '\'', 'e', 0351 },
- { '^', 'E', 0312 }, { '^', 'e', 0352 },
- { '"', 'E', 0313 }, { '"', 'e', 0353 },
- { '`', 'I', 0314 }, { '`', 'i', 0354 },
- { '\'', 'I', 0315 }, { '\'', 'i', 0355 },
- { '^', 'I', 0316 }, { '^', 'i', 0356 },
- { '"', 'I', 0317 }, { '"', 'i', 0357 },
- { '-', 'D', 0320 }, { '-', 'd', 0360 },
- { '~', 'N', 0321 }, { '~', 'n', 0361 },
- { '`', 'O', 0322 }, { '`', 'o', 0362 },
- { '\'', 'O', 0323 }, { '\'', 'o', 0363 },
- { '^', 'O', 0324 }, { '^', 'o', 0364 },
- { '~', 'O', 0325 }, { '~', 'o', 0365 },
- { '"', 'O', 0326 }, { '"', 'o', 0366 },
- { '/', 'O', 0330 }, { '/', 'o', 0370 },
- { '`', 'U', 0331 }, { '`', 'u', 0371 },
- { '\'', 'U', 0332 }, { '\'', 'u', 0372 },
- { '^', 'U', 0333 }, { '^', 'u', 0373 },
- { '"', 'U', 0334 }, { '"', 'u', 0374 },
- { '\'', 'Y', 0335 }, { '\'', 'y', 0375 },
- { 'T', 'H', 0336 }, { 't', 'h', 0376 },
- { 's', 's', 0337 }, { '"', 'y', 0377 },
- { 's', 'z', 0337 }, { 'i', 'j', 0377 }
- };
- int i;
- for (i = 0; i < 68; i++) {
- struct ccc ptr = def_latin1_composes[i];
- compose(ptr.c1, ptr.c2, ptr.c3);
- }
- }
-}
-
-/*
- * mktable.c
- *
- */
-static char *modifiers[8] = {
- "shift", "altgr", "ctrl", "alt", "shl", "shr", "ctl", "ctr"
-};
-
-static char *mk_mapname(char modifier)
-{
- static char buf[60];
- int i;
-
- if (!modifier)
- return "plain";
- buf[0] = 0;
- for (i = 0; i < 8; i++)
- if (modifier & (1 << i)) {
- if (buf[0])
- strcat(buf, "_");
- strcat(buf, modifiers[i]);
- }
- return buf;
-}
-
-static void outchar(unsigned char c, int comma)
-{
- printf("'");
- printf((c == '\'' || c == '\\') ? "\\%c" : isgraph(c) ? "%c"
- : "\\%03o", c);
- printf(comma ? "', " : "'");
-}
-
-static void attr_noreturn mktable(void)
-{
- int j;
- unsigned int i, imax;
-
- char *ptr;
- unsigned int maxfunc;
- unsigned int keymap_count = 0;
-
- printf(
-/* not to be translated... */
- "/* Do not edit this file! It was automatically generated by */\n");
- printf
- ("/* loadkeys --mktable defkeymap.map > defkeymap.c */\n\n");
- printf("#include <linux/types.h>\n");
- printf("#include <linux/keyboard.h>\n");
- printf("#include <linux/kd.h>\n\n");
-
- for (i = 0; i < MAX_NR_KEYMAPS; i++)
- if (key_map[i]) {
- keymap_count++;
- if (i)
- printf("static ");
- printf("u_short %s_map[NR_KEYS] = {", mk_mapname(i));
- for (j = 0; j < NR_KEYS; j++) {
- if (!(j % 8))
- printf("\n");
- printf("\t0x%04x,", U((key_map[i])[j]));
- }
- printf("\n};\n\n");
- }
-
- for (imax = MAX_NR_KEYMAPS - 1; imax > 0; imax--)
- if (key_map[imax])
- break;
- printf("ushort *key_maps[MAX_NR_KEYMAPS] = {");
- for (i = 0; i <= imax; i++) {
- printf((i % 4) ? " " : "\n\t");
- if (key_map[i])
- printf("%s_map,", mk_mapname(i));
- else
- printf("0,");
- }
- if (imax < MAX_NR_KEYMAPS - 1)
- printf("\t0");
- printf("\n};\n\nunsigned int keymap_count = %d;\n\n", keymap_count);
-
-/* uglified just for xgettext - it complains about nonterminated strings */
- printf("/*\n"
- " * Philosophy: most people do not define more strings, but they who do\n"
- " * often want quite a lot of string space. So, we statically allocate\n"
- " * the default and allocate dynamically in chunks of 512 bytes.\n"
- " */\n" "\n");
- for (maxfunc = MAX_NR_FUNC; maxfunc; maxfunc--)
- if (func_table[maxfunc - 1])
- break;
-
- printf("char func_buf[] = {\n");
- for (i = 0; i < maxfunc; i++) {
- ptr = func_table[i];
- if (ptr) {
- printf("\t");
- for (; *ptr; ptr++)
- outchar(*ptr, 1);
- printf("0, \n");
- }
- }
- if (!maxfunc)
- printf("\t0\n");
- printf("};\n\n");
-
- printf("char *funcbufptr = func_buf;\n"
- "int funcbufsize = sizeof(func_buf);\n"
- "int funcbufleft = 0; /* space left */\n" "\n");
-
- printf("char *func_table[MAX_NR_FUNC] = {\n");
- for (i = 0; i < maxfunc; i++) {
- if (func_table[i])
- printf("\tfunc_buf + %ld,\n",
- (long)(func_table[i] - func_buf));
- else
- printf("\t0,\n");
- }
- if (maxfunc < MAX_NR_FUNC)
- printf("\t0,\n");
- printf("};\n");
-
-#ifdef KDSKBDIACRUC
- if (prefer_unicode) {
- printf("\nstruct kbdiacruc accent_table[MAX_DIACR] = {\n");
- for (i = 0; i < accent_table_size; i++) {
- printf("\t{");
- outchar(accent_table[i].diacr, 1);
- outchar(accent_table[i].base, 1);
- printf("0x%04x},", accent_table[i].result);
- if (i % 2)
- printf("\n");
- }
- if (i % 2)
- printf("\n");
- printf("};\n\n");
- } else
-#endif
- {
- printf("\nstruct kbdiacr accent_table[MAX_DIACR] = {\n");
- for (i = 0; i < accent_table_size; i++) {
- printf("\t{");
- outchar(accent_table[i].diacr, 1);
- outchar(accent_table[i].base, 1);
- outchar(accent_table[i].result, 0);
- printf("},");
- if (i % 2)
- printf("\n");
- }
- if (i % 2)
- printf("\n");
- printf("};\n\n");
- }
- printf("unsigned int accent_table_size = %d;\n", accent_table_size);
-
- freekeys();
-
- exit(0);
-}
-
-static void attr_noreturn bkeymap(void)
-{
- int i, j;
-
- //u_char *p;
- char flag, magic[] = "bkeymap";
- unsigned short v;
-
- if (write(1, magic, 7) == -1)
- goto fail;
- for (i = 0; i < MAX_NR_KEYMAPS; i++) {
- flag = key_map[i] ? 1 : 0;
- if (write(1, &flag, 1) == -1)
- goto fail;
- }
- for (i = 0; i < MAX_NR_KEYMAPS; i++) {
- if (key_map[i]) {
- for (j = 0; j < NR_KEYS / 2; j++) {
- v = key_map[i][j];
- if (write(1, &v, 2) == -1)
- goto fail;
- }
- }
- }
- freekeys();
- exit(0);
-
- fail: fprintf(stderr, _("Error writing map to file\n"));
- freekeys();
- exit(1);
-}
-
-%}
-
-%%
-keytable :
- | keytable line
- ;
-line : EOL
- | charsetline
- | altismetaline
- | usualstringsline
- | usualcomposeline
- | keymapline
- | fullline
- | singleline
- | strline
- | compline
- ;
-charsetline : CHARSET STRLITERAL EOL
- {
- set_charset((char *) kbs_buf.kb_string);
- }
- ;
-altismetaline : ALT_IS_META EOL
- {
- alt_is_meta = 1;
- }
- ;
-usualstringsline: STRINGS AS USUAL EOL
- {
- strings_as_usual();
- }
- ;
-usualcomposeline: COMPOSE AS USUAL FOR STRLITERAL EOL
- {
- compose_as_usual((char *) kbs_buf.kb_string);
- }
- | COMPOSE AS USUAL EOL
- {
- compose_as_usual(0);
- }
- ;
-keymapline : KEYMAPS range EOL
- {
- keymaps_line_seen = 1;
- }
- ;
-range : range COMMA range0
- | range0
- ;
-range0 : NUMBER DASH NUMBER
- {
- int i;
- for (i = $1; i <= $3; i++)
- addmap(i,1);
- }
- | NUMBER
- {
- addmap($1,1);
- }
- ;
-strline : STRING LITERAL EQUALS STRLITERAL EOL
- {
- if (KTYP($2) != KT_FN)
- lkfatal(_("'%s' is not a function key symbol"),
- syms[KTYP($2)].table[KVAL($2)]);
- kbs_buf.kb_func = KVAL($2);
- addfunc(kbs_buf);
- }
- ;
-compline : COMPOSE compsym compsym TO compsym EOL
- {
- compose($2, $3, $5);
- }
- | COMPOSE compsym compsym TO rvalue EOL
- {
- compose($2, $3, $5);
- }
- ;
-compsym : CCHAR { $$ = $1; }
- | UNUMBER { $$ = $1 ^ 0xf000; }
- ;
-singleline : {
- mod = 0;
- }
- modifiers KEYCODE NUMBER EQUALS rvalue EOL
- {
- addkey($4, mod, $6);
- }
- | PLAIN KEYCODE NUMBER EQUALS rvalue EOL
- {
- addkey($3, 0, $5);
- }
- ;
-modifiers : modifiers modifier
- | modifier
- ;
-modifier : SHIFT { mod |= M_SHIFT; }
- | CONTROL { mod |= M_CTRL; }
- | ALT { mod |= M_ALT; }
- | ALTGR { mod |= M_ALTGR; }
- | SHIFTL { mod |= M_SHIFTL; }
- | SHIFTR { mod |= M_SHIFTR; }
- | CTRLL { mod |= M_CTRLL; }
- | CTRLR { mod |= M_CTRLR; }
- | CAPSSHIFT { mod |= M_CAPSSHIFT; }
- ;
-fullline : KEYCODE NUMBER EQUALS rvalue0 EOL
- {
- int i, j;
-
- if (rvalct == 1) {
- /* Some files do not have a keymaps line, and
- * we have to wait until all input has been read
- * before we know which maps to fill. */
- key_is_constant[$2] = 1;
-
- /* On the other hand, we now have include files,
- * and it should be possible to override lines
- * from an include file. So, kill old defs. */
- for (j = 0; j < max_keymap; j++) {
- if (defining[j])
- killkey($2, j);
- }
- }
-
- if (keymaps_line_seen) {
- i = 0;
-
- for (j = 0; j < max_keymap; j++) {
- if (defining[j]) {
- if (rvalct != 1 || i == 0)
- addkey($2, j, (i < rvalct) ? key_buf[i] : K_HOLE);
- i++;
- }
- }
-
- if (i < rvalct)
- lkfatal(_("too many (%d) entries on one line"), rvalct);
- } else {
- for (i = 0; i < rvalct; i++)
- addkey($2, i, key_buf[i]);
- }
- }
- ;
-
-rvalue0 :
- | rvalue1 rvalue0
- ;
-rvalue1 : rvalue
- {
- if (rvalct >= MAX_NR_KEYMAPS)
- lkfatal(_("too many key definitions on one line"));
- key_buf[rvalct++] = $1;
- }
- ;
-rvalue : NUMBER { $$ = convert_code($1, TO_AUTO); }
- | PLUS NUMBER { $$ = add_capslock($2); }
- | UNUMBER { $$ = convert_code($1^0xf000, TO_AUTO); }
- | PLUS UNUMBER { $$ = add_capslock($2^0xf000); }
- | LITERAL { $$ = $1; }
- | PLUS LITERAL { $$ = add_capslock($2); }
- ;
-%%
-
-static void parse_keymap(FILE *fd) {
- if (!quiet && !optm)
- fprintf(stdout, _("Loading %s\n"), pathname);
-
- stack_push(fd, 0, pathname);
-
- if (yyparse()) {
- fprintf(stderr, _("syntax error in map file\n"));
-
- if (!optm)
- fprintf(stderr,
- _("key bindings not changed\n"));
- exit(EXIT_FAILURE);
- }
-}
-
-int main(int argc, char *argv[])
-{
- const char *short_opts = "abcC:dhmsuqvV";
- const struct option long_opts[] = {
- { "console", required_argument, NULL, 'C'},
- { "ascii", no_argument, NULL, 'a' },
- { "bkeymap", no_argument, NULL, 'b' },
- { "clearcompose", no_argument, NULL, 'c' },
- { "default", no_argument, NULL, 'd' },
- { "help", no_argument, NULL, 'h' },
- { "mktable", no_argument, NULL, 'm' },
- { "clearstrings", no_argument, NULL, 's' },
- { "unicode", no_argument, NULL, 'u' },
- { "quiet", no_argument, NULL, 'q' },
- { "verbose", no_argument, NULL, 'v' },
- { "version", no_argument, NULL, 'V' },
- { NULL, 0, NULL, 0 }
- };
- int c, i;
- int fd;
- int kbd_mode;
- int kd_mode;
- char *console = NULL;
- char *ev;
- FILE *f;
-
- set_progname(argv[0]);
-
- setlocale(LC_ALL, "");
- bindtextdomain(PACKAGE_NAME, LOCALEDIR);
- textdomain(PACKAGE_NAME);
-
- while ((c = getopt_long(argc, argv, short_opts, long_opts, NULL)) != -1) {
- switch (c) {
- case 'a':
- opta = 1;
- break;
- case 'b':
- optb = 1;
- break;
- case 'c':
- nocompose = 1;
- break;
- case 'C':
- console = optarg;
- break;
- case 'd':
- optd = 1;
- break;
- case 'm':
- optm = 1;
- break;
- case 's':
- opts = 1;
- break;
- case 'u':
- optu = 1;
- prefer_unicode = 1;
- break;
- case 'q':
- quiet = 1;
- break;
- case 'v':
- verbose++;
- break;
- case 'V':
- print_version_and_exit();
- case 'h':
- case '?':
- usage();
- }
- }
-
- if (optu && opta) {
- fprintf(stderr,
- _("%s: Options --unicode and --ascii are mutually exclusive\n"),
- progname);
- exit(EXIT_FAILURE);
- }
-
- /* get console */
- fd = getfd(console);
-
- if (!optm && !optb) {
- /* check whether the keyboard is in Unicode mode */
- if (ioctl(fd, KDGKBMODE, &kbd_mode) ||
- ioctl(fd, KDGETMODE, &kd_mode)) {
- fprintf(stderr, _("%s: error reading keyboard mode: %m\n"),
- progname);
- exit(EXIT_FAILURE);
- }
-
- if (kbd_mode == K_UNICODE) {
- if (opta) {
- fprintf(stderr,
- _("%s: warning: loading non-Unicode keymap on Unicode console\n"
- " (perhaps you want to do `kbd_mode -a'?)\n"),
- progname);
- } else {
- prefer_unicode = 1;
- }
-
- /* reset -u option if keyboard is in K_UNICODE anyway */
- optu = 0;
-
- } else if (optu && kd_mode != KD_GRAPHICS) {
- fprintf(stderr,
- _("%s: warning: loading Unicode keymap on non-Unicode console\n"
- " (perhaps you want to do `kbd_mode -u'?)\n"),
- progname);
- }
- }
-
- dirpath = dirpath1;
- if ((ev = getenv("LOADKEYS_KEYMAP_PATH")) != NULL) {
- if (!quiet && !optm)
- fprintf(stdout, _("Searching in %s\n"), ev);
-
- dirpath2[0] = ev;
- dirpath = dirpath2;
- }
-
- if (optd) {
- /* first read default map - search starts in . */
-
- if ((f = findfile(DEFMAP, dirpath, suffixes)) == NULL) {
- fprintf(stderr, _("Cannot find %s\n"), DEFMAP);
- exit(EXIT_FAILURE);
- }
- parse_keymap(f);
-
- } else if (optind == argc) {
- strcpy(pathname, "<stdin>");
- parse_keymap(stdin);
- }
-
- for (i = optind; argv[i]; i++) {
- if (!strcmp(argv[i], "-")) {
- f = stdin;
- strcpy(pathname, "<stdin>");
-
- } else if ((f = findfile(argv[i], dirpath, suffixes)) == NULL) {
- fprintf(stderr, _("cannot open file %s\n"), argv[i]);
- exit(EXIT_FAILURE);
- }
-
- parse_keymap(f);
- }
-
- do_constant();
-
- if (optb)
- bkeymap();
-
- if (optm)
- mktable();
-
- loadkeys(fd, kbd_mode);
-
- close(fd);
-
- exit(EXIT_SUCCESS);
-}
diff --git a/src/loadunimap.c b/src/loadunimap.c
index 249e900..a3b9eea 100644
--- a/src/loadunimap.c
+++ b/src/loadunimap.c
@@ -28,8 +28,8 @@
extern char *progname;
extern int force;
-static char *unidirpath[] = { "", DATADIR "/" UNIMAPDIR "/", 0 };
-static char *unisuffixes[] = { "", ".uni", ".sfm", 0 };
+static const char *const unidirpath[] = { "", DATADIR "/" UNIMAPDIR "/", 0 };
+static const char *const unisuffixes[] = { "", ".uni", ".sfm", 0 };
#ifdef MAIN
#include "version.h"
@@ -37,7 +37,7 @@
int force = 0;
int debug = 0;
-static void attr_noreturn
+static void __attribute__ ((noreturn))
usage(void) {
fprintf(stderr,
_("Usage:\n\t%s [-C console] [-o map.orig]\n"), progname);
@@ -260,20 +260,19 @@
void
loadunicodemap(int fd, char *tblname) {
- FILE *mapf;
char buffer[65536];
char *p;
+ lkfile_t fp;
- mapf = findfile(tblname, unidirpath, unisuffixes);
- if ( !mapf ) {
+ if (lk_findfile(tblname, unidirpath, unisuffixes, &fp)) {
perror(tblname);
exit(EX_NOINPUT);
}
if (verbose)
- printf(_("Loading unicode map from file %s\n"), pathname);
+ printf(_("Loading unicode map from file %s\n"), fp.pathname);
- while ( fgets(buffer, sizeof(buffer), mapf) != NULL ) {
+ while ( fgets(buffer, sizeof(buffer), fp.fd) != NULL ) {
if ( (p = strchr(buffer, '\n')) != NULL )
*p = '\0';
else
@@ -283,7 +282,7 @@
parseline(buffer, tblname);
}
- fpclose(mapf);
+ lk_fpclose(&fp);
if (listct == 0 && !force) {
fprintf(stderr,
diff --git a/src/mapscrn.c b/src/mapscrn.c
index a08634e..8472e2f 100644
--- a/src/mapscrn.c
+++ b/src/mapscrn.c
@@ -25,8 +25,8 @@
static int ctoi (char *);
/* search for the map file in these directories (with trailing /) */
-static char *mapdirpath[] = { "", DATADIR "/" TRANSDIR "/", 0 };
-static char *mapsuffixes[] = { "", ".trans", "_to_uni.trans", ".acm", 0 };
+static const char *const mapdirpath[] = { "", DATADIR "/" TRANSDIR "/", 0 };
+static const char *const mapsuffixes[] = { "", ".trans", "_to_uni.trans", ".acm", 0 };
#ifdef MAIN
#include "getfd.h"
@@ -123,19 +123,19 @@
}
static int
-readnewmapfromfile(attr_unused int fd, char *mfil, char *buf, unsigned short *ubuf) {
- FILE *fp;
+readnewmapfromfile(char *mfil, char *buf, unsigned short *ubuf) {
struct stat stbuf;
int u = 0;
int lineno = 0;
+ lkfile_t fp;
- if ((fp = findfile(mfil, mapdirpath, mapsuffixes)) == NULL) {
+ if (lk_findfile(mfil, mapdirpath, mapsuffixes, &fp)) {
fprintf(stderr, _("mapscrn: cannot open map file _%s_\n"),
mfil);
exit(1);
}
- if (stat(pathname, &stbuf)) {
- perror(pathname);
+ if (stat(fp.pathname, &stbuf)) {
+ perror(fp.pathname);
fprintf(stderr, _("Cannot stat map file"));
exit(1);
}
@@ -143,38 +143,38 @@
if (verbose)
printf(_("Loading binary direct-to-font screen map "
"from file %s\n"),
- pathname);
- if (fread(buf,E_TABSZ,1,fp) != 1) {
+ fp.pathname);
+ if (fread(buf,E_TABSZ,1,fp.fd) != 1) {
fprintf(stderr,
_("Error reading map from file `%s'\n"),
- pathname);
+ fp.pathname);
exit(1);
}
} else if (stbuf.st_size == 2*E_TABSZ) {
if (verbose)
printf(_("Loading binary unicode screen map "
"from file %s\n"),
- pathname);
- if (fread(ubuf,2*E_TABSZ,1,fp) != 1) {
+ fp.pathname);
+ if (fread(ubuf,2*E_TABSZ,1,fp.fd) != 1) {
fprintf(stderr,
_("Error reading map from file `%s'\n"),
- pathname);
+ fp.pathname);
exit(1);
}
u = 1;
} else {
if (verbose)
printf(_("Loading symbolic screen map from file %s\n"),
- pathname);
- if (parsemap(fp,buf,ubuf,&u,&lineno)) {
+ fp.pathname);
+ if (parsemap(fp.fd,buf,ubuf,&u,&lineno)) {
fprintf(stderr,
_("Error parsing symbolic map "
"from `%s', line %d\n"),
- pathname, lineno);
+ fp.pathname, lineno);
exit(1);
}
}
- fpclose(fp);
+ lk_fpclose(&fp);
return u;
}
@@ -192,7 +192,7 @@
u = 0;
if (mfil)
- u = readnewmapfromfile(fd, mfil, buf, ubuf);
+ u = readnewmapfromfile(mfil, buf, ubuf);
/* do we need to use loaduniscrnmap() ? */
if (u) {
diff --git a/src/openvt.c b/src/openvt.c
index 0b81dea..075136f 100644
--- a/src/openvt.c
+++ b/src/openvt.c
@@ -15,8 +15,8 @@
#include "xmalloc.h"
#include "getfd.h"
-#ifndef NAME_MAX
-#define NAME_MAX 255
+#ifdef COMPAT_HEADERS
+#include "compat/linux-limits.h"
#endif
// There must be a universal way to find these!
@@ -34,7 +34,7 @@
#endif
#ifndef VTNAME
-#error vt device name must be defined in openvt.h
+#error vt device name must be defined
#endif
static void
diff --git a/src/outpsfheader.c b/src/outpsfheader.c
index 1083b9f..6c0cbf7 100644
--- a/src/outpsfheader.c
+++ b/src/outpsfheader.c
@@ -5,7 +5,7 @@
#include "kbd.h"
#include "psf.h"
-static void attr_noreturn
+static void __attribute__ ((noreturn))
usage(void) {
fprintf(stderr, "call: outpsfheader psftype fontsize charsize hastable\n");
exit(1);
diff --git a/src/paths.h b/src/paths.h
index 245c8be..6eb1bb1 100644
--- a/src/paths.h
+++ b/src/paths.h
@@ -25,9 +25,6 @@
# define KERNDIR "/usr/src/linux/drivers/tty/vt"
#endif
-#include "findfile.h"
-extern char pathname[];
-
extern int verbose;
extern int debug;
diff --git a/src/resizecons.c b/src/resizecons.c
index 38b548f..5f84845 100644
--- a/src/resizecons.c
+++ b/src/resizecons.c
@@ -105,8 +105,8 @@
static void vga_set_cursor(int, int);
static void vga_set_verticaldisplayend_lowbyte(int);
-char *dirpath[] = { "", DATADIR "/" VIDEOMODEDIR "/", 0};
-char *suffixes[] = { "", 0 };
+const char *const dirpath[] = { "", DATADIR "/" VIDEOMODEDIR "/", 0};
+const char *const suffixes[] = { "", 0 };
int
main(int argc, char **argv) {
@@ -116,8 +116,8 @@
struct winsize winsize;
char *p;
char tty[12], cmd[80], infile[1024];
- FILE *fin;
char *defaultfont;
+ lkfile_t fp;
set_progname(argv[0]);
@@ -149,13 +149,12 @@
if (mode == MODE_RESTORETEXTMODE) {
/* prepare for: restoretextmode -r 80x25 */
sprintf(infile, "%dx%d", cc, rr);
- fin = findfile(infile, dirpath, suffixes);
- if (!fin) {
+ if (lk_findfile(infile, dirpath, suffixes, &fp)) {
fprintf(stderr, _("resizecons: cannot find videomode file %s\n"),
infile);
exit(1);
}
- fpclose(fin);
+ lk_fpclose(&fp);
}
fd = getfd(NULL);
@@ -244,7 +243,7 @@
if (mode == MODE_RESTORETEXTMODE) {
/* do: restoretextmode -r 25x80 */
- sprintf(cmd, "restoretextmode -r %s\n", pathname);
+ sprintf(cmd, "restoretextmode -r %s\n", fp.pathname);
errno = 0;
if(system(cmd)) {
if(errno)
@@ -332,7 +331,7 @@
return 0;
}
-static void attr_noreturn
+static void __attribute__ ((noreturn))
usage() {
fprintf(stderr,
_("resizecons:\n"
diff --git a/src/setfont.c b/src/setfont.c
index 511a94b..7422792 100644
--- a/src/setfont.c
+++ b/src/setfont.c
@@ -51,23 +51,23 @@
int debug = 0;
/* search for the font in these directories (with trailing /) */
-char *fontdirpath[] = { "", DATADIR "/" FONTDIR "/", 0 };
-char *fontsuffixes[] = { "", ".psfu", ".psf", ".cp", ".fnt", 0 };
+const char *const fontdirpath[] = { "", DATADIR "/" FONTDIR "/", 0 };
+const char *const fontsuffixes[] = { "", ".psfu", ".psf", ".cp", ".fnt", 0 };
/* hide partial fonts a bit - loading a single one is a bad idea */
-char *partfontdirpath[] = { "", DATADIR "/" FONTDIR "/" PARTIALDIR "/", 0 };
-char *partfontsuffixes[] = { "", 0 };
+const char *const partfontdirpath[] = { "", DATADIR "/" FONTDIR "/" PARTIALDIR "/", 0 };
+const char *const partfontsuffixes[] = { "", 0 };
-static inline FILE*
-findfont(char *fnam) {
- return findfile(fnam, fontdirpath, fontsuffixes);
+static inline int
+findfont(char *fnam, lkfile_t *fp) {
+ return lk_findfile(fnam, fontdirpath, fontsuffixes, fp);
}
-static inline FILE*
-findpartialfont(char *fnam) {
- return findfile(fnam, partfontdirpath, partfontsuffixes);
+static inline int
+findpartialfont(char *fnam, lkfile_t *fp) {
+ return lk_findfile(fnam, partfontdirpath, partfontsuffixes, fp);
}
-static void attr_noreturn
+static void __attribute__ ((noreturn))
usage(void)
{
fprintf(stderr, _(
@@ -385,13 +385,14 @@
static void
loadnewfonts(int fd, char **ifiles, int ifilct,
- int iunit, int hwunit, int no_m, int no_u) {
- FILE *fpi;
+ int iunit, int hwunit, int no_m, int no_u)
+{
char *ifil, *inbuf, *fontbuf, *bigfontbuf;
int inputlth, fontbuflth, fontsize, height, width, bytewidth;
int bigfontbuflth, bigfontsize, bigheight, bigwidth;
struct unicode_list *uclistheads;
int i;
+ lkfile_t fp;
if (ifilct == 1) {
loadnewfont(fd, ifiles[0], iunit, hwunit, no_m, no_u);
@@ -409,8 +410,7 @@
for (i=0; i<ifilct; i++) {
ifil = ifiles[i];
- if ((fpi = findfont(ifil)) == NULL &&
- (fpi = findpartialfont(ifil)) == NULL) {
+ if (findfont(ifil, &fp) && findpartialfont(ifil, &fp)) {
fprintf(stderr, _("Cannot open font file %s\n"), ifil);
exit(EX_NOINPUT);
}
@@ -419,21 +419,21 @@
inputlth = fontbuflth = 0;
fontsize = 0;
- if(readpsffont(fpi, &inbuf, &inputlth, &fontbuf, &fontbuflth,
+ if(readpsffont(fp.fd, &inbuf, &inputlth, &fontbuf, &fontbuflth,
&width, &fontsize, bigfontsize,
no_u ? NULL : &uclistheads)) {
fprintf(stderr, _("When loading several fonts, all "
"must be psf fonts - %s isn't\n"),
- pathname);
- fpclose(fpi);
+ fp.pathname);
+ lk_fpclose(&fp);
exit(EX_DATAERR);
}
- fpclose(fpi); // avoid zombies, jw@suse.de (#88501)
+ lk_fpclose(&fp); // avoid zombies, jw@suse.de (#88501)
bytewidth = (width+7) / 8;
height = fontbuflth / (bytewidth * fontsize);
if (verbose)
printf(_("Read %d-char %dx%d font from file %s\n"),
- fontsize, width, height, pathname);
+ fontsize, width, height, fp.pathname);
if (bigheight == 0)
bigheight = height;
@@ -464,8 +464,9 @@
}
static void
-loadnewfont(int fd, char *ifil, int iunit, int hwunit, int no_m, int no_u) {
- FILE *fpi;
+loadnewfont(int fd, char *ifil, int iunit, int hwunit, int no_m, int no_u)
+{
+ lkfile_t fp;
char defname[20];
int height, width, bytewidth, def = 0;
char *inbuf, *fontbuf;
@@ -480,23 +481,23 @@
if (iunit < 0 || iunit > 32)
iunit = 0;
if (iunit == 0) {
- if ((fpi = findfont(ifil = "default")) == NULL &&
- (fpi = findfont(ifil = "default8x16")) == NULL &&
- (fpi = findfont(ifil = "default8x14")) == NULL &&
- (fpi = findfont(ifil = "default8x8")) == NULL) {
+ if (findfont(ifil = "default", &fp) &&
+ findfont(ifil = "default8x16", &fp) &&
+ findfont(ifil = "default8x14", &fp) &&
+ findfont(ifil = "default8x8", &fp)) {
fprintf(stderr, _("Cannot find default font\n"));
exit(EX_NOINPUT);
}
} else {
sprintf(defname, "default8x%d", iunit);
- if ((fpi = findfont(ifil = defname)) == NULL &&
- (fpi = findfont(ifil = "default")) == NULL) {
+ if (findfont(ifil = defname, &fp) &&
+ findfont(ifil = "default", &fp)) {
fprintf(stderr, _("Cannot find %s font\n"), ifil);
exit(EX_NOINPUT);
}
}
} else {
- if ((fpi = findfont(ifil)) == NULL) {
+ if (findfont(ifil, &fp)) {
fprintf(stderr, _("Cannot open font file %s\n"), ifil);
exit(EX_NOINPUT);
}
@@ -509,16 +510,16 @@
inputlth = fontbuflth = fontsize = 0;
width = 8;
uclistheads = NULL;
- if(readpsffont(fpi, &inbuf, &inputlth, &fontbuf, &fontbuflth,
+ if(readpsffont(fp.fd, &inbuf, &inputlth, &fontbuf, &fontbuflth,
&width, &fontsize, 0,
no_u ? NULL : &uclistheads) == 0) {
- fpclose(fpi);
+ lk_fpclose(&fp);
/* we've got a psf font */
bytewidth = (width+7) / 8;
height = fontbuflth / (bytewidth * fontsize);
do_loadfont(fd, fontbuf, width, height, hwunit,
- fontsize, pathname);
+ fontsize, fp.pathname);
if (uclistheads && !no_u)
do_loadtable(fd, uclistheads, fontsize);
#if 1
@@ -527,7 +528,7 @@
#endif
return;
}
- fpclose(fpi); // avoid zombies, jw@suse.de (#88501)
+ lk_fpclose(&fp); // avoid zombies, jw@suse.de (#88501)
/* instructions to combine fonts? */
{ char *combineheader = "# combine partial fonts\n";
@@ -598,7 +599,7 @@
height = inputlth/256;
}
do_loadfont(fd, inbuf+offset, width, height, hwunit, fontsize,
- pathname);
+ fp.pathname);
}
static int
diff --git a/src/setkeycodes.c b/src/setkeycodes.c
index f48da2a..8607c2a 100644
--- a/src/setkeycodes.c
+++ b/src/setkeycodes.c
@@ -14,7 +14,7 @@
#include "nls.h"
#include "version.h"
-static void attr_noreturn
+static void __attribute__ ((noreturn))
usage(char *s) {
fprintf(stderr, "setkeycode: %s\n", s);
fprintf(stderr, _(
diff --git a/src/setleds.c b/src/setleds.c
index 3577aee..8cba879 100644
--- a/src/setleds.c
+++ b/src/setleds.c
@@ -14,7 +14,7 @@
#include "nls.h"
#include "version.h"
-static void attr_noreturn
+static void __attribute__ ((noreturn))
usage(void)
{
fprintf(stderr, _(
@@ -111,12 +111,12 @@
static int sunkbdfd = -1;
#ifndef KIOCGLED
-#define arg_state attr_unused
+#define arg_state __attribute__ ((unused))
#else
#define arg_state
#endif
-static void attr_noreturn
+static void __attribute__ ((noreturn))
sungetleds(arg_state char *cur_leds) {
#ifdef KIOCGLED
if (ioctl(sunkbdfd, KIOCGLED, cur_leds)) {
@@ -132,12 +132,12 @@
}
#ifndef KIOCSLED
-#define arg_state attr_unused
+#define arg_state __attribute__ ((unused))
#else
#define arg_state
#endif
-static void attr_noreturn
+static void __attribute__ ((noreturn))
sunsetleds(arg_state char *cur_leds) {
#ifdef KIOCSLED
if (ioctl(sunkbdfd, KIOCSLED, cur_leds)) {
diff --git a/src/setmetamode.c b/src/setmetamode.c
index 1d927b0..353dd62 100644
--- a/src/setmetamode.c
+++ b/src/setmetamode.c
@@ -13,7 +13,7 @@
#include "nls.h"
#include "version.h"
-static void attr_noreturn
+static void __attribute__ ((noreturn))
usage(void)
{
fprintf(stderr, _(
diff --git a/src/setvtrgb.c b/src/setvtrgb.c
index 1dc923a..f99badc 100644
--- a/src/setvtrgb.c
+++ b/src/setvtrgb.c
@@ -35,7 +35,7 @@
0xff, 0xff, 0xff,
};
-static void attr_noreturn
+static void __attribute__ ((noreturn))
usage(int code)
{
fprintf(stderr,
diff --git a/src/showconsolefont.c b/src/showconsolefont.c
index 733e634..fb7ca6f 100644
--- a/src/showconsolefont.c
+++ b/src/showconsolefont.c
@@ -26,7 +26,7 @@
int have_obuf = 0;
int have_ounimap = 0;
-static void attr_noreturn
+static void __attribute__ ((noreturn))
leave(int n) {
if (have_obuf && loaduniscrnmap(fd,obuf)) {
fprintf(stderr,
@@ -58,7 +58,7 @@
}
}
-static void attr_noreturn
+static void __attribute__ ((noreturn))
out_of_memory(void) {
fprintf(stderr, _("%s: out of memory?\n"), progname);
leave(1);
@@ -98,7 +98,7 @@
leave(1);
}
-static void attr_noreturn
+static void __attribute__ ((noreturn))
usage(void) {
fprintf(stderr,
_("usage: showconsolefont -V|--version\n"
diff --git a/src/showkey.c b/src/showkey.c
index 988238a..1c8f90f 100644
--- a/src/showkey.c
+++ b/src/showkey.c
@@ -60,20 +60,20 @@
close(fd);
}
-static void attr_noreturn
+static void __attribute__ ((noreturn))
die(int x) {
printf(_("caught signal %d, cleaning up...\n"), x);
clean_up();
exit(1);
}
-static void attr_noreturn
-watch_dog(attr_unused int x) {
+static void __attribute__ ((noreturn))
+watch_dog(int x __attribute__ ((unused))) {
clean_up();
exit(0);
}
-static void attr_noreturn
+static void __attribute__ ((noreturn))
usage(void) {
fprintf(stderr, _(
"showkey version %s\n\n"
diff --git a/src/spawn_console.c b/src/spawn_console.c
index 61e3475..14d7df9 100644
--- a/src/spawn_console.c
+++ b/src/spawn_console.c
@@ -21,7 +21,7 @@
#include "kbd.h"
static void
-sighup(attr_unused int n) {
+sighup(int n __attribute__ ((unused))) {
if (system("openvt -s -l bash") == -1) {
perror("system");
exit(1);
diff --git a/src/spawn_login.c b/src/spawn_login.c
index cd7c4bd..a2d953b 100644
--- a/src/spawn_login.c
+++ b/src/spawn_login.c
@@ -16,7 +16,7 @@
#include "kbd.h"
static void
-sighup(attr_unused int n) {
+sighup(int n __attribute__ ((unused))) {
if (system("openvt -s -l -- login -h spawn") == -1) {
perror("system");
exit(1);
diff --git a/src/version.h b/src/version.h
index 39c78ee..29e974f 100644
--- a/src/version.h
+++ b/src/version.h
@@ -15,7 +15,7 @@
progname = (p ? p+1 : name);
}
-static inline void attr_noreturn
+static inline void __attribute__ ((noreturn))
print_version_and_exit(void) {
printf(_("%s from %s\n"), progname, PACKAGE_STRING);
exit(0);
diff --git a/src/xmalloc.c b/src/xmalloc.c
index e470164..9df5d7f 100644
--- a/src/xmalloc.c
+++ b/src/xmalloc.c
@@ -10,7 +10,7 @@
extern char *progname;
-static void attr_noreturn
+static void __attribute__ ((noreturn))
nomem(void) {
fprintf(stderr, _("%s: out of memory\n"), progname);
exit(EX_OSERR);
diff --git a/tests/Makefile.am b/tests/Makefile.am
new file mode 100644
index 0000000..e7d22c2
--- /dev/null
+++ b/tests/Makefile.am
@@ -0,0 +1,52 @@
+AM_CPPFLAGS = \
+ -I$(srcdir)/../src/libkeymap \
+ -I$(builddir)/../src/libkeymap \
+ -DDATADIR=\"$(srcdir)\" -DBUILDDIR=\"$(builddir)\"
+
+AM_CFLAGS = $(CHECK_CFLAGS)
+LDADD = $(top_builddir)/src/libkeymap/libkeymap.la $(CHECK_LIBS)
+
+EXTRA_DIST = \
+ dumpkeys-bkeymap.in \
+ dumpkeys-fulltable.in \
+ dumpkeys-mktable.in \
+ \
+ charset-keymap0.map \
+ dumpkeys.full.ruwin_cplk-UTF-8.map \
+ dumpkeys.qwerty-layout.map \
+ dumpkeys.ua-ws.map \
+ include40.map include41.map \
+ keymap0.map keymap1.map keymap2.map keymap3.map keymap4.map keymap5.map keymap6.map \
+ VoidSymbol.map \
+ \
+ dumpkeys.bkeymap.bin \
+ dumpkeys.defkeymap.c
+
+check_SCRIPTS = dumpkeys-fulltable dumpkeys-mktable dumpkeys-bkeymap
+check_PROGRAMS = libkeymap-init libkeymap-kmap libkeymap-keys libkeymap-parse \
+ libkeymap-charset
+
+noinst_PROGRAMS = \
+ libkeymap-dumpkeys libkeymap-mktable libkeymap-bkeymap \
+ $(check_PROGRAMS)
+
+TESTS = $(check_PROGRAMS) $(check_SCRIPTS)
+CLEANFILES = $(check_SCRIPTS)
+
+libkeymap_init_SOURCES = libkeymap-init.c
+libkeymap_kmap_SOURCES = libkeymap-kmap.c
+libkeymap_keys_SOURCES = libkeymap-keys.c
+libkeymap_parse_SOURCES = libkeymap-parse.c
+libkeymap_charset_SOURCES = libkeymap-charset.c
+libkeymap_dumpkeys_SOURCES = libkeymap-dumpkeys.c
+libkeymap_mktable_SOURCES = libkeymap-mktable.c
+libkeymap_bkeymap_SOURCES = libkeymap-bkeymap.c
+
+%: %.in
+ sed \
+ -e 's,@VERSION@,$(VERSION),g' \
+ -e 's,@DATADIR@,$(srcdir),g' \
+ -e 's,@BUILDDIR@,$(builddir),g' \
+ <$< >$(builddir)/$@
+ touch -r $< $(builddir)/$@
+ chmod 755 $(builddir)/$@
diff --git a/tests/VoidSymbol.map b/tests/VoidSymbol.map
new file mode 100644
index 0000000..98e3f5a
--- /dev/null
+++ b/tests/VoidSymbol.map
@@ -0,0 +1,256 @@
+keymaps 0-255
+keycode 1 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 2 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 3 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 4 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 5 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 6 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 7 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 8 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 9 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 10 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 11 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 12 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 13 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 14 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 15 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 16 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 17 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 18 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 19 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 20 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 21 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 22 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 23 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 24 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 25 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 26 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 27 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 28 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 29 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 30 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 31 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 32 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 33 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 34 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 35 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 36 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 37 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 38 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 39 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 40 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 41 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 42 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 43 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 44 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 45 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 46 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 47 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 48 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 49 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 50 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 51 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 52 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 53 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 54 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 55 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 56 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 57 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 58 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 59 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 60 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 61 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 62 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 63 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 64 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 65 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 66 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 67 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 68 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 69 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 70 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 71 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 72 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 73 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 74 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 75 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 76 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 77 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 78 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 79 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 80 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 81 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 82 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 83 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 84 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 85 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 86 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 87 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 88 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 89 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 90 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 91 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 92 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 93 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 94 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 95 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 96 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 97 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 98 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 99 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 100 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 101 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 102 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 103 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 104 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 105 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 106 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 107 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 108 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 109 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 110 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 111 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 112 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 113 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 114 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 115 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 116 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 117 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 118 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 119 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 120 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 121 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 122 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 123 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 124 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 125 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 126 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 127 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 128 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 129 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 130 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 131 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 132 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 133 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 134 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 135 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 136 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 137 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 138 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 139 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 140 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 141 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 142 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 143 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 144 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 145 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 146 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 147 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 148 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 149 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 150 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 151 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 152 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 153 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 154 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 155 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 156 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 157 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 158 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 159 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 160 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 161 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 162 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 163 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 164 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 165 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 166 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 167 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 168 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 169 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 170 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 171 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 172 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 173 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 174 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 175 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 176 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 177 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 178 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 179 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 180 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 181 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 182 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 183 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 184 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 185 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 186 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 187 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 188 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 189 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 190 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 191 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 192 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 193 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 194 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 195 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 196 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 197 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 198 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 199 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 200 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 201 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 202 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 203 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 204 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 205 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 206 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 207 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 208 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 209 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 210 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 211 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 212 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 213 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 214 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 215 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 216 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 217 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 218 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 219 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 220 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 221 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 222 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 223 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 224 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 225 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 226 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 227 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 228 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 229 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 230 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 231 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 232 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 233 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 234 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 235 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 236 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 237 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 238 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 239 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 240 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 241 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 242 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 243 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 244 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 245 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 246 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 247 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 248 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 249 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 250 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 251 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 252 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 253 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 254 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 255 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
diff --git a/tests/charset-keymap0.map b/tests/charset-keymap0.map
new file mode 100644
index 0000000..e3ddc4f
--- /dev/null
+++ b/tests/charset-keymap0.map
@@ -0,0 +1,4 @@
+charset "koi8-r"
+charset "iso-8859-1"
+charset "iso-8859-2"
+
diff --git a/tests/dumpkeys-bkeymap.in b/tests/dumpkeys-bkeymap.in
new file mode 100755
index 0000000..a3df180
--- /dev/null
+++ b/tests/dumpkeys-bkeymap.in
@@ -0,0 +1,19 @@
+#!/bin/sh -efu
+
+cwd="$(readlink -ev "${0%/*}")"
+
+cd "$cwd"
+
+rc=0
+temp="$(mktemp "@BUILDDIR@/temp.XXXXXXXXX")"
+
+./libkeymap-bkeymap "@DATADIR@/"../data/keymaps/i386/qwerty/defkeymap.map > "$temp" || rc=$?
+cmp -s "@DATADIR@/dumpkeys.bkeymap.bin" "$temp" || rc=$?
+
+if [ "$rc" != 0 ]; then
+ printf 'failed\n'
+else
+ rm -f -- "$temp"
+fi
+
+exit $rc
diff --git a/tests/dumpkeys-fulltable.in b/tests/dumpkeys-fulltable.in
new file mode 100755
index 0000000..7c856e5
--- /dev/null
+++ b/tests/dumpkeys-fulltable.in
@@ -0,0 +1,41 @@
+#!/bin/sh -efu
+
+cwd="$(readlink -ev "${0%/*}")"
+
+cd "$cwd"
+
+BUILDDIR="@BUILDDIR@"
+DATADIR="@DATADIR@"
+
+check_keymap() {
+ local kmap temp rc
+
+ rc=0
+ kmap="$1"
+ temp="$(mktemp "$BUILDDIR"/temp.XXXXXXXXX)"
+
+ ./libkeymap-dumpkeys "$kmap" "$2" "$3" > "$temp" || rc=$?
+ cmp -s "$kmap" "$temp" || rc=$?
+
+ if [ "$rc" != 0 ]; then
+ printf '%s: failed\n' "${kmap##*/}"
+ else
+ rm -f -- "$temp"
+ fi
+
+ return $rc
+}
+
+check_keymap "$DATADIR"/dumpkeys.full.ruwin_cplk-UTF-8.map FULL_TABLE TRUE
+check_keymap "$DATADIR"/dumpkeys.qwerty-layout.map DEFAULT FALSE
+
+# check keymaps line
+kmap="$DATADIR/dumpkeys.ua-ws.map"
+line0="$(grep '^#keymaps ' "$kmap")" ||:
+line0="${line0#\#}"
+line1="$(./libkeymap-dumpkeys "$kmap" SEPARATE_LINE FALSE |grep '^keymaps ')" ||:
+
+if [ "$line0" != "$line1" ]; then
+ printf 'was: %s\n' "$line0"
+ printf 'new: %s\n' "$line1"
+fi >&2
diff --git a/tests/dumpkeys-mktable.in b/tests/dumpkeys-mktable.in
new file mode 100755
index 0000000..3ea7f62
--- /dev/null
+++ b/tests/dumpkeys-mktable.in
@@ -0,0 +1,19 @@
+#!/bin/sh -efu
+
+cwd="$(readlink -ev "${0%/*}")"
+
+cd "$cwd"
+
+rc=0
+temp="$(mktemp "@BUILDDIR@/temp.XXXXXXXXX")"
+
+./libkeymap-mktable "@DATADIR@/"../data/keymaps/i386/qwerty/defkeymap.map > "$temp" || rc=$?
+cmp -s "@DATADIR@/dumpkeys.defkeymap.c" "$temp" || rc=$?
+
+if [ "$rc" != 0 ]; then
+ printf 'failed\n'
+else
+ rm -f -- "$temp"
+fi
+
+exit $rc
diff --git a/tests/dumpkeys.bkeymap.bin b/tests/dumpkeys.bkeymap.bin
new file mode 100644
index 0000000..92cb663
--- /dev/null
+++ b/tests/dumpkeys.bkeymap.bin
Binary files differ
diff --git a/tests/dumpkeys.defkeymap.c b/tests/dumpkeys.defkeymap.c
new file mode 100644
index 0000000..58b340f
--- /dev/null
+++ b/tests/dumpkeys.defkeymap.c
@@ -0,0 +1,689 @@
+/* Do not edit this file! It was automatically generated by */
+/* loadkeys --mktable defkeymap.map > defkeymap.c */
+
+#include <linux/types.h>
+#include <linux/keyboard.h>
+#include <linux/kd.h>
+
+u_short plain_map[NR_KEYS] = {
+ 0xf200, 0xf01b, 0xf031, 0xf032, 0xf033, 0xf034, 0xf035, 0xf036,
+ 0xf037, 0xf038, 0xf039, 0xf030, 0xf02d, 0xf03d, 0xf07f, 0xf009,
+ 0xfb71, 0xfb77, 0xfb65, 0xfb72, 0xfb74, 0xfb79, 0xfb75, 0xfb69,
+ 0xfb6f, 0xfb70, 0xf05b, 0xf05d, 0xf201, 0xf702, 0xfb61, 0xfb73,
+ 0xfb64, 0xfb66, 0xfb67, 0xfb68, 0xfb6a, 0xfb6b, 0xfb6c, 0xf03b,
+ 0xf027, 0xf060, 0xf700, 0xf05c, 0xfb7a, 0xfb78, 0xfb63, 0xfb76,
+ 0xfb62, 0xfb6e, 0xfb6d, 0xf02c, 0xf02e, 0xf02f, 0xf700, 0xf30c,
+ 0xf703, 0xf020, 0xf207, 0xf100, 0xf101, 0xf102, 0xf103, 0xf104,
+ 0xf105, 0xf106, 0xf107, 0xf108, 0xf109, 0xf208, 0xf209, 0xf307,
+ 0xf308, 0xf309, 0xf30b, 0xf304, 0xf305, 0xf306, 0xf30a, 0xf301,
+ 0xf302, 0xf303, 0xf300, 0xf310, 0xf206, 0xf200, 0xf03c, 0xf10a,
+ 0xf10b, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf30e, 0xf702, 0xf30d, 0xf200, 0xf701, 0xf205, 0xf114, 0xf603,
+ 0xf118, 0xf601, 0xf602, 0xf117, 0xf600, 0xf119, 0xf115, 0xf116,
+ 0xf11a, 0xf10c, 0xf10d, 0xf11b, 0xf11c, 0xf110, 0xf311, 0xf11d,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf210, 0xf211, 0xf20e,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+};
+
+static u_short shift_map[NR_KEYS] = {
+ 0xf200, 0xf01b, 0xf021, 0xf040, 0xf023, 0xf024, 0xf025, 0xf05e,
+ 0xf026, 0xf02a, 0xf028, 0xf029, 0xf05f, 0xf02b, 0xf07f, 0xf809,
+ 0xfb51, 0xfb57, 0xfb45, 0xfb52, 0xfb54, 0xfb59, 0xfb55, 0xfb49,
+ 0xfb4f, 0xfb50, 0xf07b, 0xf07d, 0xf201, 0xf702, 0xfb41, 0xfb53,
+ 0xfb44, 0xfb46, 0xfb47, 0xfb48, 0xfb4a, 0xfb4b, 0xfb4c, 0xf03a,
+ 0xf022, 0xf07e, 0xf700, 0xf07c, 0xfb5a, 0xfb58, 0xfb43, 0xfb56,
+ 0xfb42, 0xfb4e, 0xfb4d, 0xf03c, 0xf03e, 0xf03f, 0xf700, 0xf30c,
+ 0xf703, 0xf020, 0xf207, 0xf10c, 0xf10d, 0xf10e, 0xf10f, 0xf110,
+ 0xf111, 0xf112, 0xf113, 0xf11e, 0xf11f, 0xf208, 0xf203, 0xf307,
+ 0xf308, 0xf309, 0xf30b, 0xf304, 0xf305, 0xf306, 0xf30a, 0xf301,
+ 0xf302, 0xf303, 0xf300, 0xf310, 0xf206, 0xf200, 0xf03e, 0xf120,
+ 0xf121, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf30e, 0xf702, 0xf30d, 0xf200, 0xf701, 0xf205, 0xf114, 0xf603,
+ 0xf20b, 0xf601, 0xf602, 0xf117, 0xf600, 0xf20a, 0xf115, 0xf116,
+ 0xf11a, 0xf10c, 0xf10d, 0xf11b, 0xf11c, 0xf110, 0xf311, 0xf11d,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf206, 0xf206, 0xf210,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+};
+
+static u_short altgr_map[NR_KEYS] = {
+ 0xf200, 0xf200, 0xf200, 0xf040, 0xf200, 0xf024, 0xf200, 0xf200,
+ 0xf07b, 0xf05b, 0xf05d, 0xf07d, 0xf05c, 0xf200, 0xf200, 0xf200,
+ 0xfb71, 0xfb77, 0xfb65, 0xfb72, 0xfb74, 0xfb79, 0xfb75, 0xfb69,
+ 0xfb6f, 0xfb70, 0xf200, 0xf07e, 0xf201, 0xf702, 0xfb61, 0xfb73,
+ 0xfb64, 0xfb66, 0xfb67, 0xfb68, 0xfb6a, 0xfb6b, 0xfb6c, 0xf200,
+ 0xf200, 0xf200, 0xf700, 0xf200, 0xfb7a, 0xfb78, 0xfb63, 0xfb76,
+ 0xfb62, 0xfb6e, 0xfb6d, 0xf200, 0xf200, 0xf200, 0xf700, 0xf30c,
+ 0xf703, 0xf200, 0xf207, 0xf50c, 0xf50d, 0xf50e, 0xf50f, 0xf510,
+ 0xf511, 0xf512, 0xf513, 0xf514, 0xf515, 0xf208, 0xf202, 0xf307,
+ 0xf308, 0xf309, 0xf30b, 0xf304, 0xf305, 0xf306, 0xf30a, 0xf301,
+ 0xf302, 0xf303, 0xf300, 0xf310, 0xf206, 0xf200, 0xf07c, 0xf516,
+ 0xf517, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf30e, 0xf702, 0xf30d, 0xf200, 0xf701, 0xf205, 0xf114, 0xf603,
+ 0xf118, 0xf601, 0xf602, 0xf117, 0xf600, 0xf119, 0xf115, 0xf116,
+ 0xf11a, 0xf10c, 0xf10d, 0xf11b, 0xf11c, 0xf110, 0xf311, 0xf11d,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf211, 0xf210, 0xf211,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+};
+
+static u_short shift_altgr_map[NR_KEYS] = {
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xfb51, 0xfb57, 0xfb45, 0xfb52, 0xfb54, 0xfb59, 0xfb55, 0xfb49,
+ 0xfb4f, 0xfb50, 0xf200, 0xf200, 0xf201, 0xf702, 0xfb41, 0xfb53,
+ 0xfb44, 0xfb46, 0xfb47, 0xfb48, 0xfb4a, 0xfb4b, 0xfb4c, 0xf200,
+ 0xf200, 0xf200, 0xf700, 0xf200, 0xfb5a, 0xfb58, 0xfb43, 0xfb56,
+ 0xfb42, 0xfb4e, 0xfb4d, 0xf200, 0xf200, 0xf200, 0xf700, 0xf30c,
+ 0xf703, 0xf200, 0xf207, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf208, 0xf200, 0xf307,
+ 0xf308, 0xf309, 0xf30b, 0xf304, 0xf305, 0xf306, 0xf30a, 0xf301,
+ 0xf302, 0xf303, 0xf300, 0xf310, 0xf206, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf30e, 0xf702, 0xf30d, 0xf200, 0xf701, 0xf205, 0xf114, 0xf603,
+ 0xf118, 0xf601, 0xf602, 0xf117, 0xf600, 0xf119, 0xf115, 0xf116,
+ 0xf11a, 0xf10c, 0xf10d, 0xf11b, 0xf11c, 0xf110, 0xf311, 0xf11d,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf20e, 0xf20e, 0xf206,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+};
+
+static u_short ctrl_map[NR_KEYS] = {
+ 0xf200, 0xf200, 0xf200, 0xf000, 0xf01b, 0xf01c, 0xf01d, 0xf01e,
+ 0xf01f, 0xf07f, 0xf200, 0xf200, 0xf01f, 0xf200, 0xf008, 0xf200,
+ 0xf011, 0xf017, 0xf005, 0xf012, 0xf014, 0xf019, 0xf015, 0xf009,
+ 0xf00f, 0xf010, 0xf01b, 0xf01d, 0xf201, 0xf702, 0xf001, 0xf013,
+ 0xf004, 0xf006, 0xf007, 0xf008, 0xf00a, 0xf00b, 0xf00c, 0xf200,
+ 0xf007, 0xf000, 0xf700, 0xf01c, 0xf01a, 0xf018, 0xf003, 0xf016,
+ 0xf002, 0xf00e, 0xf00d, 0xf200, 0xf20e, 0xf07f, 0xf700, 0xf30c,
+ 0xf703, 0xf000, 0xf207, 0xf122, 0xf123, 0xf124, 0xf125, 0xf126,
+ 0xf127, 0xf128, 0xf129, 0xf12a, 0xf12b, 0xf208, 0xf204, 0xf307,
+ 0xf308, 0xf309, 0xf30b, 0xf304, 0xf305, 0xf306, 0xf30a, 0xf301,
+ 0xf302, 0xf303, 0xf300, 0xf310, 0xf206, 0xf200, 0xf200, 0xf12c,
+ 0xf12d, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf30e, 0xf702, 0xf30d, 0xf01c, 0xf701, 0xf205, 0xf114, 0xf603,
+ 0xf118, 0xf601, 0xf602, 0xf117, 0xf600, 0xf119, 0xf115, 0xf116,
+ 0xf11a, 0xf10c, 0xf10d, 0xf11b, 0xf11c, 0xf110, 0xf311, 0xf11d,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+};
+
+static u_short shift_ctrl_map[NR_KEYS] = {
+ 0xf200, 0xf200, 0xf200, 0xf000, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf01f, 0xf200, 0xf200, 0xf200,
+ 0xf011, 0xf017, 0xf005, 0xf012, 0xf014, 0xf019, 0xf015, 0xf009,
+ 0xf00f, 0xf010, 0xf200, 0xf200, 0xf201, 0xf702, 0xf001, 0xf013,
+ 0xf004, 0xf006, 0xf007, 0xf008, 0xf00a, 0xf00b, 0xf00c, 0xf200,
+ 0xf200, 0xf200, 0xf700, 0xf200, 0xf01a, 0xf018, 0xf003, 0xf016,
+ 0xf002, 0xf00e, 0xf00d, 0xf200, 0xf200, 0xf07f, 0xf700, 0xf30c,
+ 0xf703, 0xf200, 0xf207, 0xf12e, 0xf12f, 0xf130, 0xf131, 0xf132,
+ 0xf133, 0xf134, 0xf135, 0xf136, 0xf137, 0xf208, 0xf200, 0xf307,
+ 0xf308, 0xf309, 0xf30b, 0xf304, 0xf305, 0xf306, 0xf30a, 0xf301,
+ 0xf302, 0xf303, 0xf300, 0xf310, 0xf206, 0xf200, 0xf200, 0xf138,
+ 0xf139, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf30e, 0xf702, 0xf30d, 0xf200, 0xf701, 0xf205, 0xf114, 0xf603,
+ 0xf118, 0xf601, 0xf602, 0xf117, 0xf600, 0xf119, 0xf115, 0xf116,
+ 0xf11a, 0xf10c, 0xf10d, 0xf11b, 0xf11c, 0xf110, 0xf311, 0xf11d,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+};
+
+static u_short altgr_ctrl_map[NR_KEYS] = {
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf011, 0xf017, 0xf005, 0xf012, 0xf014, 0xf019, 0xf015, 0xf009,
+ 0xf00f, 0xf010, 0xf200, 0xf200, 0xf201, 0xf702, 0xf001, 0xf013,
+ 0xf004, 0xf006, 0xf007, 0xf008, 0xf00a, 0xf00b, 0xf00c, 0xf200,
+ 0xf200, 0xf200, 0xf700, 0xf200, 0xf01a, 0xf018, 0xf003, 0xf016,
+ 0xf002, 0xf00e, 0xf00d, 0xf200, 0xf200, 0xf200, 0xf700, 0xf30c,
+ 0xf703, 0xf200, 0xf207, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf208, 0xf200, 0xf307,
+ 0xf308, 0xf309, 0xf30b, 0xf304, 0xf305, 0xf306, 0xf30a, 0xf301,
+ 0xf302, 0xf303, 0xf300, 0xf20c, 0xf206, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf30e, 0xf702, 0xf30d, 0xf200, 0xf701, 0xf205, 0xf114, 0xf603,
+ 0xf118, 0xf601, 0xf602, 0xf117, 0xf600, 0xf119, 0xf115, 0xf20c,
+ 0xf11a, 0xf10c, 0xf10d, 0xf11b, 0xf11c, 0xf110, 0xf311, 0xf11d,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+};
+
+static u_short shift_altgr_ctrl_map[NR_KEYS] = {
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf011, 0xf017, 0xf005, 0xf012, 0xf014, 0xf019, 0xf015, 0xf009,
+ 0xf00f, 0xf010, 0xf200, 0xf200, 0xf201, 0xf702, 0xf001, 0xf013,
+ 0xf004, 0xf006, 0xf007, 0xf008, 0xf00a, 0xf00b, 0xf00c, 0xf200,
+ 0xf200, 0xf200, 0xf700, 0xf200, 0xf01a, 0xf018, 0xf003, 0xf016,
+ 0xf002, 0xf00e, 0xf00d, 0xf200, 0xf200, 0xf200, 0xf700, 0xf30c,
+ 0xf703, 0xf200, 0xf207, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf208, 0xf200, 0xf307,
+ 0xf308, 0xf309, 0xf30b, 0xf304, 0xf305, 0xf306, 0xf30a, 0xf301,
+ 0xf302, 0xf303, 0xf300, 0xf310, 0xf206, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf30e, 0xf702, 0xf30d, 0xf200, 0xf701, 0xf205, 0xf114, 0xf603,
+ 0xf118, 0xf601, 0xf602, 0xf117, 0xf600, 0xf119, 0xf115, 0xf116,
+ 0xf11a, 0xf10c, 0xf10d, 0xf11b, 0xf11c, 0xf110, 0xf311, 0xf11d,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+};
+
+static u_short alt_map[NR_KEYS] = {
+ 0xf200, 0xf81b, 0xf831, 0xf832, 0xf833, 0xf834, 0xf835, 0xf836,
+ 0xf837, 0xf838, 0xf839, 0xf830, 0xf82d, 0xf83d, 0xf87f, 0xf809,
+ 0xf871, 0xf877, 0xf865, 0xf872, 0xf874, 0xf879, 0xf875, 0xf869,
+ 0xf86f, 0xf870, 0xf85b, 0xf85d, 0xf80d, 0xf702, 0xf861, 0xf873,
+ 0xf864, 0xf866, 0xf867, 0xf868, 0xf86a, 0xf86b, 0xf86c, 0xf83b,
+ 0xf827, 0xf860, 0xf700, 0xf85c, 0xf87a, 0xf878, 0xf863, 0xf876,
+ 0xf862, 0xf86e, 0xf86d, 0xf82c, 0xf82e, 0xf82f, 0xf700, 0xf30c,
+ 0xf703, 0xf820, 0xf207, 0xf500, 0xf501, 0xf502, 0xf503, 0xf504,
+ 0xf505, 0xf506, 0xf507, 0xf508, 0xf509, 0xf208, 0xf209, 0xf907,
+ 0xf908, 0xf909, 0xf30b, 0xf904, 0xf905, 0xf906, 0xf30a, 0xf901,
+ 0xf902, 0xf903, 0xf900, 0xf310, 0xf206, 0xf200, 0xf83c, 0xf50a,
+ 0xf50b, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf30e, 0xf702, 0xf30d, 0xf01c, 0xf701, 0xf205, 0xf114, 0xf603,
+ 0xf118, 0xf210, 0xf211, 0xf117, 0xf600, 0xf119, 0xf115, 0xf116,
+ 0xf11a, 0xf10c, 0xf10d, 0xf11b, 0xf11c, 0xf110, 0xf311, 0xf11d,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+};
+
+static u_short shift_alt_map[NR_KEYS] = {
+ 0xf200, 0xf200, 0xf821, 0xf840, 0xf823, 0xf824, 0xf825, 0xf85e,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf851, 0xf857, 0xf845, 0xf852, 0xf854, 0xf859, 0xf855, 0xf849,
+ 0xf84f, 0xf850, 0xf87b, 0xf87d, 0xf201, 0xf702, 0xf841, 0xf853,
+ 0xf844, 0xf846, 0xf847, 0xf848, 0xf84a, 0xf84b, 0xf84c, 0xf200,
+ 0xf200, 0xf200, 0xf700, 0xf87c, 0xf85a, 0xf858, 0xf843, 0xf856,
+ 0xf842, 0xf84e, 0xf84d, 0xf83c, 0xf83e, 0xf200, 0xf700, 0xf30c,
+ 0xf703, 0xf200, 0xf207, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf208, 0xf200, 0xf307,
+ 0xf308, 0xf309, 0xf30b, 0xf304, 0xf305, 0xf306, 0xf30a, 0xf301,
+ 0xf302, 0xf303, 0xf300, 0xf310, 0xf206, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf30e, 0xf702, 0xf30d, 0xf200, 0xf701, 0xf205, 0xf114, 0xf603,
+ 0xf118, 0xf601, 0xf602, 0xf117, 0xf600, 0xf119, 0xf115, 0xf116,
+ 0xf11a, 0xf10c, 0xf10d, 0xf11b, 0xf11c, 0xf110, 0xf311, 0xf11d,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+};
+
+static u_short altgr_alt_map[NR_KEYS] = {
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf871, 0xf877, 0xf865, 0xf872, 0xf874, 0xf879, 0xf875, 0xf869,
+ 0xf86f, 0xf870, 0xf200, 0xf200, 0xf201, 0xf702, 0xf861, 0xf873,
+ 0xf864, 0xf866, 0xf867, 0xf868, 0xf86a, 0xf86b, 0xf86c, 0xf200,
+ 0xf200, 0xf200, 0xf700, 0xf200, 0xf87a, 0xf878, 0xf863, 0xf876,
+ 0xf862, 0xf86e, 0xf86d, 0xf200, 0xf200, 0xf200, 0xf700, 0xf30c,
+ 0xf703, 0xf200, 0xf207, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf208, 0xf200, 0xf307,
+ 0xf308, 0xf309, 0xf30b, 0xf304, 0xf305, 0xf306, 0xf30a, 0xf301,
+ 0xf302, 0xf303, 0xf300, 0xf310, 0xf206, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf30e, 0xf702, 0xf30d, 0xf200, 0xf701, 0xf205, 0xf114, 0xf603,
+ 0xf118, 0xf601, 0xf602, 0xf117, 0xf600, 0xf119, 0xf115, 0xf116,
+ 0xf11a, 0xf10c, 0xf10d, 0xf11b, 0xf11c, 0xf110, 0xf311, 0xf11d,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+};
+
+static u_short shift_altgr_alt_map[NR_KEYS] = {
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf851, 0xf857, 0xf845, 0xf852, 0xf854, 0xf859, 0xf855, 0xf849,
+ 0xf84f, 0xf850, 0xf200, 0xf200, 0xf201, 0xf702, 0xf841, 0xf853,
+ 0xf844, 0xf846, 0xf847, 0xf848, 0xf84a, 0xf84b, 0xf84c, 0xf200,
+ 0xf200, 0xf200, 0xf700, 0xf200, 0xf85a, 0xf858, 0xf843, 0xf856,
+ 0xf842, 0xf84e, 0xf84d, 0xf200, 0xf200, 0xf200, 0xf700, 0xf30c,
+ 0xf703, 0xf200, 0xf207, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf208, 0xf200, 0xf307,
+ 0xf308, 0xf309, 0xf30b, 0xf304, 0xf305, 0xf306, 0xf30a, 0xf301,
+ 0xf302, 0xf303, 0xf300, 0xf310, 0xf206, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf30e, 0xf702, 0xf30d, 0xf200, 0xf701, 0xf205, 0xf114, 0xf603,
+ 0xf118, 0xf601, 0xf602, 0xf117, 0xf600, 0xf119, 0xf115, 0xf116,
+ 0xf11a, 0xf10c, 0xf10d, 0xf11b, 0xf11c, 0xf110, 0xf311, 0xf11d,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+};
+
+static u_short ctrl_alt_map[NR_KEYS] = {
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf811, 0xf817, 0xf805, 0xf812, 0xf814, 0xf819, 0xf815, 0xf809,
+ 0xf80f, 0xf810, 0xf200, 0xf200, 0xf201, 0xf702, 0xf801, 0xf813,
+ 0xf804, 0xf806, 0xf807, 0xf808, 0xf80a, 0xf80b, 0xf80c, 0xf200,
+ 0xf200, 0xf200, 0xf700, 0xf200, 0xf81a, 0xf818, 0xf803, 0xf816,
+ 0xf802, 0xf80e, 0xf80d, 0xf200, 0xf200, 0xf200, 0xf700, 0xf30c,
+ 0xf703, 0xf200, 0xf207, 0xf500, 0xf501, 0xf502, 0xf503, 0xf504,
+ 0xf505, 0xf506, 0xf507, 0xf508, 0xf509, 0xf208, 0xf200, 0xf307,
+ 0xf308, 0xf309, 0xf30b, 0xf304, 0xf305, 0xf306, 0xf30a, 0xf301,
+ 0xf302, 0xf303, 0xf300, 0xf20c, 0xf206, 0xf200, 0xf200, 0xf50a,
+ 0xf50b, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf30e, 0xf702, 0xf30d, 0xf200, 0xf701, 0xf205, 0xf114, 0xf603,
+ 0xf118, 0xf601, 0xf602, 0xf117, 0xf600, 0xf119, 0xf115, 0xf20c,
+ 0xf11a, 0xf10c, 0xf10d, 0xf11b, 0xf11c, 0xf110, 0xf311, 0xf11d,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+};
+
+static u_short shift_ctrl_alt_map[NR_KEYS] = {
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf811, 0xf817, 0xf805, 0xf812, 0xf814, 0xf819, 0xf815, 0xf809,
+ 0xf80f, 0xf810, 0xf200, 0xf200, 0xf201, 0xf702, 0xf801, 0xf813,
+ 0xf804, 0xf806, 0xf807, 0xf808, 0xf80a, 0xf80b, 0xf80c, 0xf200,
+ 0xf200, 0xf200, 0xf700, 0xf200, 0xf81a, 0xf818, 0xf803, 0xf816,
+ 0xf802, 0xf80e, 0xf80d, 0xf200, 0xf200, 0xf200, 0xf700, 0xf30c,
+ 0xf703, 0xf200, 0xf207, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf208, 0xf200, 0xf307,
+ 0xf308, 0xf309, 0xf30b, 0xf304, 0xf305, 0xf306, 0xf30a, 0xf301,
+ 0xf302, 0xf303, 0xf300, 0xf310, 0xf206, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf30e, 0xf702, 0xf30d, 0xf200, 0xf701, 0xf205, 0xf114, 0xf603,
+ 0xf118, 0xf601, 0xf602, 0xf117, 0xf600, 0xf119, 0xf115, 0xf116,
+ 0xf11a, 0xf10c, 0xf10d, 0xf11b, 0xf11c, 0xf110, 0xf311, 0xf11d,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+};
+
+static u_short altgr_ctrl_alt_map[NR_KEYS] = {
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf811, 0xf817, 0xf805, 0xf812, 0xf814, 0xf819, 0xf815, 0xf809,
+ 0xf80f, 0xf810, 0xf200, 0xf200, 0xf201, 0xf702, 0xf801, 0xf813,
+ 0xf804, 0xf806, 0xf807, 0xf808, 0xf80a, 0xf80b, 0xf80c, 0xf200,
+ 0xf200, 0xf200, 0xf700, 0xf200, 0xf81a, 0xf818, 0xf803, 0xf816,
+ 0xf802, 0xf80e, 0xf80d, 0xf200, 0xf200, 0xf200, 0xf700, 0xf30c,
+ 0xf703, 0xf200, 0xf207, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf208, 0xf200, 0xf307,
+ 0xf308, 0xf309, 0xf30b, 0xf304, 0xf305, 0xf306, 0xf30a, 0xf301,
+ 0xf302, 0xf303, 0xf300, 0xf310, 0xf206, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf30e, 0xf702, 0xf30d, 0xf200, 0xf701, 0xf205, 0xf114, 0xf603,
+ 0xf118, 0xf601, 0xf602, 0xf117, 0xf600, 0xf119, 0xf115, 0xf116,
+ 0xf11a, 0xf10c, 0xf10d, 0xf11b, 0xf11c, 0xf110, 0xf311, 0xf11d,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+};
+
+static u_short shift_altgr_ctrl_alt_map[NR_KEYS] = {
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf811, 0xf817, 0xf805, 0xf812, 0xf814, 0xf819, 0xf815, 0xf809,
+ 0xf80f, 0xf810, 0xf200, 0xf200, 0xf201, 0xf702, 0xf801, 0xf813,
+ 0xf804, 0xf806, 0xf807, 0xf808, 0xf80a, 0xf80b, 0xf80c, 0xf200,
+ 0xf200, 0xf200, 0xf700, 0xf200, 0xf81a, 0xf818, 0xf803, 0xf816,
+ 0xf802, 0xf80e, 0xf80d, 0xf200, 0xf200, 0xf200, 0xf700, 0xf30c,
+ 0xf703, 0xf200, 0xf207, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf208, 0xf200, 0xf307,
+ 0xf308, 0xf309, 0xf30b, 0xf304, 0xf305, 0xf306, 0xf30a, 0xf301,
+ 0xf302, 0xf303, 0xf300, 0xf310, 0xf206, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf30e, 0xf702, 0xf30d, 0xf200, 0xf701, 0xf205, 0xf114, 0xf603,
+ 0xf118, 0xf601, 0xf602, 0xf117, 0xf600, 0xf119, 0xf115, 0xf116,
+ 0xf11a, 0xf10c, 0xf10d, 0xf11b, 0xf11c, 0xf110, 0xf311, 0xf11d,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+};
+
+ushort *key_maps[MAX_NR_KEYMAPS] = {
+ plain_map, shift_map, altgr_map, shift_altgr_map,
+ ctrl_map, shift_ctrl_map, altgr_ctrl_map, shift_altgr_ctrl_map,
+ alt_map, shift_alt_map, altgr_alt_map, shift_altgr_alt_map,
+ ctrl_alt_map, shift_ctrl_alt_map, altgr_ctrl_alt_map, shift_altgr_ctrl_alt_map, 0
+};
+
+unsigned int keymap_count = 16;
+
+/*
+ * Philosophy: most people do not define more strings, but they who do
+ * often want quite a lot of string space. So, we statically allocate
+ * the default and allocate dynamically in chunks of 512 bytes.
+ */
+
+char func_buf[] = {
+ '\033', '[', '[', 'A', 0,
+ '\033', '[', '[', 'B', 0,
+ '\033', '[', '[', 'C', 0,
+ '\033', '[', '[', 'D', 0,
+ '\033', '[', '[', 'E', 0,
+ '\033', '[', '1', '7', '~', 0,
+ '\033', '[', '1', '8', '~', 0,
+ '\033', '[', '1', '9', '~', 0,
+ '\033', '[', '2', '0', '~', 0,
+ '\033', '[', '2', '1', '~', 0,
+ '\033', '[', '2', '3', '~', 0,
+ '\033', '[', '2', '4', '~', 0,
+ '\033', '[', '2', '5', '~', 0,
+ '\033', '[', '2', '6', '~', 0,
+ '\033', '[', '2', '8', '~', 0,
+ '\033', '[', '2', '9', '~', 0,
+ '\033', '[', '3', '1', '~', 0,
+ '\033', '[', '3', '2', '~', 0,
+ '\033', '[', '3', '3', '~', 0,
+ '\033', '[', '3', '4', '~', 0,
+ '\033', '[', '1', '~', 0,
+ '\033', '[', '2', '~', 0,
+ '\033', '[', '3', '~', 0,
+ '\033', '[', '4', '~', 0,
+ '\033', '[', '5', '~', 0,
+ '\033', '[', '6', '~', 0,
+ '\033', '[', 'M', 0,
+ '\033', '[', 'P', 0,
+};
+
+char *funcbufptr = func_buf;
+int funcbufsize = sizeof(func_buf);
+int funcbufleft = 0; /* space left */
+
+char *func_table[MAX_NR_FUNC] = {
+ func_buf + 0,
+ func_buf + 5,
+ func_buf + 10,
+ func_buf + 15,
+ func_buf + 20,
+ func_buf + 25,
+ func_buf + 31,
+ func_buf + 37,
+ func_buf + 43,
+ func_buf + 49,
+ func_buf + 55,
+ func_buf + 61,
+ func_buf + 67,
+ func_buf + 73,
+ func_buf + 79,
+ func_buf + 85,
+ func_buf + 91,
+ func_buf + 97,
+ func_buf + 103,
+ func_buf + 109,
+ func_buf + 115,
+ func_buf + 120,
+ func_buf + 125,
+ func_buf + 130,
+ func_buf + 135,
+ func_buf + 140,
+ func_buf + 145,
+ 0,
+ 0,
+ func_buf + 149,
+ 0,
+};
+
+struct kbdiacr accent_table[MAX_DIACR] = {
+ {'`', 'A', '\300'}, {'`', 'a', '\340'},
+ {'\'', 'A', '\301'}, {'\'', 'a', '\341'},
+ {'^', 'A', '\302'}, {'^', 'a', '\342'},
+ {'~', 'A', '\303'}, {'~', 'a', '\343'},
+ {'"', 'A', '\304'}, {'"', 'a', '\344'},
+ {'O', 'A', '\305'}, {'o', 'a', '\345'},
+ {'0', 'A', '\305'}, {'0', 'a', '\345'},
+ {'A', 'A', '\305'}, {'a', 'a', '\345'},
+ {'A', 'E', '\306'}, {'a', 'e', '\346'},
+ {',', 'C', '\307'}, {',', 'c', '\347'},
+ {'`', 'E', '\310'}, {'`', 'e', '\350'},
+ {'\'', 'E', '\311'}, {'\'', 'e', '\351'},
+ {'^', 'E', '\312'}, {'^', 'e', '\352'},
+ {'"', 'E', '\313'}, {'"', 'e', '\353'},
+ {'`', 'I', '\314'}, {'`', 'i', '\354'},
+ {'\'', 'I', '\315'}, {'\'', 'i', '\355'},
+ {'^', 'I', '\316'}, {'^', 'i', '\356'},
+ {'"', 'I', '\317'}, {'"', 'i', '\357'},
+ {'-', 'D', '\320'}, {'-', 'd', '\360'},
+ {'~', 'N', '\321'}, {'~', 'n', '\361'},
+ {'`', 'O', '\322'}, {'`', 'o', '\362'},
+ {'\'', 'O', '\323'}, {'\'', 'o', '\363'},
+ {'^', 'O', '\324'}, {'^', 'o', '\364'},
+ {'~', 'O', '\325'}, {'~', 'o', '\365'},
+ {'"', 'O', '\326'}, {'"', 'o', '\366'},
+ {'/', 'O', '\330'}, {'/', 'o', '\370'},
+ {'`', 'U', '\331'}, {'`', 'u', '\371'},
+ {'\'', 'U', '\332'}, {'\'', 'u', '\372'},
+ {'^', 'U', '\333'}, {'^', 'u', '\373'},
+ {'"', 'U', '\334'}, {'"', 'u', '\374'},
+ {'\'', 'Y', '\335'}, {'\'', 'y', '\375'},
+ {'T', 'H', '\336'}, {'t', 'h', '\376'},
+ {'s', 's', '\337'}, {'"', 'y', '\377'},
+ {'s', 'z', '\337'}, {'i', 'j', '\377'},
+};
+
+unsigned int accent_table_size = 68;
diff --git a/tests/dumpkeys.full.ruwin_cplk-UTF-8.map b/tests/dumpkeys.full.ruwin_cplk-UTF-8.map
new file mode 100644
index 0000000..929a32a
--- /dev/null
+++ b/tests/dumpkeys.full.ruwin_cplk-UTF-8.map
@@ -0,0 +1,513 @@
+keymaps 0-255
+keycode 1 = 0x001b 0x001b 0x001b 0x001b 0x0200 0x0200 0x0200 0x0200 0x081b 0x0200 0x081b 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 2 = 0x0031 0x0021 0x0031 0x0021 0x0200 0x0200 0x0200 0x0200 0x0831 0x0821 0x0831 0x0821 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 3 = 0x0032 0x0040 0x0032 0x0022 0x0000 0x0200 0x0000 0x0200 0x0832 0x0840 0x0832 0x0840 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 4 = 0x0033 0x0023 0x0033 0x0023 0x001b 0x0200 0x001b 0x0200 0x0833 0x0823 0x0833 0x0823 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 5 = 0x0034 0x0024 0x0034 0x003b 0x001c 0x0200 0x001c 0x0200 0x0834 0x0824 0x0834 0x0824 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 6 = 0x0035 0x0025 0x0035 0x0025 0x001d 0x0200 0x001d 0x0200 0x0835 0x0825 0x0835 0x0825 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 7 = 0x0036 0x005e 0x0036 0x003a 0x001e 0x0200 0x001e 0x0200 0x0836 0x085e 0x0836 0x085e 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 8 = 0x0037 0x0026 0x0037 0x003f 0x001f 0x0200 0x001f 0x0200 0x0837 0x0826 0x0837 0x0826 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 9 = 0x0038 0x002a 0x0038 0x002a 0x007f 0x0200 0x007f 0x0200 0x0838 0x082a 0x0838 0x082a 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 10 = 0x0039 0x0028 0x0039 0x0028 0x0200 0x0200 0x0200 0x0200 0x0839 0x0828 0x0839 0x0828 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 11 = 0x0030 0x0029 0x0030 0x0029 0x0200 0x0200 0x0200 0x0200 0x0830 0x0829 0x0830 0x0829 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 12 = 0x002d 0x005f 0x002d 0x005f 0x001f 0x0200 0x001f 0x0200 0x082d 0x085f 0x082d 0x085f 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 13 = 0x003d 0x002b 0x003d 0x002b 0x0200 0x0200 0x0200 0x0200 0x083d 0x082b 0x083d 0x082b 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 14 = 0x007f 0x007f 0x007f 0x007f 0x0200 0x0200 0x0200 0x0200 0x087f 0x0200 0x087f 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 15 = 0x0009 0x0009 0x0009 0x0009 0x0200 0x0200 0x0200 0x0200 0x0809 0x0200 0x0809 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 16 = U+00a3 0x0063 U+0439 U+0419 0x0011 0x0200 0x0011 0x0200 0x0871 0x0851 0x0871 0x0851 0x0811 0x0200 0x0811 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 17 = U+00af 0x006f U+0446 U+0426 0x0017 0x0200 0x0017 0x0200 0x0877 0x0857 0x0877 0x0857 0x0817 0x0200 0x0817 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 18 = U+00c5 0x004b U+0443 U+0423 0x0005 0x0200 0x0005 0x0200 0x0865 0x0845 0x0865 0x0845 0x0805 0x0200 0x0805 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 19 = U+00a5 0x0065 U+043a U+041a 0x0012 0x0200 0x0012 0x0200 0x0872 0x0852 0x0872 0x0852 0x0812 0x0200 0x0812 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 20 = U+00a9 0x0069 U+0435 U+0415 0x0014 0x0200 0x0014 0x0200 0x0874 0x0854 0x0874 0x0854 0x0814 0x0200 0x0814 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 21 = U+00b3 0x0073 U+043d U+041d 0x0019 0x0200 0x0019 0x0200 0x0879 0x0859 0x0879 0x0859 0x0819 0x0200 0x0819 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 22 = U+00ab 0x006b U+0433 U+0413 0x0015 0x0200 0x0015 0x0200 0x0875 0x0855 0x0875 0x0855 0x0815 0x0200 0x0815 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 23 = U+00c9 0x0053 U+0448 U+0428 0x0009 0x0200 0x0009 0x0200 0x0869 0x0849 0x0869 0x0849 0x0809 0x0200 0x0809 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 24 = U+00cf 0x005f U+0449 U+0429 0x000f 0x0200 0x000f 0x0200 0x086f 0x084f 0x086f 0x084f 0x080f 0x0200 0x080f 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 25 = U+00a1 0x0061 U+0437 U+0417 0x0010 0x0200 0x0010 0x0200 0x0870 0x0850 0x0870 0x0850 0x0810 0x0200 0x0810 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 26 = 0x005b 0x007b U+0445 U+0425 0x001b 0x0200 0x001b 0x0200 0x085b 0x0200 0x085b 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 27 = 0x005d 0x007d U+044a U+042a 0x001d 0x0200 0x001d 0x0200 0x085d 0x0200 0x085d 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 28 = 0x0201 0x0201 0x0201 0x0201 0x000a 0x0200 0x000a 0x0200 0x080d 0x0201 0x080d 0x0201 0x0201 0x0200 0x0201 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 29 = 0x0702 0x0702 0x0702 0x0702 0x0702 0x0200 0x0702 0x0200 0x0702 0x0702 0x0702 0x0702 0x0702 0x0200 0x0702 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 30 = U+00c1 0x0043 U+0444 U+0424 0x0001 0x0200 0x0001 0x0200 0x0861 0x0841 0x0861 0x0841 0x0801 0x0200 0x0801 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 31 = U+00a7 0x0067 U+044b U+042b 0x0013 0x0200 0x0013 0x0200 0x0873 0x0853 0x0873 0x0853 0x0813 0x0200 0x0813 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 32 = U+00c4 0x0049 U+0432 U+0412 0x0004 0x0200 0x0004 0x0200 0x0864 0x0844 0x0864 0x0844 0x0804 0x0200 0x0804 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 33 = U+00c6 0x004d U+0430 U+0410 0x0006 0x0200 0x0006 0x0200 0x0866 0x0846 0x0866 0x0846 0x0806 0x0200 0x0806 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 34 = U+00c7 0x004f U+043f U+041f 0x0007 0x0200 0x0007 0x0200 0x0867 0x0847 0x0867 0x0847 0x0807 0x0200 0x0807 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 35 = U+00c8 0x0051 U+0440 U+0420 0x0008 0x0200 0x0008 0x0200 0x0868 0x0848 0x0868 0x0848 0x0808 0x0200 0x0808 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 36 = U+00ca 0x0055 U+043e U+041e 0x000a 0x0200 0x000a 0x0200 0x086a 0x084a 0x086a 0x084a 0x080a 0x0200 0x080a 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 37 = U+00cb 0x0057 U+043b U+041b 0x000b 0x0200 0x000b 0x0200 0x086b 0x084b 0x086b 0x084b 0x080b 0x0200 0x080b 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 38 = U+00cc 0x0059 U+0434 U+0414 0x000c 0x0200 0x000c 0x0200 0x086c 0x084c 0x086c 0x084c 0x080c 0x0200 0x080c 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 39 = 0x003b 0x003a U+0436 U+0416 0x0200 0x0200 0x0200 0x0200 0x083b 0x0200 0x083b 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 40 = 0x0027 0x0022 U+044d U+042d 0x0007 0x0200 0x0007 0x0200 0x0827 0x0200 0x0827 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 41 = 0x0060 0x007e U+0451 U+0401 0x0000 0x0200 0x0000 0x0200 0x0860 0x0200 0x0860 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 42 = 0x0700 0x0700 0x0700 0x0700 0x0700 0x0200 0x0700 0x0200 0x0700 0x0700 0x0700 0x0700 0x0700 0x0200 0x0700 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 43 = 0x005c 0x007c 0x002f 0x007c 0x001c 0x0200 0x001c 0x0200 0x085c 0x087c 0x085c 0x087c 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 44 = U+00b5 0x0075 U+044f U+042f 0x001a 0x0200 0x001a 0x0200 0x087a 0x085a 0x087a 0x085a 0x081a 0x0200 0x081a 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 45 = U+00b1 0x0071 U+0447 U+0427 0x0018 0x0200 0x0018 0x0200 0x0878 0x0858 0x0878 0x0858 0x0818 0x0200 0x0818 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 46 = U+00c3 0x0047 U+0441 U+0421 0x0003 0x0200 0x0003 0x0200 0x0863 0x0843 0x0863 0x0843 0x0803 0x0200 0x0803 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 47 = U+00ad 0x006d U+043c U+041c 0x0016 0x0200 0x0016 0x0200 0x0876 0x0856 0x0876 0x0856 0x0816 0x0200 0x0816 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 48 = U+00c2 0x0045 U+0438 U+0418 0x0002 0x0200 0x0002 0x0200 0x0862 0x0842 0x0862 0x0842 0x0802 0x0200 0x0802 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 49 = U+00ce 0x005d U+0442 U+0422 0x000e 0x0200 0x000e 0x0200 0x086e 0x084e 0x086e 0x084e 0x080e 0x0200 0x080e 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 50 = U+00cd 0x005b U+044c U+042c 0x000d 0x0200 0x000d 0x0200 0x086d 0x084d 0x086d 0x084d 0x080d 0x0200 0x080d 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 51 = 0x002c 0x003c U+0431 U+0411 0x0200 0x0200 0x0200 0x0200 0x082c 0x083c 0x082c 0x083c 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 52 = 0x002e 0x003e U+044e U+042e 0x0200 0x0200 0x0200 0x0200 0x082e 0x083e 0x082e 0x083e 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 53 = 0x002f 0x003f 0x002e 0x002c 0x007f 0x0200 0x007f 0x0200 0x082f 0x083f 0x082f 0x083f 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 54 = 0x0700 0x0700 0x0700 0x0700 0x0700 0x0200 0x0700 0x0200 0x0700 0x0700 0x0700 0x0700 0x0700 0x0200 0x0700 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 55 = 0x030c 0x030c 0x030c 0x030c 0x030c 0x0200 0x030c 0x0200 0x030c 0x030c 0x030c 0x030c 0x030c 0x0200 0x030c 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 56 = 0x0703 0x0703 0x0703 0x0703 0x0703 0x0200 0x0703 0x0200 0x0703 0x0703 0x0703 0x0703 0x0703 0x0200 0x0703 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 57 = 0x0020 0x0020 0x0020 0x0020 0x0000 0x0200 0x0000 0x0200 0x0820 0x0200 0x0820 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 58 = 0x0a01 0x0207 0x0a01 0x0207 0x0a01 0x0200 0x0a01 0x0200 0x0a01 0x0a01 0x0a01 0x0a01 0x0a01 0x0200 0x0a01 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 59 = 0x0100 0x010a 0x0100 0x010a 0x0100 0x0200 0x0100 0x0200 0x0500 0x0200 0x0500 0x0200 0x0500 0x0200 0x0500 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 60 = 0x0101 0x010b 0x0101 0x010b 0x0101 0x0200 0x0101 0x0200 0x0501 0x0200 0x0501 0x0200 0x0501 0x0200 0x0501 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 61 = 0x0102 0x010c 0x0102 0x010c 0x0102 0x0200 0x0102 0x0200 0x0502 0x0200 0x0502 0x0200 0x0502 0x0200 0x0502 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 62 = 0x0103 0x010d 0x0103 0x010d 0x0103 0x0200 0x0103 0x0200 0x0503 0x0200 0x0503 0x0200 0x0503 0x0200 0x0503 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 63 = 0x0104 0x010e 0x0104 0x010e 0x0104 0x0200 0x0104 0x0200 0x0504 0x0200 0x0504 0x0200 0x0504 0x0200 0x0504 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 64 = 0x0105 0x010f 0x0105 0x010f 0x0105 0x0200 0x0105 0x0200 0x0505 0x0200 0x0505 0x0200 0x0505 0x0200 0x0505 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 65 = 0x0106 0x0110 0x0106 0x0110 0x0106 0x0200 0x0106 0x0200 0x0506 0x0200 0x0506 0x0200 0x0506 0x0200 0x0506 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 66 = 0x0107 0x0111 0x0107 0x0111 0x0107 0x0200 0x0107 0x0200 0x0507 0x0200 0x0507 0x0200 0x0507 0x0200 0x0507 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 67 = 0x0108 0x0112 0x0108 0x0112 0x0108 0x0200 0x0108 0x0200 0x0508 0x0200 0x0508 0x0200 0x0508 0x0200 0x0508 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 68 = 0x0109 0x0113 0x0109 0x0113 0x0109 0x0200 0x0109 0x0200 0x0509 0x0200 0x0509 0x0200 0x0509 0x0200 0x0509 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 69 = 0x0208 0x0208 0x0208 0x0208 0x0208 0x0200 0x0208 0x0200 0x0208 0x0208 0x0208 0x0208 0x0208 0x0200 0x0208 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 70 = 0x0209 0x0203 0x0202 0x0200 0x0204 0x0200 0x0204 0x0200 0x0209 0x0200 0x0209 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 71 = 0x0307 0x0307 0x0307 0x0307 0x0307 0x0200 0x0307 0x0200 0x0907 0x0307 0x0907 0x0307 0x0307 0x0200 0x0307 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 72 = 0x0308 0x0308 0x0308 0x0308 0x0308 0x0200 0x0308 0x0200 0x0908 0x0308 0x0908 0x0308 0x0308 0x0200 0x0308 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 73 = 0x0309 0x0309 0x0309 0x0309 0x0309 0x0200 0x0309 0x0200 0x0909 0x0309 0x0909 0x0309 0x0309 0x0200 0x0309 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 74 = 0x030b 0x030b 0x030b 0x030b 0x030b 0x0200 0x030b 0x0200 0x030b 0x030b 0x030b 0x030b 0x030b 0x0200 0x030b 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 75 = 0x0304 0x0304 0x0304 0x0304 0x0304 0x0200 0x0304 0x0200 0x0904 0x0304 0x0904 0x0304 0x0304 0x0200 0x0304 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 76 = 0x0305 0x0305 0x0305 0x0305 0x0305 0x0200 0x0305 0x0200 0x0905 0x0305 0x0905 0x0305 0x0305 0x0200 0x0305 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 77 = 0x0306 0x0306 0x0306 0x0306 0x0306 0x0200 0x0306 0x0200 0x0906 0x0306 0x0906 0x0306 0x0306 0x0200 0x0306 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 78 = 0x030a 0x030a 0x030a 0x030a 0x030a 0x0200 0x030a 0x0200 0x030a 0x030a 0x030a 0x030a 0x030a 0x0200 0x030a 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 79 = 0x0301 0x0301 0x0301 0x0301 0x0301 0x0200 0x0301 0x0200 0x0901 0x0301 0x0901 0x0301 0x0301 0x0200 0x0301 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 80 = 0x0302 0x0302 0x0302 0x0302 0x0302 0x0200 0x0302 0x0200 0x0902 0x0302 0x0902 0x0302 0x0302 0x0200 0x0302 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 81 = 0x0303 0x0303 0x0303 0x0303 0x0303 0x0200 0x0303 0x0200 0x0903 0x0303 0x0903 0x0303 0x0303 0x0200 0x0303 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 82 = 0x0300 0x0300 0x0300 0x0300 0x0300 0x0200 0x0300 0x0200 0x0900 0x0300 0x0900 0x0300 0x0300 0x0200 0x0300 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 83 = 0x0310 0x0310 0x0310 0x0310 0x0310 0x0200 0x020c 0x0200 0x0310 0x0310 0x0310 0x0310 0x020c 0x0200 0x020c 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 84 = 0x0206 0x0206 0x0206 0x0206 0x0206 0x0200 0x0206 0x0200 0x0206 0x0206 0x0206 0x0206 0x0206 0x0200 0x0206 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 85 = 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 86 = 0x003c 0x003e 0x007c 0x0200 0x0200 0x0200 0x0200 0x0200 0x083c 0x0200 0x083c 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 87 = 0x010a 0x010a 0x010a 0x010a 0x010a 0x0200 0x010a 0x0200 0x050a 0x0200 0x050a 0x0200 0x050a 0x0200 0x050a 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 88 = 0x010b 0x010b 0x010b 0x010b 0x010b 0x0200 0x010b 0x0200 0x050b 0x0200 0x050b 0x0200 0x050b 0x0200 0x050b 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 89 = 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 90 = 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 91 = 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 92 = 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 93 = 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 94 = 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 95 = 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 96 = 0x030e 0x030e 0x030e 0x030e 0x030e 0x0200 0x030e 0x0200 0x030e 0x030e 0x030e 0x030e 0x030e 0x0200 0x030e 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 97 = 0x0702 0x0702 0x0702 0x0702 0x0702 0x0200 0x0702 0x0200 0x0702 0x0702 0x0702 0x0702 0x0702 0x0200 0x0702 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 98 = 0x030d 0x030d 0x030d 0x030d 0x030d 0x0200 0x030d 0x0200 0x030d 0x030d 0x030d 0x030d 0x030d 0x0200 0x030d 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 99 = 0x001c 0x001c 0x001c 0x001c 0x001c 0x0200 0x001c 0x0200 0x001c 0x001c 0x001c 0x001c 0x001c 0x0200 0x001c 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 100 = 0x0701 0x0701 0x0701 0x0701 0x0701 0x0200 0x0701 0x0200 0x020e 0x0701 0x0701 0x0701 0x0701 0x0200 0x0701 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 101 = 0x0205 0x0205 0x0205 0x0205 0x0205 0x0200 0x0205 0x0200 0x0205 0x0205 0x0205 0x0205 0x0205 0x0200 0x0205 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 102 = 0x0114 0x0114 0x0114 0x0114 0x0114 0x0200 0x0114 0x0200 0x0114 0x0114 0x0114 0x0114 0x0114 0x0200 0x0114 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 103 = 0x0603 0x0603 0x0603 0x0603 0x0603 0x0200 0x0603 0x0200 0x0603 0x0603 0x0603 0x0603 0x0603 0x0200 0x0603 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 104 = 0x0118 0x020b 0x0118 0x020b 0x0118 0x0200 0x0118 0x0200 0x0118 0x0118 0x0118 0x0118 0x0118 0x0200 0x0118 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 105 = 0x0601 0x0601 0x0601 0x0601 0x0601 0x0200 0x0601 0x0200 0x0210 0x0601 0x0601 0x0601 0x0601 0x0200 0x0601 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 106 = 0x0602 0x0602 0x0602 0x0602 0x0602 0x0200 0x0602 0x0200 0x0211 0x0602 0x0602 0x0602 0x0602 0x0200 0x0602 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 107 = 0x0117 0x0117 0x0117 0x0117 0x0117 0x0200 0x0117 0x0200 0x0117 0x0117 0x0117 0x0117 0x0117 0x0200 0x0117 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 108 = 0x0600 0x0600 0x0600 0x0600 0x0600 0x0200 0x0600 0x0200 0x0600 0x0600 0x0600 0x0600 0x0600 0x0200 0x0600 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 109 = 0x0119 0x020a 0x0119 0x020a 0x0119 0x0200 0x0119 0x0200 0x0119 0x0119 0x0119 0x0119 0x0119 0x0200 0x0119 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 110 = 0x0115 0x0115 0x0115 0x0115 0x0115 0x0200 0x0115 0x0200 0x0115 0x0115 0x0115 0x0115 0x0115 0x0200 0x0115 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 111 = 0x0116 0x0116 0x0116 0x0116 0x0116 0x0200 0x020c 0x0200 0x0116 0x0116 0x0116 0x0116 0x020c 0x0200 0x020c 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 112 = 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 113 = 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 114 = 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 115 = 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 116 = 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 117 = 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 118 = 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 119 = 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 120 = 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 121 = 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 122 = 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 123 = 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 124 = 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 125 = 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 126 = 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 127 = 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 128 = 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 129 = 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 130 = 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 131 = 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 132 = 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 133 = 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 134 = 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 135 = 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 136 = 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 137 = 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 138 = 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 139 = 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 140 = 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 141 = 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 142 = 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 143 = 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 144 = 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 145 = 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 146 = 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 147 = 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 148 = 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 149 = 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 150 = 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 151 = 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 152 = 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 153 = 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 154 = 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 155 = 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 156 = 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 157 = 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 158 = 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 159 = 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 160 = 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 161 = 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 162 = 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 163 = 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 164 = 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 165 = 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 166 = 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 167 = 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 168 = 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 169 = 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 170 = 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 171 = 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 172 = 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 173 = 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 174 = 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 175 = 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 176 = 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 177 = 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 178 = 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 179 = 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 180 = 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 181 = 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 182 = 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 183 = 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 184 = 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 185 = 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 186 = 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 187 = 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 188 = 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 189 = 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 190 = 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 191 = 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 192 = 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 193 = 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 194 = 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 195 = 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 196 = 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 197 = 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 198 = 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 199 = 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 200 = 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 201 = 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 202 = 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 203 = 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 204 = 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 205 = 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 206 = 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 207 = 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 208 = 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 209 = 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 210 = 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 211 = 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 212 = 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 213 = 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 214 = 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 215 = 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 216 = 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 217 = 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 218 = 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 219 = 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 220 = 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 221 = 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 222 = 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 223 = 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 224 = 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 225 = 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 226 = 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 227 = 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 228 = 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 229 = 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 230 = 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 231 = 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 232 = 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 233 = 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 234 = 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 235 = 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 236 = 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 237 = 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 238 = 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 239 = 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 240 = 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 241 = 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 242 = 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 243 = 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 244 = 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 245 = 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 246 = 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 247 = 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 248 = 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 249 = 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 250 = 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 251 = 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 252 = 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 253 = 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 254 = 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+keycode 255 = 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200 0x0200
+string F1 = "\033[[A"
+string F2 = "\033[[B"
+string F3 = "\033[[C"
+string F4 = "\033[[D"
+string F5 = "\033[[E"
+string F6 = "\033[17~"
+string F7 = "\033[18~"
+string F8 = "\033[19~"
+string F9 = "\033[20~"
+string F10 = "\033[21~"
+string F11 = "\033[23~"
+string F12 = "\033[24~"
+string F13 = "\033[25~"
+string F14 = "\033[26~"
+string F15 = "\033[28~"
+string F16 = "\033[29~"
+string F17 = "\033[31~"
+string F18 = "\033[32~"
+string F19 = "\033[33~"
+string F20 = "\033[34~"
+string Find = "\033[1~"
+string Insert = "\033[2~"
+string Remove = "\033[3~"
+string Select = "\033[4~"
+string Prior = "\033[5~"
+string Next = "\033[6~"
+string Macro = "\033[M"
+string Pause = "\033[P"
+compose '!' '!' to U+00a1
+compose '"' 'A' to U+00c4
+compose '"' 'E' to U+00cb
+compose '"' 'I' to U+00cf
+compose '"' 'O' to U+00d6
+compose '"' 'U' to U+00dc
+compose '"' 'Y' to U+00be
+compose '"' 'a' to U+00e4
+compose '"' 'c' to U+00a9
+compose '"' 'e' to U+00eb
+compose '"' 'i' to U+00ef
+compose '"' 'o' to U+00f6
+compose '"' 'r' to U+00ae
+compose '"' 'u' to U+00fc
+compose '"' 'y' to U+00ff
+compose '(' 'c' to U+00a9
+compose '(' 'r' to U+00ae
+compose '+' '-' to U+00b1
+compose ',' 'A' to U+00a1
+compose ',' 'C' to U+00c7
+compose ',' 'E' to U+00ca
+compose ',' 'G' to U+00ab
+compose ',' 'I' to U+00c7
+compose ',' 'K' to U+00d3
+compose ',' 'L' to U+00a6
+compose ',' 'N' to U+00d1
+compose ',' 'R' to U+00a3
+compose ',' 'S' to U+00aa
+compose ',' 'T' to U+00de
+compose ',' 'U' to U+00d9
+compose ',' 'a' to U+00b1
+compose ',' 'c' to U+00e7
+compose ',' 'e' to U+00ea
+compose ',' 'g' to U+00bb
+compose ',' 'i' to U+00e7
+compose ',' 'k' to U+00f3
+compose ',' 'l' to U+00b6
+compose ',' 'n' to U+00f1
+compose ',' 'r' to U+00b3
+compose ',' 's' to U+00ba
+compose ',' 't' to U+00fe
+compose ',' 'u' to U+00f9
+compose '-' ':' to U+00f7
+compose '-' 'A' to U+00aa
+compose '-' 'C' to U+00a2
+compose '-' 'D' to U+00d0
+compose '-' 'E' to U+00a4
+compose '-' 'H' to U+00a1
+compose '-' 'L' to U+00a3
+compose '-' 'O' to U+00ba
+compose '-' 'T' to U+00ac
+compose '-' 'Y' to U+00a5
+compose '-' 'a' to U+00aa
+compose '-' 'c' to U+00a2
+compose '-' 'd' to U+00f0
+compose '-' 'e' to U+00a4
+compose '-' 'h' to U+00b1
+compose '-' 'l' to U+00a3
+compose '-' 'l' to U+00a5
+compose '-' 'l' to U+00b3
+compose '-' 'o' to U+00ba
+compose '-' 't' to U+00bc
+compose '.' '.' to U+00b7
+compose '.' 'C' to U+00c5
+compose '.' 'C' to U+00d5
+compose '.' 'E' to U+00cc
+compose '.' 'I' to U+00a9
+compose '.' 'Z' to U+00af
+compose '.' 'c' to U+00e5
+compose '.' 'c' to U+00f5
+compose '.' 'e' to U+00ec
+compose '.' 'i' to U+00b9
+compose '.' 'z' to U+00bf
+compose '/' 'D' to U+00d0
+compose '/' 'L' to U+00a3
+compose '/' 'O' to U+00d8
+compose '/' 'T' to U+00ac
+compose '/' 'c' to U+00a2
+compose '/' 'd' to U+00f0
+compose '/' 'l' to U+00b3
+compose '/' 'o' to U+00f8
+compose '/' 't' to U+00bc
+compose '0' 'A' to U+00c5
+compose '0' 'U' to U+00d9
+compose '0' 'a' to U+00e5
+compose '0' 'u' to U+00f9
+compose '1' '2' to U+00bd
+compose '1' '4' to U+00bc
+compose '3' '4' to U+00be
+compose ':' '-' to U+00f7
+compose ':' 'A' to U+00c4
+compose ':' 'E' to U+00cb
+compose ':' 'O' to U+00d6
+compose ':' 'U' to U+00dc
+compose ':' 'a' to U+00e4
+compose ':' 'e' to U+00eb
+compose ':' 'o' to U+00f6
+compose ':' 'u' to U+00fc
+compose '<' '<' to U+00ab
+compose '>' '>' to U+00bb
+compose '?' '?' to U+00bf
+compose 'A' 'A' to U+00c5
+compose 'A' 'E' to U+00c6
+compose 'I' 'J' to U+00be
+compose 'L' '=' to U+00a3
+compose 'N' 'G' to U+00bd
+compose 'N' 'H' to U+00d1
+compose 'N' 'N' to U+00d1
+compose 'N' 'Y' to U+00d1
+compose 'N' 'h' to U+00d1
+compose 'N' 'n' to U+00d1
+compose 'N' 'y' to U+00d1
+compose 'O' 'A' to U+00c5
+compose 'O' 'E' to U+00bc
+compose 'O' 'e' to U+00bc
+compose 'T' 'H' to U+00de
+compose 'U' 'U' to U+00d9
+compose 'Y' '=' to U+00a5
+compose '\'' 'A' to U+00c1
+compose '\'' 'C' to U+00c6
+compose '\'' 'E' to U+00c9
+compose '\'' 'I' to U+00cd
+compose '\'' 'L' to U+00c5
+compose '\'' 'N' to U+00d1
+compose '\'' 'O' to U+00d3
+compose '\'' 'R' to U+00c0
+compose '\'' 'S' to U+00a6
+compose '\'' 'U' to U+00da
+compose '\'' 'Y' to U+00dd
+compose '\'' 'Z' to U+00ac
+compose '\'' 'a' to U+00e1
+compose '\'' 'c' to U+00e6
+compose '\'' 'e' to U+00e9
+compose '\'' 'i' to U+00ed
+compose '\'' 'l' to U+00e5
+compose '\'' 'n' to U+00f1
+compose '\'' 'o' to U+00f3
+compose '\'' 'r' to U+00e0
+compose '\'' 's' to U+00b6
+compose '\'' 'u' to U+00fa
+compose '\'' 'y' to U+00fd
+compose '\'' 'z' to U+00bc
+compose '^' '!' to U+00a1
+compose '^' '*' to U+00d7
+compose '^' '.' to U+00b7
+compose '^' '/' to U+00f7
+compose '^' '1' to U+00b9
+compose '^' '2' to U+00b2
+compose '^' '3' to U+00b3
+compose '^' ':' to U+00f7
+compose '^' '?' to U+00bf
+compose '^' 'A' to U+00c2
+compose '^' 'C' to U+00c7
+compose '^' 'D' to U+00d0
+compose '^' 'E' to U+00ca
+compose '^' 'G' to U+00d4
+compose '^' 'H' to U+00a6
+compose '^' 'I' to U+00ce
+compose '^' 'J' to U+00ac
+compose '^' 'L' to U+00a5
+compose '^' 'N' to U+00d1
+compose '^' 'R' to U+00d8
+compose '^' 'S' to U+00a6
+compose '^' 'T' to U+00ab
+compose '^' 'U' to U+00db
+compose '^' 'Z' to U+00b4
+compose '^' 'a' to U+00e2
+compose '^' 'c' to U+00e7
+compose '^' 'd' to U+00f0
+compose '^' 'e' to U+00ea
+compose '^' 'g' to U+00f8
+compose '^' 'h' to U+00b6
+compose '^' 'i' to U+00ee
+compose '^' 'j' to U+00bc
+compose '^' 'l' to U+00b5
+compose '^' 'n' to U+00f1
+compose '^' 'o' to U+00f4
+compose '^' 'r' to U+00f8
+compose '^' 's' to U+00a8
+compose '^' 't' to U+00bb
+compose '^' 'u' to U+00fb
+compose '^' 'x' to U+00d7
+compose '^' 'z' to U+00b8
+compose '`' 'A' to U+00c0
+compose '`' 'E' to U+00c8
+compose '`' 'I' to U+00cc
+compose '`' 'O' to U+00d2
+compose '`' 'U' to U+00d9
+compose '`' 'a' to U+00e0
+compose '`' 'e' to U+00e8
+compose '`' 'i' to U+00ec
+compose '`' 'o' to U+00f2
+compose '`' 'u' to U+00f9
+compose 'a' 'a' to U+00e5
+compose 'a' 'e' to U+00e6
+compose 'c' '/' to U+00a2
+compose 'c' '=' to U+00a2
+compose 'e' '=' to U+00a4
+compose 'i' 'j' to U+00ff
+compose 'm' 'u' to U+00b5
+compose 'n' 'g' to U+00bf
+compose 'n' 'h' to U+00f1
+compose 'n' 'n' to U+00f1
+compose 'o' 'a' to U+00e5
+compose 'o' 'e' to U+00bd
+compose 's' 's' to U+00df
+compose 's' 'z' to U+00df
+compose 't' 'h' to U+00fe
+compose 'u' 'u' to U+00f9
+compose 'v' 'S' to U+00a6
+compose 'v' 'Z' to U+00b4
+compose 'v' 's' to U+00a8
+compose 'v' 'z' to U+00b8
+compose 'x' 'x' to U+00d7
+compose '~' 'A' to U+00c3
+compose '~' 'G' to U+00ab
+compose '~' 'I' to U+00a5
+compose '~' 'N' to U+00d1
+compose '~' 'O' to U+00d5
+compose '~' 'U' to U+00dd
+compose '~' 'a' to U+00e3
+compose '~' 'g' to U+00bb
+compose '~' 'i' to U+00b5
+compose '~' 'n' to U+00f1
+compose '~' 'o' to U+00f5
+compose '~' 'u' to U+00fd
+compose '|' 's' to U+0024
+compose '|' 'S' to U+0024
+compose 'S' 'S' to U+00a7
diff --git a/tests/dumpkeys.qwerty-layout.map b/tests/dumpkeys.qwerty-layout.map
new file mode 100644
index 0000000..b88181b
--- /dev/null
+++ b/tests/dumpkeys.qwerty-layout.map
@@ -0,0 +1,28 @@
+keymaps 0
+alt_is_meta
+keycode 16 = q
+keycode 17 = w
+keycode 18 = e
+keycode 19 = r
+keycode 20 = t
+keycode 21 = y
+keycode 22 = u
+keycode 23 = i
+keycode 24 = o
+keycode 25 = p
+keycode 30 = a
+keycode 31 = s
+keycode 32 = d
+keycode 33 = f
+keycode 34 = g
+keycode 35 = h
+keycode 36 = j
+keycode 37 = k
+keycode 38 = l
+keycode 44 = z
+keycode 45 = x
+keycode 46 = c
+keycode 47 = v
+keycode 48 = b
+keycode 49 = n
+keycode 50 = m
diff --git a/tests/dumpkeys.ua-ws.map b/tests/dumpkeys.ua-ws.map
new file mode 100644
index 0000000..b343b88
--- /dev/null
+++ b/tests/dumpkeys.ua-ws.map
@@ -0,0 +1,1556 @@
+#keymaps 0-2,4-6,8-9,12-13,64-66,68-69,72-73,76-77,128-130,132-133,136-137,140-141,192-194,196-197,200-201,204-205
+strings as usual
+keycode 1 = Escape Escape
+ alt keycode 1 = Meta_Escape
+ ctrlr keycode 1 = Escape
+ shift ctrlr keycode 1 = Escape
+ alt ctrlr keycode 1 = Meta_Escape
+ ctrll keycode 1 = Escape
+ shift ctrll keycode 1 = Escape
+ alt ctrll keycode 1 = Meta_Escape
+ ctrll ctrlr keycode 1 = Escape
+ shift ctrll ctrlr keycode 1 = Escape
+ alt ctrll ctrlr keycode 1 = Meta_Escape
+keycode 2 = one exclam
+ alt keycode 2 = Meta_one
+ shift alt keycode 2 = Meta_exclam
+ ctrlr keycode 2 = one
+ shift ctrlr keycode 2 = exclam
+ alt ctrlr keycode 2 = Meta_one
+ shift alt ctrlr keycode 2 = Meta_exclam
+ ctrll keycode 2 = one
+ shift ctrll keycode 2 = exclam
+ alt ctrll keycode 2 = Meta_one
+ shift alt ctrll keycode 2 = Meta_exclam
+ ctrll ctrlr keycode 2 = one
+ shift ctrll ctrlr keycode 2 = exclam
+ alt ctrll ctrlr keycode 2 = Meta_one
+ shift alt ctrll ctrlr keycode 2 = Meta_exclam
+ altgr keycode 2 = 150
+keycode 3 = two at at
+ control keycode 3 = nul
+ shift control keycode 3 = nul
+ alt keycode 3 = Meta_two
+ shift alt keycode 3 = Meta_at
+ ctrlr keycode 3 = two
+ shift ctrlr keycode 3 = quotedbl
+ control ctrlr keycode 3 = nul
+ shift control ctrlr keycode 3 = nul
+ alt ctrlr keycode 3 = Meta_two
+ shift alt ctrlr keycode 3 = Meta_at
+ ctrll keycode 3 = two
+ shift ctrll keycode 3 = quotedbl
+ control ctrll keycode 3 = nul
+ shift control ctrll keycode 3 = nul
+ alt ctrll keycode 3 = Meta_two
+ shift alt ctrll keycode 3 = Meta_at
+ ctrll ctrlr keycode 3 = two
+ shift ctrll ctrlr keycode 3 = quotedbl
+ control ctrll ctrlr keycode 3 = nul
+ shift control ctrll ctrlr keycode 3 = nul
+ alt ctrll ctrlr keycode 3 = Meta_two
+ shift alt ctrll ctrlr keycode 3 = Meta_at
+ altgr keycode 3 = 157
+keycode 4 = three numbersign
+ control keycode 4 = Escape
+ alt keycode 4 = Meta_three
+ shift alt keycode 4 = Meta_numbersign
+ ctrlr keycode 4 = three
+ shift ctrlr keycode 4 = numbersign
+ control ctrlr keycode 4 = Escape
+ shift control ctrlr keycode 4 = Escape
+ alt ctrlr keycode 4 = Meta_three
+ shift alt ctrlr keycode 4 = Meta_numbersign
+ ctrll keycode 4 = three
+ shift ctrll keycode 4 = numbersign
+ control ctrll keycode 4 = Escape
+ shift control ctrll keycode 4 = Escape
+ alt ctrll keycode 4 = Meta_three
+ shift alt ctrll keycode 4 = Meta_numbersign
+ ctrll ctrlr keycode 4 = three
+ shift ctrll ctrlr keycode 4 = numbersign
+ control ctrll ctrlr keycode 4 = Escape
+ shift control ctrll ctrlr keycode 4 = Escape
+ alt ctrll ctrlr keycode 4 = Meta_three
+ shift alt ctrll ctrlr keycode 4 = Meta_numbersign
+ altgr keycode 4 = 152
+keycode 5 = four dollar dollar
+ control keycode 5 = Control_backslash
+ alt keycode 5 = Meta_four
+ shift alt keycode 5 = Meta_dollar
+ ctrlr keycode 5 = four
+ shift ctrlr keycode 5 = semicolon
+ control ctrlr keycode 5 = Control_backslash
+ shift control ctrlr keycode 5 = Control_backslash
+ alt ctrlr keycode 5 = Meta_four
+ shift alt ctrlr keycode 5 = Meta_dollar
+ ctrll keycode 5 = four
+ shift ctrll keycode 5 = semicolon
+ control ctrll keycode 5 = Control_backslash
+ shift control ctrll keycode 5 = Control_backslash
+ alt ctrll keycode 5 = Meta_four
+ shift alt ctrll keycode 5 = Meta_dollar
+ ctrll ctrlr keycode 5 = four
+ shift ctrll ctrlr keycode 5 = semicolon
+ control ctrll ctrlr keycode 5 = Control_backslash
+ shift control ctrll ctrlr keycode 5 = Control_backslash
+ alt ctrll ctrlr keycode 5 = Meta_four
+ shift alt ctrll ctrlr keycode 5 = Meta_dollar
+ altgr keycode 5 = 153
+keycode 6 = five percent
+ control keycode 6 = Control_bracketright
+ alt keycode 6 = Meta_five
+ shift alt keycode 6 = Meta_percent
+ ctrlr keycode 6 = five
+ shift ctrlr keycode 6 = colon
+ control ctrlr keycode 6 = Control_bracketright
+ shift control ctrlr keycode 6 = Control_bracketright
+ alt ctrlr keycode 6 = Meta_five
+ shift alt ctrlr keycode 6 = Meta_percent
+ ctrll keycode 6 = five
+ shift ctrll keycode 6 = colon
+ control ctrll keycode 6 = Control_bracketright
+ shift control ctrll keycode 6 = Control_bracketright
+ alt ctrll keycode 6 = Meta_five
+ shift alt ctrll keycode 6 = Meta_percent
+ ctrll ctrlr keycode 6 = five
+ shift ctrll ctrlr keycode 6 = colon
+ control ctrll ctrlr keycode 6 = Control_bracketright
+ shift control ctrll ctrlr keycode 6 = Control_bracketright
+ alt ctrll ctrlr keycode 6 = Meta_five
+ shift alt ctrll ctrlr keycode 6 = Meta_percent
+ altgr keycode 6 = 156
+keycode 7 = six asciicircum
+ control keycode 7 = Control_asciicircum
+ alt keycode 7 = Meta_six
+ shift alt keycode 7 = Meta_asciicircum
+ ctrlr keycode 7 = six
+ shift ctrlr keycode 7 = comma
+ control ctrlr keycode 7 = Control_asciicircum
+ shift control ctrlr keycode 7 = Control_asciicircum
+ alt ctrlr keycode 7 = Meta_six
+ shift alt ctrlr keycode 7 = Meta_asciicircum
+ ctrll keycode 7 = six
+ shift ctrll keycode 7 = comma
+ control ctrll keycode 7 = Control_asciicircum
+ shift control ctrll keycode 7 = Control_asciicircum
+ alt ctrll keycode 7 = Meta_six
+ shift alt ctrll keycode 7 = Meta_asciicircum
+ ctrll ctrlr keycode 7 = six
+ shift ctrll ctrlr keycode 7 = comma
+ control ctrll ctrlr keycode 7 = Control_asciicircum
+ shift control ctrll ctrlr keycode 7 = Control_asciicircum
+ alt ctrll ctrlr keycode 7 = Meta_six
+ shift alt ctrll ctrlr keycode 7 = Meta_asciicircum
+ altgr keycode 7 = 151
+keycode 8 = seven ampersand braceleft
+ control keycode 8 = Control_underscore
+ alt keycode 8 = Meta_seven
+ shift alt keycode 8 = Meta_ampersand
+ ctrlr keycode 8 = seven
+ shift ctrlr keycode 8 = period
+ control ctrlr keycode 8 = Control_underscore
+ shift control ctrlr keycode 8 = Control_underscore
+ alt ctrlr keycode 8 = Meta_seven
+ shift alt ctrlr keycode 8 = Meta_ampersand
+ ctrll keycode 8 = seven
+ shift ctrll keycode 8 = period
+ control ctrll keycode 8 = Control_underscore
+ shift control ctrll keycode 8 = Control_underscore
+ alt ctrll keycode 8 = Meta_seven
+ shift alt ctrll keycode 8 = Meta_ampersand
+ ctrll ctrlr keycode 8 = seven
+ shift ctrll ctrlr keycode 8 = period
+ control ctrll ctrlr keycode 8 = Control_underscore
+ shift control ctrll ctrlr keycode 8 = Control_underscore
+ alt ctrll ctrlr keycode 8 = Meta_seven
+ shift alt ctrll ctrlr keycode 8 = Meta_ampersand
+ altgr keycode 8 = 158
+keycode 9 = eight asterisk bracketleft
+ control keycode 9 = Delete
+ alt keycode 9 = Meta_eight
+ shift alt keycode 9 = Meta_asterisk
+ ctrlr keycode 9 = eight
+ shift ctrlr keycode 9 = asterisk
+ control ctrlr keycode 9 = Delete
+ shift control ctrlr keycode 9 = Delete
+ alt ctrlr keycode 9 = Meta_eight
+ shift alt ctrlr keycode 9 = Meta_asterisk
+ ctrll keycode 9 = eight
+ shift ctrll keycode 9 = asterisk
+ control ctrll keycode 9 = Delete
+ shift control ctrll keycode 9 = Delete
+ alt ctrll keycode 9 = Meta_eight
+ shift alt ctrll keycode 9 = Meta_asterisk
+ ctrll ctrlr keycode 9 = eight
+ shift ctrll ctrlr keycode 9 = asterisk
+ control ctrll ctrlr keycode 9 = Delete
+ shift control ctrll ctrlr keycode 9 = Delete
+ alt ctrll ctrlr keycode 9 = Meta_eight
+ shift alt ctrll ctrlr keycode 9 = Meta_asterisk
+ altgr keycode 9 = 159
+keycode 10 = nine parenleft bracketright
+ alt keycode 10 = Meta_nine
+ shift alt keycode 10 = Meta_parenleft
+ ctrlr keycode 10 = nine
+ shift ctrlr keycode 10 = parenleft
+ alt ctrlr keycode 10 = Meta_nine
+ shift alt ctrlr keycode 10 = Meta_parenleft
+ ctrll keycode 10 = nine
+ shift ctrll keycode 10 = parenleft
+ alt ctrll keycode 10 = Meta_nine
+ shift alt ctrll keycode 10 = Meta_parenleft
+ ctrll ctrlr keycode 10 = nine
+ shift ctrll ctrlr keycode 10 = parenleft
+ alt ctrll ctrlr keycode 10 = Meta_nine
+ shift alt ctrll ctrlr keycode 10 = Meta_parenleft
+ altgr keycode 10 = 147
+keycode 11 = zero parenright braceright
+ alt keycode 11 = Meta_zero
+ alt keycode 11 = Meta_parenright
+ ctrlr keycode 11 = zero
+ shift ctrlr keycode 11 = parenright
+ alt ctrlr keycode 11 = Meta_zero
+ shift alt ctrlr keycode 11 = Meta_parenright
+ ctrll keycode 11 = zero
+ shift ctrll keycode 11 = parenright
+ alt ctrll keycode 11 = Meta_zero
+ shift alt ctrll keycode 11 = Meta_parenright
+ ctrll ctrlr keycode 11 = zero
+ shift ctrll ctrlr keycode 11 = parenright
+ alt ctrll ctrlr keycode 11 = Meta_zero
+ shift alt ctrll ctrlr keycode 11 = Meta_parenright
+ altgr keycode 11 = 155
+keycode 12 = minus underscore backslash
+ control keycode 12 = Control_underscore
+ shift control keycode 12 = Control_underscore
+ alt keycode 12 = Meta_minus
+ shift alt keycode 12 = Meta_underscore
+ ctrlr keycode 12 = minus
+ shift ctrlr keycode 12 = underscore
+ control ctrlr keycode 12 = Control_underscore
+ shift control ctrlr keycode 12 = Control_underscore
+ alt ctrlr keycode 12 = Meta_minus
+ shift alt ctrlr keycode 12 = Meta_underscore
+ ctrll keycode 12 = minus
+ shift ctrll keycode 12 = underscore
+ control ctrll keycode 12 = Control_underscore
+ shift control ctrll keycode 12 = Control_underscore
+ alt ctrll keycode 12 = Meta_minus
+ shift alt ctrll keycode 12 = Meta_underscore
+ ctrll ctrlr keycode 12 = minus
+ shift ctrll ctrlr keycode 12 = underscore
+ control ctrll ctrlr keycode 12 = Control_underscore
+ shift control ctrll ctrlr keycode 12 = Control_underscore
+ alt ctrll ctrlr keycode 12 = Meta_minus
+ shift alt ctrll ctrlr keycode 12 = Meta_underscore
+ altgr keycode 12 = 149
+keycode 13 = equal plus
+ alt keycode 13 = Meta_equal
+ shift alt keycode 13 = Meta_plus
+ ctrlr keycode 13 = equal
+ shift ctrlr keycode 13 = plus
+ alt ctrlr keycode 13 = Meta_equal
+ shift alt ctrlr keycode 13 = Meta_plus
+ ctrll keycode 13 = equal
+ shift ctrll keycode 13 = plus
+ alt ctrll keycode 13 = Meta_equal
+ shift alt ctrll keycode 13 = Meta_plus
+ ctrll ctrlr keycode 13 = equal
+ shift ctrll ctrlr keycode 13 = plus
+ alt ctrll ctrlr keycode 13 = Meta_equal
+ shift alt ctrll ctrlr keycode 13 = Meta_plus
+keycode 14 = BackSpace Delete
+ control keycode 14 = BackSpace
+ alt keycode 14 = Meta_Delete
+ ctrlr keycode 14 = BackSpace
+ shift ctrlr keycode 14 = BackSpace
+ control ctrlr keycode 14 = BackSpace
+ shift control ctrlr keycode 14 = BackSpace
+ alt ctrlr keycode 14 = Meta_Delete
+ shift alt ctrlr keycode 14 = Meta_Delete
+ ctrll keycode 14 = BackSpace
+ shift ctrll keycode 14 = BackSpace
+ control ctrll keycode 14 = BackSpace
+ shift control ctrll keycode 14 = BackSpace
+ alt ctrll keycode 14 = Meta_Delete
+ shift alt ctrll keycode 14 = Meta_Delete
+ ctrll ctrlr keycode 14 = BackSpace
+ shift ctrll ctrlr keycode 14 = BackSpace
+ control ctrll ctrlr keycode 14 = BackSpace
+ shift control ctrll ctrlr keycode 14 = BackSpace
+ alt ctrll ctrlr keycode 14 = Meta_Delete
+ shift alt ctrll ctrlr keycode 14 = Meta_Delete
+keycode 15 = Tab Meta_Tab
+ alt keycode 15 = Meta_Tab
+ ctrlr keycode 15 = Tab
+ shift ctrlr keycode 15 = Tab
+ alt ctrlr keycode 15 = Meta_Tab
+ shift alt ctrlr keycode 15 = Meta_Tab
+ ctrll keycode 15 = Tab
+ shift ctrll keycode 15 = Tab
+ alt ctrll keycode 15 = Meta_Tab
+ shift alt ctrll keycode 15 = Meta_Tab
+ ctrll ctrlr keycode 15 = Tab
+ shift ctrll ctrlr keycode 15 = Tab
+ alt ctrll ctrlr keycode 15 = Meta_Tab
+ shift alt ctrll ctrlr keycode 15 = Meta_Tab
+keycode 16 = q
+ ctrlr keycode 16 = +202
+ shift ctrlr keycode 16 = +234
+ control ctrlr keycode 16 = Control_q
+ shift control ctrlr keycode 16 = Control_q
+ alt ctrlr keycode 16 = Meta_q
+ shift alt ctrlr keycode 16 = Meta_Q
+ control alt ctrlr keycode 16 = Meta_Control_q
+ shift control alt ctrlr keycode 16 = Meta_Control_q
+ ctrll keycode 16 = +202
+ shift ctrll keycode 16 = +234
+ control ctrll keycode 16 = Control_q
+ shift control ctrll keycode 16 = Control_q
+ alt ctrll keycode 16 = Meta_q
+ shift alt ctrll keycode 16 = Meta_Q
+ control alt ctrll keycode 16 = Meta_Control_q
+ shift control alt ctrll keycode 16 = Meta_Control_q
+ ctrll ctrlr keycode 16 = +202
+ shift ctrll ctrlr keycode 16 = +234
+ control ctrll ctrlr keycode 16 = Control_q
+ shift control ctrll ctrlr keycode 16 = Control_q
+ alt ctrll ctrlr keycode 16 = Meta_q
+ shift alt ctrll ctrlr keycode 16 = Meta_Q
+ control alt ctrll ctrlr keycode 16 = Meta_Control_q
+ shift control alt ctrll ctrlr keycode 16 = Meta_Control_q
+keycode 17 = w
+ ctrlr keycode 17 = +195
+ shift ctrlr keycode 17 = +227
+ control ctrlr keycode 17 = Control_w
+ shift control ctrlr keycode 17 = Control_w
+ alt ctrlr keycode 17 = Meta_w
+ shift alt ctrlr keycode 17 = Meta_W
+ control alt ctrlr keycode 17 = Meta_Control_w
+ shift control alt ctrlr keycode 17 = Meta_Control_w
+ ctrll keycode 17 = +195
+ shift ctrll keycode 17 = +227
+ control ctrll keycode 17 = Control_w
+ shift control ctrll keycode 17 = Control_w
+ alt ctrll keycode 17 = Meta_w
+ shift alt ctrll keycode 17 = Meta_W
+ control alt ctrll keycode 17 = Meta_Control_w
+ shift control alt ctrll keycode 17 = Meta_Control_w
+ ctrll ctrlr keycode 17 = +195
+ shift ctrll ctrlr keycode 17 = +227
+ control ctrll ctrlr keycode 17 = Control_w
+ shift control ctrll ctrlr keycode 17 = Control_w
+ alt ctrll ctrlr keycode 17 = Meta_w
+ shift alt ctrll ctrlr keycode 17 = Meta_W
+ control alt ctrll ctrlr keycode 17 = Meta_Control_w
+ shift control alt ctrll ctrlr keycode 17 = Meta_Control_w
+keycode 18 = e
+ ctrlr keycode 18 = +213
+ shift ctrlr keycode 18 = +245
+ control ctrlr keycode 18 = Control_e
+ shift control ctrlr keycode 18 = Control_e
+ alt ctrlr keycode 18 = Meta_e
+ shift alt ctrlr keycode 18 = Meta_E
+ control alt ctrlr keycode 18 = Meta_Control_e
+ shift control alt ctrlr keycode 18 = Meta_Control_e
+ ctrll keycode 18 = +213
+ shift ctrll keycode 18 = +245
+ control ctrll keycode 18 = Control_e
+ shift control ctrll keycode 18 = Control_e
+ alt ctrll keycode 18 = Meta_e
+ shift alt ctrll keycode 18 = Meta_E
+ control alt ctrll keycode 18 = Meta_Control_e
+ shift control alt ctrll keycode 18 = Meta_Control_e
+ ctrll ctrlr keycode 18 = +213
+ shift ctrll ctrlr keycode 18 = +245
+ control ctrll ctrlr keycode 18 = Control_e
+ shift control ctrll ctrlr keycode 18 = Control_e
+ alt ctrll ctrlr keycode 18 = Meta_e
+ shift alt ctrll ctrlr keycode 18 = Meta_E
+ control alt ctrll ctrlr keycode 18 = Meta_Control_e
+ shift control alt ctrll ctrlr keycode 18 = Meta_Control_e
+keycode 19 = r
+ ctrlr keycode 19 = +203
+ shift ctrlr keycode 19 = +235
+ control ctrlr keycode 19 = Control_r
+ shift control ctrlr keycode 19 = Control_r
+ alt ctrlr keycode 19 = Meta_r
+ shift alt ctrlr keycode 19 = Meta_R
+ control alt ctrlr keycode 19 = Meta_Control_r
+ shift control alt ctrlr keycode 19 = Meta_Control_r
+ ctrll keycode 19 = +203
+ shift ctrll keycode 19 = +235
+ control ctrll keycode 19 = Control_r
+ shift control ctrll keycode 19 = Control_r
+ alt ctrll keycode 19 = Meta_r
+ shift alt ctrll keycode 19 = Meta_R
+ control alt ctrll keycode 19 = Meta_Control_r
+ shift control alt ctrll keycode 19 = Meta_Control_r
+ ctrll ctrlr keycode 19 = +203
+ shift ctrll ctrlr keycode 19 = +235
+ control ctrll ctrlr keycode 19 = Control_r
+ shift control ctrll ctrlr keycode 19 = Control_r
+ alt ctrll ctrlr keycode 19 = Meta_r
+ shift alt ctrll ctrlr keycode 19 = Meta_R
+ control alt ctrll ctrlr keycode 19 = Meta_Control_r
+ shift control alt ctrll ctrlr keycode 19 = Meta_Control_r
+keycode 20 = t
+ ctrlr keycode 20 = +197
+ shift ctrlr keycode 20 = +229
+ control ctrlr keycode 20 = Control_t
+ shift control ctrlr keycode 20 = Control_t
+ alt ctrlr keycode 20 = Meta_t
+ shift alt ctrlr keycode 20 = Meta_T
+ control alt ctrlr keycode 20 = Meta_Control_t
+ shift control alt ctrlr keycode 20 = Meta_Control_t
+ ctrll keycode 20 = +197
+ shift ctrll keycode 20 = +229
+ control ctrll keycode 20 = Control_t
+ shift control ctrll keycode 20 = Control_t
+ alt ctrll keycode 20 = Meta_t
+ shift alt ctrll keycode 20 = Meta_T
+ control alt ctrll keycode 20 = Meta_Control_t
+ shift control alt ctrll keycode 20 = Meta_Control_t
+ ctrll ctrlr keycode 20 = +197
+ shift ctrll ctrlr keycode 20 = +229
+ control ctrll ctrlr keycode 20 = Control_t
+ shift control ctrll ctrlr keycode 20 = Control_t
+ alt ctrll ctrlr keycode 20 = Meta_t
+ shift alt ctrll ctrlr keycode 20 = Meta_T
+ control alt ctrll ctrlr keycode 20 = Meta_Control_t
+ shift control alt ctrll ctrlr keycode 20 = Meta_Control_t
+keycode 21 = y
+ ctrlr keycode 21 = +206
+ shift ctrlr keycode 21 = +238
+ control ctrlr keycode 21 = Control_y
+ shift control ctrlr keycode 21 = Control_y
+ alt ctrlr keycode 21 = Meta_y
+ shift alt ctrlr keycode 21 = Meta_Y
+ control alt ctrlr keycode 21 = Meta_Control_y
+ shift control alt ctrlr keycode 21 = Meta_Control_y
+ ctrll keycode 21 = +206
+ shift ctrll keycode 21 = +238
+ control ctrll keycode 21 = Control_y
+ shift control ctrll keycode 21 = Control_y
+ alt ctrll keycode 21 = Meta_y
+ shift alt ctrll keycode 21 = Meta_Y
+ control alt ctrll keycode 21 = Meta_Control_y
+ shift control alt ctrll keycode 21 = Meta_Control_y
+ ctrll ctrlr keycode 21 = +206
+ shift ctrll ctrlr keycode 21 = +238
+ control ctrll ctrlr keycode 21 = Control_y
+ shift control ctrll ctrlr keycode 21 = Control_y
+ alt ctrll ctrlr keycode 21 = Meta_y
+ shift alt ctrll ctrlr keycode 21 = Meta_Y
+ control alt ctrll ctrlr keycode 21 = Meta_Control_y
+ shift control alt ctrll ctrlr keycode 21 = Meta_Control_y
+keycode 22 = u
+ ctrlr keycode 22 = +199
+ shift ctrlr keycode 22 = +231
+ control ctrlr keycode 22 = Control_u
+ shift control ctrlr keycode 22 = Control_u
+ alt ctrlr keycode 22 = Meta_u
+ shift alt ctrlr keycode 22 = Meta_U
+ control alt ctrlr keycode 22 = Meta_Control_u
+ shift control alt ctrlr keycode 22 = Meta_Control_u
+ ctrll keycode 22 = +199
+ shift ctrll keycode 22 = +231
+ control ctrll keycode 22 = Control_u
+ shift control ctrll keycode 22 = Control_u
+ alt ctrll keycode 22 = Meta_u
+ shift alt ctrll keycode 22 = Meta_U
+ control alt ctrll keycode 22 = Meta_Control_u
+ shift control alt ctrll keycode 22 = Meta_Control_u
+ ctrll ctrlr keycode 22 = +199
+ shift ctrll ctrlr keycode 22 = +231
+ control ctrll ctrlr keycode 22 = Control_u
+ shift control ctrll ctrlr keycode 22 = Control_u
+ alt ctrll ctrlr keycode 22 = Meta_u
+ shift alt ctrll ctrlr keycode 22 = Meta_U
+ control alt ctrll ctrlr keycode 22 = Meta_Control_u
+ shift control alt ctrll ctrlr keycode 22 = Meta_Control_u
+keycode 23 = i
+ ctrlr keycode 23 = +219
+ shift ctrlr keycode 23 = +251
+ control ctrlr keycode 23 = Control_i
+ shift control ctrlr keycode 23 = Control_i
+ alt ctrlr keycode 23 = Meta_i
+ shift alt ctrlr keycode 23 = Meta_I
+ control alt ctrlr keycode 23 = Meta_Control_i
+ shift control alt ctrlr keycode 23 = Meta_Control_i
+ ctrll keycode 23 = +219
+ shift ctrll keycode 23 = +251
+ control ctrll keycode 23 = Control_i
+ shift control ctrll keycode 23 = Control_i
+ alt ctrll keycode 23 = Meta_i
+ shift alt ctrll keycode 23 = Meta_I
+ control alt ctrll keycode 23 = Meta_Control_i
+ shift control alt ctrll keycode 23 = Meta_Control_i
+ ctrll ctrlr keycode 23 = +219
+ shift ctrll ctrlr keycode 23 = +251
+ control ctrll ctrlr keycode 23 = Control_i
+ shift control ctrll ctrlr keycode 23 = Control_i
+ alt ctrll ctrlr keycode 23 = Meta_i
+ shift alt ctrll ctrlr keycode 23 = Meta_I
+ control alt ctrll ctrlr keycode 23 = Meta_Control_i
+ shift control alt ctrll ctrlr keycode 23 = Meta_Control_i
+keycode 24 = o
+ ctrlr keycode 24 = +221
+ shift ctrlr keycode 24 = +253
+ control ctrlr keycode 24 = Control_o
+ shift control ctrlr keycode 24 = Control_o
+ alt ctrlr keycode 24 = Meta_o
+ shift alt ctrlr keycode 24 = Meta_O
+ control alt ctrlr keycode 24 = Meta_Control_o
+ shift control alt ctrlr keycode 24 = Meta_Control_o
+ ctrll keycode 24 = +221
+ shift ctrll keycode 24 = +253
+ control ctrll keycode 24 = Control_o
+ shift control ctrll keycode 24 = Control_o
+ alt ctrll keycode 24 = Meta_o
+ shift alt ctrll keycode 24 = Meta_O
+ control alt ctrll keycode 24 = Meta_Control_o
+ shift control alt ctrll keycode 24 = Meta_Control_o
+ ctrll ctrlr keycode 24 = +221
+ shift ctrll ctrlr keycode 24 = +253
+ control ctrll ctrlr keycode 24 = Control_o
+ shift control ctrll ctrlr keycode 24 = Control_o
+ alt ctrll ctrlr keycode 24 = Meta_o
+ shift alt ctrll ctrlr keycode 24 = Meta_O
+ control alt ctrll ctrlr keycode 24 = Meta_Control_o
+ shift control alt ctrll ctrlr keycode 24 = Meta_Control_o
+keycode 25 = p
+ ctrlr keycode 25 = +218
+ shift ctrlr keycode 25 = +250
+ control ctrlr keycode 25 = Control_p
+ shift control ctrlr keycode 25 = Control_p
+ alt ctrlr keycode 25 = Meta_p
+ shift alt ctrlr keycode 25 = Meta_P
+ control alt ctrlr keycode 25 = Meta_Control_p
+ shift control alt ctrlr keycode 25 = Meta_Control_p
+ ctrll keycode 25 = +218
+ shift ctrll keycode 25 = +250
+ control ctrll keycode 25 = Control_p
+ shift control ctrll keycode 25 = Control_p
+ alt ctrll keycode 25 = Meta_p
+ shift alt ctrll keycode 25 = Meta_P
+ control alt ctrll keycode 25 = Meta_Control_p
+ shift control alt ctrll keycode 25 = Meta_Control_p
+ ctrll ctrlr keycode 25 = +218
+ shift ctrll ctrlr keycode 25 = +250
+ control ctrll ctrlr keycode 25 = Control_p
+ shift control ctrll ctrlr keycode 25 = Control_p
+ alt ctrll ctrlr keycode 25 = Meta_p
+ shift alt ctrll ctrlr keycode 25 = Meta_P
+ control alt ctrll ctrlr keycode 25 = Meta_Control_p
+ shift control alt ctrll ctrlr keycode 25 = Meta_Control_p
+keycode 26 = bracketleft braceleft
+ control keycode 26 = Escape
+ alt keycode 26 = Meta_bracketleft
+ shift alt keycode 26 = Meta_braceleft
+ ctrlr keycode 26 = +200
+ shift ctrlr keycode 26 = +232
+ control ctrlr keycode 26 = Escape
+ shift control ctrlr keycode 26 = Escape
+ alt ctrlr keycode 26 = Meta_bracketleft
+ shift alt ctrlr keycode 26 = Meta_braceleft
+ ctrll keycode 26 = +200
+ shift ctrll keycode 26 = +232
+ control ctrll keycode 26 = Escape
+ shift control ctrll keycode 26 = Escape
+ alt ctrll keycode 26 = Meta_bracketleft
+ shift alt ctrll keycode 26 = Meta_braceleft
+ ctrll ctrlr keycode 26 = +200
+ shift ctrll ctrlr keycode 26 = +232
+ control ctrll ctrlr keycode 26 = Escape
+ shift control ctrll ctrlr keycode 26 = Escape
+ alt ctrll ctrlr keycode 26 = Meta_bracketleft
+ shift alt ctrll ctrlr keycode 26 = Meta_braceleft
+keycode 27 = bracketright braceright asciitilde
+ control keycode 27 = Control_bracketright
+ alt keycode 27 = Meta_bracketright
+ shift alt keycode 27 = Meta_braceright
+ ctrlr keycode 27 = +223
+ shift ctrlr keycode 27 = +255
+ control ctrlr keycode 27 = Control_bracketright
+ shift control ctrlr keycode 27 = Control_bracketright
+ alt ctrlr keycode 27 = Meta_bracketright
+ shift alt ctrlr keycode 27 = Meta_braceright
+ control alt ctrlr keycode 27 = Meta_Control_bracketright
+ shift control alt ctrlr keycode 27 = Meta_Control_bracketright
+ ctrll keycode 27 = +167
+ shift ctrll keycode 27 = +183
+ control ctrll keycode 27 = Control_bracketright
+ shift control ctrll keycode 27 = Control_bracketright
+ alt ctrll keycode 27 = Meta_bracketright
+ shift alt ctrll keycode 27 = Meta_braceright
+ control alt ctrll keycode 27 = Meta_Control_bracketright
+ shift control alt ctrll keycode 27 = Meta_Control_bracketright
+ ctrll ctrlr keycode 27 = +167
+ shift ctrll ctrlr keycode 27 = +183
+ control ctrll ctrlr keycode 27 = Control_bracketright
+ shift control ctrll ctrlr keycode 27 = Control_bracketright
+ alt ctrll ctrlr keycode 27 = Meta_bracketright
+ shift alt ctrll ctrlr keycode 27 = Meta_braceright
+ control alt ctrll ctrlr keycode 27 = Meta_Control_bracketright
+ shift control alt ctrll ctrlr keycode 27 = Meta_Control_bracketright
+keycode 28 = Return
+ alt keycode 28 = Meta_Control_m
+keycode 29 = Control
+keycode 30 = a
+ ctrlr keycode 30 = +198
+ shift ctrlr keycode 30 = +230
+ control ctrlr keycode 30 = Control_a
+ shift control ctrlr keycode 30 = Control_a
+ alt ctrlr keycode 30 = Meta_a
+ shift alt ctrlr keycode 30 = Meta_A
+ control alt ctrlr keycode 30 = Meta_Control_a
+ shift control alt ctrlr keycode 30 = Meta_Control_a
+ ctrll keycode 30 = +198
+ shift ctrll keycode 30 = +230
+ control ctrll keycode 30 = Control_a
+ shift control ctrll keycode 30 = Control_a
+ alt ctrll keycode 30 = Meta_a
+ shift alt ctrll keycode 30 = Meta_A
+ control alt ctrll keycode 30 = Meta_Control_a
+ shift control alt ctrll keycode 30 = Meta_Control_a
+ ctrll ctrlr keycode 30 = +198
+ shift ctrll ctrlr keycode 30 = +230
+ control ctrll ctrlr keycode 30 = Control_a
+ shift control ctrll ctrlr keycode 30 = Control_a
+ alt ctrll ctrlr keycode 30 = Meta_a
+ shift alt ctrll ctrlr keycode 30 = Meta_A
+ control alt ctrll ctrlr keycode 30 = Meta_Control_a
+ shift control alt ctrll ctrlr keycode 30 = Meta_Control_a
+keycode 31 = s
+ ctrlr keycode 31 = +217
+ shift ctrlr keycode 31 = +249
+ control ctrlr keycode 31 = Control_s
+ shift control ctrlr keycode 31 = Control_s
+ alt ctrlr keycode 31 = Meta_s
+ shift alt ctrlr keycode 31 = Meta_S
+ control alt ctrlr keycode 31 = Meta_Control_s
+ shift control alt ctrlr keycode 31 = Meta_Control_s
+ ctrll keycode 31 = +166
+ shift ctrll keycode 31 = +182
+ control ctrll keycode 31 = Control_s
+ shift control ctrll keycode 31 = Control_s
+ alt ctrll keycode 31 = Meta_s
+ shift alt ctrll keycode 31 = Meta_S
+ control alt ctrll keycode 31 = Meta_Control_s
+ shift control alt ctrll keycode 31 = Meta_Control_s
+ ctrll ctrlr keycode 31 = +166
+ shift ctrll ctrlr keycode 31 = +182
+ control ctrll ctrlr keycode 31 = Control_s
+ shift control ctrll ctrlr keycode 31 = Control_s
+ alt ctrll ctrlr keycode 31 = Meta_s
+ shift alt ctrll ctrlr keycode 31 = Meta_S
+ control alt ctrll ctrlr keycode 31 = Meta_Control_s
+ shift control alt ctrll ctrlr keycode 31 = Meta_Control_s
+keycode 32 = d
+ ctrlr keycode 32 = +215
+ shift ctrlr keycode 32 = +247
+ control ctrlr keycode 32 = Control_d
+ shift control ctrlr keycode 32 = Control_d
+ alt ctrlr keycode 32 = Meta_d
+ shift alt ctrlr keycode 32 = Meta_D
+ control alt ctrlr keycode 32 = Meta_Control_d
+ shift control alt ctrlr keycode 32 = Meta_Control_d
+ ctrll keycode 32 = +215
+ shift ctrll keycode 32 = +247
+ control ctrll keycode 32 = Control_d
+ shift control ctrll keycode 32 = Control_d
+ alt ctrll keycode 32 = Meta_d
+ shift alt ctrll keycode 32 = Meta_D
+ control alt ctrll keycode 32 = Meta_Control_d
+ shift control alt ctrll keycode 32 = Meta_Control_d
+ ctrll ctrlr keycode 32 = +215
+ shift ctrll ctrlr keycode 32 = +247
+ control ctrll ctrlr keycode 32 = Control_d
+ shift control ctrll ctrlr keycode 32 = Control_d
+ alt ctrll ctrlr keycode 32 = Meta_d
+ shift alt ctrll ctrlr keycode 32 = Meta_D
+ control alt ctrll ctrlr keycode 32 = Meta_Control_d
+ shift control alt ctrll ctrlr keycode 32 = Meta_Control_d
+keycode 33 = f
+ ctrlr keycode 33 = +193
+ shift ctrlr keycode 33 = +225
+ control ctrlr keycode 33 = Control_f
+ shift control ctrlr keycode 33 = Control_f
+ alt ctrlr keycode 33 = Meta_f
+ shift alt ctrlr keycode 33 = Meta_F
+ control alt ctrlr keycode 33 = Meta_Control_f
+ shift control alt ctrlr keycode 33 = Meta_Control_f
+ ctrll keycode 33 = +193
+ shift ctrll keycode 33 = +225
+ control ctrll keycode 33 = Control_f
+ shift control ctrll keycode 33 = Control_f
+ alt ctrll keycode 33 = Meta_f
+ shift alt ctrll keycode 33 = Meta_F
+ control alt ctrll keycode 33 = Meta_Control_f
+ shift control alt ctrll keycode 33 = Meta_Control_f
+ ctrll ctrlr keycode 33 = +193
+ shift ctrll ctrlr keycode 33 = +225
+ control ctrll ctrlr keycode 33 = Control_f
+ shift control ctrll ctrlr keycode 33 = Control_f
+ alt ctrll ctrlr keycode 33 = Meta_f
+ shift alt ctrll ctrlr keycode 33 = Meta_F
+ control alt ctrll ctrlr keycode 33 = Meta_Control_f
+ shift control alt ctrll ctrlr keycode 33 = Meta_Control_f
+keycode 34 = g
+ ctrlr keycode 34 = +208
+ shift ctrlr keycode 34 = +240
+ control ctrlr keycode 34 = Control_g
+ shift control ctrlr keycode 34 = Control_g
+ alt ctrlr keycode 34 = Meta_g
+ shift alt ctrlr keycode 34 = Meta_G
+ control alt ctrlr keycode 34 = Meta_Control_g
+ shift control alt ctrlr keycode 34 = Meta_Control_g
+ ctrll keycode 34 = +208
+ shift ctrll keycode 34 = +240
+ control ctrll keycode 34 = Control_g
+ shift control ctrll keycode 34 = Control_g
+ alt ctrll keycode 34 = Meta_g
+ shift alt ctrll keycode 34 = Meta_G
+ control alt ctrll keycode 34 = Meta_Control_g
+ shift control alt ctrll keycode 34 = Meta_Control_g
+ ctrll ctrlr keycode 34 = +208
+ shift ctrll ctrlr keycode 34 = +240
+ control ctrll ctrlr keycode 34 = Control_g
+ shift control ctrll ctrlr keycode 34 = Control_g
+ alt ctrll ctrlr keycode 34 = Meta_g
+ shift alt ctrll ctrlr keycode 34 = Meta_G
+ control alt ctrll ctrlr keycode 34 = Meta_Control_g
+ shift control alt ctrll ctrlr keycode 34 = Meta_Control_g
+keycode 35 = h
+ ctrlr keycode 35 = +210
+ shift ctrlr keycode 35 = +242
+ control ctrlr keycode 35 = Control_h
+ shift control ctrlr keycode 35 = Control_h
+ alt ctrlr keycode 35 = Meta_h
+ shift alt ctrlr keycode 35 = Meta_H
+ control alt ctrlr keycode 35 = Meta_Control_h
+ shift control alt ctrlr keycode 35 = Meta_Control_h
+ ctrll keycode 35 = +210
+ shift ctrll keycode 35 = +242
+ control ctrll keycode 35 = Control_h
+ shift control ctrll keycode 35 = Control_h
+ alt ctrll keycode 35 = Meta_h
+ shift alt ctrll keycode 35 = Meta_H
+ control alt ctrll keycode 35 = Meta_Control_h
+ shift control alt ctrll keycode 35 = Meta_Control_h
+ ctrll ctrlr keycode 35 = +210
+ shift ctrll ctrlr keycode 35 = +242
+ control ctrll ctrlr keycode 35 = Control_h
+ shift control ctrll ctrlr keycode 35 = Control_h
+ alt ctrll ctrlr keycode 35 = Meta_h
+ shift alt ctrll ctrlr keycode 35 = Meta_H
+ control alt ctrll ctrlr keycode 35 = Meta_Control_h
+ shift control alt ctrll ctrlr keycode 35 = Meta_Control_h
+keycode 36 = j
+ ctrlr keycode 36 = +207
+ shift ctrlr keycode 36 = +239
+ control ctrlr keycode 36 = Control_j
+ shift control ctrlr keycode 36 = Control_j
+ alt ctrlr keycode 36 = Meta_j
+ shift alt ctrlr keycode 36 = Meta_J
+ control alt ctrlr keycode 36 = Meta_Control_j
+ shift control alt ctrlr keycode 36 = Meta_Control_j
+ ctrll keycode 36 = +207
+ shift ctrll keycode 36 = +239
+ control ctrll keycode 36 = Control_j
+ shift control ctrll keycode 36 = Control_j
+ alt ctrll keycode 36 = Meta_j
+ shift alt ctrll keycode 36 = Meta_J
+ control alt ctrll keycode 36 = Meta_Control_j
+ shift control alt ctrll keycode 36 = Meta_Control_j
+ ctrll ctrlr keycode 36 = +207
+ shift ctrll ctrlr keycode 36 = +239
+ control ctrll ctrlr keycode 36 = Control_j
+ shift control ctrll ctrlr keycode 36 = Control_j
+ alt ctrll ctrlr keycode 36 = Meta_j
+ shift alt ctrll ctrlr keycode 36 = Meta_J
+ control alt ctrll ctrlr keycode 36 = Meta_Control_j
+ shift control alt ctrll ctrlr keycode 36 = Meta_Control_j
+keycode 37 = k
+ ctrlr keycode 37 = +204
+ shift ctrlr keycode 37 = +236
+ control ctrlr keycode 37 = Control_k
+ shift control ctrlr keycode 37 = Control_k
+ alt ctrlr keycode 37 = Meta_k
+ shift alt ctrlr keycode 37 = Meta_K
+ control alt ctrlr keycode 37 = Meta_Control_k
+ shift control alt ctrlr keycode 37 = Meta_Control_k
+ ctrll keycode 37 = +204
+ shift ctrll keycode 37 = +236
+ control ctrll keycode 37 = Control_k
+ shift control ctrll keycode 37 = Control_k
+ alt ctrll keycode 37 = Meta_k
+ shift alt ctrll keycode 37 = Meta_K
+ control alt ctrll keycode 37 = Meta_Control_k
+ shift control alt ctrll keycode 37 = Meta_Control_k
+ ctrll ctrlr keycode 37 = +204
+ shift ctrll ctrlr keycode 37 = +236
+ control ctrll ctrlr keycode 37 = Control_k
+ shift control ctrll ctrlr keycode 37 = Control_k
+ alt ctrll ctrlr keycode 37 = Meta_k
+ shift alt ctrll ctrlr keycode 37 = Meta_K
+ control alt ctrll ctrlr keycode 37 = Meta_Control_k
+ shift control alt ctrll ctrlr keycode 37 = Meta_Control_k
+keycode 38 = l
+ ctrlr keycode 38 = +196
+ shift ctrlr keycode 38 = +228
+ control ctrlr keycode 38 = Control_l
+ shift control ctrlr keycode 38 = Control_l
+ alt ctrlr keycode 38 = Meta_l
+ shift alt ctrlr keycode 38 = Meta_L
+ control alt ctrlr keycode 38 = Meta_Control_l
+ shift control alt ctrlr keycode 38 = Meta_Control_l
+ ctrll keycode 38 = +196
+ shift ctrll keycode 38 = +228
+ control ctrll keycode 38 = Control_l
+ shift control ctrll keycode 38 = Control_l
+ alt ctrll keycode 38 = Meta_l
+ shift alt ctrll keycode 38 = Meta_L
+ control alt ctrll keycode 38 = Meta_Control_l
+ shift control alt ctrll keycode 38 = Meta_Control_l
+ ctrll ctrlr keycode 38 = +196
+ shift ctrll ctrlr keycode 38 = +228
+ control ctrll ctrlr keycode 38 = Control_l
+ shift control ctrll ctrlr keycode 38 = Control_l
+ alt ctrll ctrlr keycode 38 = Meta_l
+ shift alt ctrll ctrlr keycode 38 = Meta_L
+ control alt ctrll ctrlr keycode 38 = Meta_Control_l
+ shift control alt ctrll ctrlr keycode 38 = Meta_Control_l
+keycode 39 = semicolon colon
+ alt keycode 39 = Meta_semicolon
+ shift alt keycode 39 = Meta_colon
+ ctrlr keycode 39 = +214
+ shift ctrlr keycode 39 = +246
+ alt ctrlr keycode 39 = Meta_semicolon
+ shift alt ctrlr keycode 39 = Meta_colon
+ ctrll keycode 39 = +214
+ shift ctrll keycode 39 = +246
+ alt ctrll keycode 39 = Meta_semicolon
+ shift alt ctrll keycode 39 = Meta_colon
+ ctrll ctrlr keycode 39 = +214
+ shift ctrll ctrlr keycode 39 = +246
+ alt ctrll ctrlr keycode 39 = Meta_semicolon
+ shift alt ctrll ctrlr keycode 39 = Meta_colon
+keycode 40 = apostrophe quotedbl
+ control keycode 40 = Control_g
+ alt keycode 40 = Meta_apostrophe
+ shift alt keycode 40 = Meta_quotedbl
+ ctrlr keycode 40 = +220
+ shift ctrlr keycode 40 = +252
+ control ctrlr keycode 40 = Control_g
+ shift control ctrlr keycode 40 = Control_g
+ alt ctrlr keycode 40 = Meta_apostrophe
+ shift alt ctrlr keycode 40 = Meta_quotedbl
+ ctrll keycode 40 = +164
+ shift ctrll keycode 40 = +180
+ control ctrll keycode 40 = Control_g
+ shift control ctrll keycode 40 = Control_g
+ alt ctrll keycode 40 = Meta_apostrophe
+ shift alt ctrll keycode 40 = Meta_quotedbl
+ ctrll ctrlr keycode 40 = +164
+ shift ctrll ctrlr keycode 40 = +180
+ control ctrll ctrlr keycode 40 = Control_g
+ shift control ctrll ctrlr keycode 40 = Control_g
+ alt ctrll ctrlr keycode 40 = Meta_apostrophe
+ shift alt ctrll ctrlr keycode 40 = Meta_quotedbl
+keycode 41 = grave asciitilde
+ control keycode 41 = nul
+ alt keycode 41 = Meta_grave
+ shift alt keycode 41 = Meta_asciitilde
+ ctrlr keycode 41 = apostrophe
+ shift ctrlr keycode 41 = question
+ control ctrlr keycode 41 = nul
+ shift control ctrlr keycode 41 = nul
+ alt ctrlr keycode 41 = Meta_grave
+ shift alt ctrlr keycode 41 = Meta_asciitilde
+ ctrll keycode 41 = apostrophe
+ shift ctrll keycode 41 = question
+ control ctrll keycode 41 = nul
+ shift control ctrll keycode 41 = nul
+ alt ctrll keycode 41 = Meta_grave
+ shift alt ctrll keycode 41 = Meta_asciitilde
+ ctrll ctrlr keycode 41 = apostrophe
+ shift ctrll ctrlr keycode 41 = question
+ control ctrll ctrlr keycode 41 = nul
+ shift control ctrll ctrlr keycode 41 = nul
+ alt ctrll ctrlr keycode 41 = Meta_grave
+ shift alt ctrll ctrlr keycode 41 = Meta_asciitilde
+keycode 42 = Shift
+keycode 43 = backslash bar
+ control keycode 43 = Control_backslash
+ alt keycode 43 = Meta_backslash
+ shift alt keycode 43 = Meta_bar
+ control alt keycode 43 = Meta_Control_backslash
+ shift control alt keycode 43 = Meta_Control_backslash
+ ctrlr keycode 43 = backslash
+ shift ctrlr keycode 43 = bar
+ control ctrlr keycode 43 = Control_backslash
+ shift control ctrlr keycode 43 = Control_backslash
+ alt ctrlr keycode 43 = Meta_backslash
+ shift alt ctrlr keycode 43 = Meta_bar
+ control alt ctrlr keycode 43 = Meta_Control_backslash
+ shift control alt ctrlr keycode 43 = Meta_Control_backslash
+ ctrll keycode 43 = backslash
+ shift ctrll keycode 43 = bar
+ control ctrll keycode 43 = Control_backslash
+ shift control ctrll keycode 43 = Control_backslash
+ alt ctrll keycode 43 = Meta_backslash
+ shift alt ctrll keycode 43 = Meta_bar
+ control alt ctrll keycode 43 = Meta_Control_backslash
+ shift control alt ctrll keycode 43 = Meta_Control_backslash
+ ctrll ctrlr keycode 43 = backslash
+ shift ctrll ctrlr keycode 43 = bar
+ control ctrll ctrlr keycode 43 = Control_backslash
+ shift control ctrll ctrlr keycode 43 = Control_backslash
+ alt ctrll ctrlr keycode 43 = Meta_backslash
+ shift alt ctrll ctrlr keycode 43 = Meta_bar
+ control alt ctrll ctrlr keycode 43 = Meta_Control_backslash
+ shift control alt ctrll ctrlr keycode 43 = Meta_Control_backslash
+keycode 44 = z
+ ctrlr keycode 44 = +209
+ shift ctrlr keycode 44 = +241
+ control ctrlr keycode 44 = Control_z
+ shift control ctrlr keycode 44 = Control_z
+ alt ctrlr keycode 44 = Meta_z
+ shift alt ctrlr keycode 44 = Meta_Z
+ control alt ctrlr keycode 44 = Meta_Control_z
+ shift control alt ctrlr keycode 44 = Meta_Control_z
+ ctrll keycode 44 = +209
+ shift ctrll keycode 44 = +241
+ control ctrll keycode 44 = Control_z
+ shift control ctrll keycode 44 = Control_z
+ alt ctrll keycode 44 = Meta_z
+ shift alt ctrll keycode 44 = Meta_Z
+ control alt ctrll keycode 44 = Meta_Control_z
+ shift control alt ctrll keycode 44 = Meta_Control_z
+ ctrll ctrlr keycode 44 = +209
+ shift ctrll ctrlr keycode 44 = +241
+ control ctrll ctrlr keycode 44 = Control_z
+ shift control ctrll ctrlr keycode 44 = Control_z
+ alt ctrll ctrlr keycode 44 = Meta_z
+ shift alt ctrll ctrlr keycode 44 = Meta_Z
+ control alt ctrll ctrlr keycode 44 = Meta_Control_z
+ shift control alt ctrll ctrlr keycode 44 = Meta_Control_z
+keycode 45 = x
+ ctrlr keycode 45 = +222
+ shift ctrlr keycode 45 = +254
+ control ctrlr keycode 45 = Control_x
+ shift control ctrlr keycode 45 = Control_x
+ alt ctrlr keycode 45 = Meta_x
+ shift alt ctrlr keycode 45 = Meta_X
+ control alt ctrlr keycode 45 = Meta_Control_x
+ shift control alt ctrlr keycode 45 = Meta_Control_x
+ ctrll keycode 45 = +222
+ shift ctrll keycode 45 = +254
+ control ctrll keycode 45 = Control_x
+ shift control ctrll keycode 45 = Control_x
+ alt ctrll keycode 45 = Meta_x
+ shift alt ctrll keycode 45 = Meta_X
+ control alt ctrll keycode 45 = Meta_Control_x
+ shift control alt ctrll keycode 45 = Meta_Control_x
+ ctrll ctrlr keycode 45 = +222
+ shift ctrll ctrlr keycode 45 = +254
+ control ctrll ctrlr keycode 45 = Control_x
+ shift control ctrll ctrlr keycode 45 = Control_x
+ alt ctrll ctrlr keycode 45 = Meta_x
+ shift alt ctrll ctrlr keycode 45 = Meta_X
+ control alt ctrll ctrlr keycode 45 = Meta_Control_x
+ shift control alt ctrll ctrlr keycode 45 = Meta_Control_x
+keycode 46 = c
+ ctrlr keycode 46 = +211
+ shift ctrlr keycode 46 = +243
+ control ctrlr keycode 46 = Control_c
+ shift control ctrlr keycode 46 = Control_c
+ alt ctrlr keycode 46 = Meta_c
+ shift alt ctrlr keycode 46 = Meta_C
+ control alt ctrlr keycode 46 = Meta_Control_c
+ shift control alt ctrlr keycode 46 = Meta_Control_c
+ ctrll keycode 46 = +211
+ shift ctrll keycode 46 = +243
+ control ctrll keycode 46 = Control_c
+ shift control ctrll keycode 46 = Control_c
+ alt ctrll keycode 46 = Meta_c
+ shift alt ctrll keycode 46 = Meta_C
+ control alt ctrll keycode 46 = Meta_Control_c
+ shift control alt ctrll keycode 46 = Meta_Control_c
+ ctrll ctrlr keycode 46 = +211
+ shift ctrll ctrlr keycode 46 = +243
+ control ctrll ctrlr keycode 46 = Control_c
+ shift control ctrll ctrlr keycode 46 = Control_c
+ alt ctrll ctrlr keycode 46 = Meta_c
+ shift alt ctrll ctrlr keycode 46 = Meta_C
+ control alt ctrll ctrlr keycode 46 = Meta_Control_c
+ shift control alt ctrll ctrlr keycode 46 = Meta_Control_c
+keycode 47 = v
+ ctrlr keycode 47 = +205
+ shift ctrlr keycode 47 = +237
+ control ctrlr keycode 47 = Control_v
+ shift control ctrlr keycode 47 = Control_v
+ alt ctrlr keycode 47 = Meta_v
+ shift alt ctrlr keycode 47 = Meta_V
+ control alt ctrlr keycode 47 = Meta_Control_v
+ shift control alt ctrlr keycode 47 = Meta_Control_v
+ ctrll keycode 47 = +205
+ shift ctrll keycode 47 = +237
+ control ctrll keycode 47 = Control_v
+ shift control ctrll keycode 47 = Control_v
+ alt ctrll keycode 47 = Meta_v
+ shift alt ctrll keycode 47 = Meta_V
+ control alt ctrll keycode 47 = Meta_Control_v
+ shift control alt ctrll keycode 47 = Meta_Control_v
+ ctrll ctrlr keycode 47 = +205
+ shift ctrll ctrlr keycode 47 = +237
+ control ctrll ctrlr keycode 47 = Control_v
+ shift control ctrll ctrlr keycode 47 = Control_v
+ alt ctrll ctrlr keycode 47 = Meta_v
+ shift alt ctrll ctrlr keycode 47 = Meta_V
+ control alt ctrll ctrlr keycode 47 = Meta_Control_v
+ shift control alt ctrll ctrlr keycode 47 = Meta_Control_v
+keycode 48 = b
+ ctrlr keycode 48 = +201
+ shift ctrlr keycode 48 = +233
+ control ctrlr keycode 48 = Control_b
+ shift control ctrlr keycode 48 = Control_b
+ alt ctrlr keycode 48 = Meta_b
+ shift alt ctrlr keycode 48 = Meta_B
+ control alt ctrlr keycode 48 = Meta_Control_b
+ shift control alt ctrlr keycode 48 = Meta_Control_b
+ ctrll keycode 48 = +201
+ shift ctrll keycode 48 = +233
+ control ctrll keycode 48 = Control_b
+ shift control ctrll keycode 48 = Control_b
+ alt ctrll keycode 48 = Meta_b
+ shift alt ctrll keycode 48 = Meta_B
+ control alt ctrll keycode 48 = Meta_Control_b
+ shift control alt ctrll keycode 48 = Meta_Control_b
+ ctrll ctrlr keycode 48 = +201
+ shift ctrll ctrlr keycode 48 = +233
+ control ctrll ctrlr keycode 48 = Control_b
+ shift control ctrll ctrlr keycode 48 = Control_b
+ alt ctrll ctrlr keycode 48 = Meta_b
+ shift alt ctrll ctrlr keycode 48 = Meta_B
+ control alt ctrll ctrlr keycode 48 = Meta_Control_b
+ shift control alt ctrll ctrlr keycode 48 = Meta_Control_b
+keycode 49 = n
+ ctrlr keycode 49 = +212
+ shift ctrlr keycode 49 = +244
+ control ctrlr keycode 49 = Control_n
+ shift control ctrlr keycode 49 = Control_n
+ alt ctrlr keycode 49 = Meta_n
+ shift alt ctrlr keycode 49 = Meta_N
+ control alt ctrlr keycode 49 = Meta_Control_n
+ shift control alt ctrlr keycode 49 = Meta_Control_n
+ ctrll keycode 49 = +212
+ shift ctrll keycode 49 = +244
+ control ctrll keycode 49 = Control_n
+ shift control ctrll keycode 49 = Control_n
+ alt ctrll keycode 49 = Meta_n
+ shift alt ctrll keycode 49 = Meta_N
+ control alt ctrll keycode 49 = Meta_Control_n
+ shift control alt ctrll keycode 49 = Meta_Control_n
+ ctrll ctrlr keycode 49 = +212
+ shift ctrll ctrlr keycode 49 = +244
+ control ctrll ctrlr keycode 49 = Control_n
+ shift control ctrll ctrlr keycode 49 = Control_n
+ alt ctrll ctrlr keycode 49 = Meta_n
+ shift alt ctrll ctrlr keycode 49 = Meta_N
+ control alt ctrll ctrlr keycode 49 = Meta_Control_n
+ shift control alt ctrll ctrlr keycode 49 = Meta_Control_n
+keycode 50 = m
+ ctrlr keycode 50 = +216
+ shift ctrlr keycode 50 = +248
+ control ctrlr keycode 50 = Control_m
+ shift control ctrlr keycode 50 = Control_m
+ alt ctrlr keycode 50 = Meta_m
+ shift alt ctrlr keycode 50 = Meta_M
+ control alt ctrlr keycode 50 = Meta_Control_m
+ shift control alt ctrlr keycode 50 = Meta_Control_m
+ ctrll keycode 50 = +216
+ shift ctrll keycode 50 = +248
+ control ctrll keycode 50 = Control_m
+ shift control ctrll keycode 50 = Control_m
+ alt ctrll keycode 50 = Meta_m
+ shift alt ctrll keycode 50 = Meta_M
+ control alt ctrll keycode 50 = Meta_Control_m
+ shift control alt ctrll keycode 50 = Meta_Control_m
+ ctrll ctrlr keycode 50 = +216
+ shift ctrll ctrlr keycode 50 = +248
+ control ctrll ctrlr keycode 50 = Control_m
+ shift control ctrll ctrlr keycode 50 = Control_m
+ alt ctrll ctrlr keycode 50 = Meta_m
+ shift alt ctrll ctrlr keycode 50 = Meta_M
+ control alt ctrll ctrlr keycode 50 = Meta_Control_m
+ shift control alt ctrll ctrlr keycode 50 = Meta_Control_m
+keycode 51 = comma less
+ alt keycode 51 = Meta_comma
+ shift alt keycode 51 = Meta_less
+ ctrlr keycode 51 = +194
+ shift ctrlr keycode 51 = +226
+ alt ctrlr keycode 51 = Meta_comma
+ shift alt ctrlr keycode 51 = Meta_less
+ ctrll keycode 51 = +194
+ shift ctrll keycode 51 = +226
+ alt ctrll keycode 51 = Meta_comma
+ shift alt ctrll keycode 51 = Meta_less
+ ctrll ctrlr keycode 51 = +194
+ shift ctrll ctrlr keycode 51 = +226
+ alt ctrll ctrlr keycode 51 = Meta_comma
+ shift alt ctrll ctrlr keycode 51 = Meta_less
+keycode 52 = period greater
+ control keycode 52 = Compose
+ alt keycode 52 = Meta_period
+ shift alt keycode 52 = Meta_greater
+ ctrlr keycode 52 = +192
+ shift ctrlr keycode 52 = +224
+ alt ctrlr keycode 52 = Meta_period
+ shift alt ctrlr keycode 52 = Meta_greater
+ ctrll keycode 52 = +192
+ shift ctrll keycode 52 = +224
+ alt ctrll keycode 52 = Meta_period
+ shift alt ctrll keycode 52 = Meta_greater
+ ctrll ctrlr keycode 52 = +192
+ shift ctrll ctrlr keycode 52 = +224
+ alt ctrll ctrlr keycode 52 = Meta_period
+ shift alt ctrll ctrlr keycode 52 = Meta_greater
+keycode 53 = slash question
+ control keycode 53 = Delete
+ shift control keycode 53 = Delete
+ alt keycode 53 = Meta_slash
+ ctrlr keycode 53 = +163
+ shift ctrlr keycode 53 = +179
+ alt ctrlr keycode 53 = Meta_slash
+ shift alt ctrlr keycode 53 = Meta_question
+ ctrll keycode 53 = +173
+ shift ctrll keycode 53 = +189
+ alt ctrll keycode 53 = Meta_slash
+ shift alt ctrll keycode 53 = Meta_question
+ ctrll ctrlr keycode 53 = +173
+ shift ctrll ctrlr keycode 53 = +189
+ alt ctrll ctrlr keycode 53 = Meta_slash
+ shift alt ctrll ctrlr keycode 53 = Meta_question
+keycode 54 = Shift
+keycode 55 = KP_Multiply
+keycode 56 = Alt
+keycode 57 = space space
+ control keycode 57 = nul
+ alt keycode 57 = Meta_space
+ ctrlr keycode 57 = space
+ shift ctrlr keycode 57 = space
+ control ctrlr keycode 57 = nul
+ shift control ctrlr keycode 57 = nul
+ alt ctrlr keycode 57 = Meta_space
+ shift alt ctrlr keycode 57 = Meta_space
+ ctrll keycode 57 = space
+ shift ctrll keycode 57 = space
+ control ctrll keycode 57 = nul
+ shift control ctrll keycode 57 = nul
+ alt ctrll keycode 57 = Meta_space
+ shift alt ctrll keycode 57 = Meta_space
+ ctrll ctrlr keycode 57 = space
+ shift ctrll ctrlr keycode 57 = space
+ control ctrll ctrlr keycode 57 = nul
+ shift control ctrll ctrlr keycode 57 = nul
+ alt ctrll ctrlr keycode 57 = Meta_space
+ shift alt ctrll ctrlr keycode 57 = Meta_space
+keycode 58 = Caps_Lock
+keycode 59 = F1 F13 Console_13
+ control keycode 59 = F25
+ shift control keycode 59 = F37
+ alt keycode 59 = Console_1
+ control alt keycode 59 = Console_1
+ ctrlr keycode 59 = F1
+ ctrlr shift keycode 59 = F13
+ ctrlr altgr keycode 59 = Console_13
+ ctrlr control keycode 59 = F25
+ ctrlr shift control keycode 59 = F37
+ ctrlr alt keycode 59 = Console_1
+ ctrlr control alt keycode 59 = Console_1
+ ctrll keycode 59 = F1
+ ctrll shift keycode 59 = F13
+ ctrll altgr keycode 59 = Console_13
+ ctrll control keycode 59 = F25
+ ctrll shift control keycode 59 = F37
+ ctrll alt keycode 59 = Console_1
+ ctrll control alt keycode 59 = Console_1
+ ctrlr ctrll keycode 59 = F1
+ ctrlr ctrll shift keycode 59 = F13
+ ctrlr ctrll altgr keycode 59 = Console_13
+ ctrlr ctrll control keycode 59 = F25
+ ctrlr ctrll shift control keycode 59 = F37
+ ctrlr ctrll alt keycode 59 = Console_1
+ ctrlr ctrll control alt keycode 59 = Console_1
+keycode 60 = F2 F14 Console_14
+ control keycode 60 = F26
+ shift control keycode 60 = F38
+ alt keycode 60 = Console_2
+ control alt keycode 60 = Console_2
+ ctrlr keycode 60 = F2
+ ctrlr shift keycode 60 = F14
+ ctrlr altgr keycode 60 = Console_14
+ ctrlr control keycode 60 = F26
+ ctrlr shift control keycode 60 = F38
+ ctrlr alt keycode 60 = Console_2
+ ctrlr control alt keycode 60 = Console_2
+ ctrll keycode 60 = F2
+ ctrll shift keycode 60 = F14
+ ctrll altgr keycode 60 = Console_14
+ ctrll control keycode 60 = F26
+ ctrll shift control keycode 60 = F38
+ ctrll alt keycode 60 = Console_2
+ ctrll control alt keycode 60 = Console_2
+ ctrlr ctrll keycode 60 = F2
+ ctrlr ctrll shift keycode 60 = F14
+ ctrlr ctrll altgr keycode 60 = Console_14
+ ctrlr ctrll control keycode 60 = F26
+ ctrlr ctrll shift control keycode 60 = F38
+ ctrlr ctrll alt keycode 60 = Console_2
+ ctrlr ctrll control alt keycode 60 = Console_2
+keycode 61 = F3 F15 Console_15
+ control keycode 61 = F27
+ shift control keycode 61 = F39
+ alt keycode 61 = Console_3
+ control alt keycode 61 = Console_3
+ ctrlr keycode 61 = F3
+ ctrlr shift keycode 61 = F15
+ ctrlr altgr keycode 61 = Console_15
+ ctrlr control keycode 61 = F27
+ ctrlr shift control keycode 61 = F39
+ ctrlr alt keycode 61 = Console_3
+ ctrlr control alt keycode 61 = Console_3
+ ctrll keycode 61 = F3
+ ctrll shift keycode 61 = F15
+ ctrll altgr keycode 61 = Console_15
+ ctrll control keycode 61 = F27
+ ctrll shift control keycode 61 = F39
+ ctrll alt keycode 61 = Console_3
+ ctrll control alt keycode 61 = Console_3
+ ctrlr ctrll keycode 61 = F3
+ ctrlr ctrll shift keycode 61 = F15
+ ctrlr ctrll altgr keycode 61 = Console_15
+ ctrlr ctrll control keycode 61 = F27
+ ctrlr ctrll shift control keycode 61 = F39
+ ctrlr ctrll alt keycode 61 = Console_3
+ ctrlr ctrll control alt keycode 61 = Console_3
+keycode 62 = F4 F16 Console_16
+ control keycode 62 = F28
+ shift control keycode 62 = F40
+ alt keycode 62 = Console_4
+ control alt keycode 62 = Console_4
+ ctrlr keycode 62 = F4
+ ctrlr shift keycode 62 = F16
+ ctrlr altgr keycode 62 = Console_16
+ ctrlr control keycode 62 = F28
+ ctrlr shift control keycode 62 = F40
+ ctrlr alt keycode 62 = Console_4
+ ctrlr control alt keycode 62 = Console_4
+ ctrll keycode 62 = F4
+ ctrll shift keycode 62 = F16
+ ctrll altgr keycode 62 = Console_16
+ ctrll control keycode 62 = F28
+ ctrll shift control keycode 62 = F40
+ ctrll alt keycode 62 = Console_4
+ ctrll control alt keycode 62 = Console_4
+ ctrlr ctrll keycode 62 = F4
+ ctrlr ctrll shift keycode 62 = F16
+ ctrlr ctrll altgr keycode 62 = Console_16
+ ctrlr ctrll control keycode 62 = F28
+ ctrlr ctrll shift control keycode 62 = F40
+ ctrlr ctrll alt keycode 62 = Console_4
+ ctrlr ctrll control alt keycode 62 = Console_4
+keycode 63 = F5 F17 Console_17
+ control keycode 63 = F29
+ shift control keycode 63 = F41
+ alt keycode 63 = Console_5
+ control alt keycode 63 = Console_5
+ ctrlr keycode 63 = F5
+ ctrlr shift keycode 63 = F17
+ ctrlr altgr keycode 63 = Console_17
+ ctrlr control keycode 63 = F29
+ ctrlr shift control keycode 63 = F41
+ ctrlr alt keycode 63 = Console_5
+ ctrlr control alt keycode 63 = Console_5
+ ctrll keycode 63 = F5
+ ctrll shift keycode 63 = F17
+ ctrll altgr keycode 63 = Console_17
+ ctrll control keycode 63 = F29
+ ctrll shift control keycode 63 = F41
+ ctrll alt keycode 63 = Console_5
+ ctrll control alt keycode 63 = Console_5
+ ctrlr ctrll keycode 63 = F5
+ ctrlr ctrll shift keycode 63 = F17
+ ctrlr ctrll altgr keycode 63 = Console_17
+ ctrlr ctrll control keycode 63 = F29
+ ctrlr ctrll shift control keycode 63 = F41
+ ctrlr ctrll alt keycode 63 = Console_5
+ ctrlr ctrll control alt keycode 63 = Console_5
+keycode 64 = F6 F18 Console_18
+ control keycode 64 = F30
+ shift control keycode 64 = F42
+ alt keycode 64 = Console_6
+ control alt keycode 64 = Console_6
+ ctrlr keycode 64 = F6
+ ctrlr shift keycode 64 = F18
+ ctrlr altgr keycode 64 = Console_18
+ ctrlr control keycode 64 = F30
+ ctrlr shift control keycode 64 = F42
+ ctrlr alt keycode 64 = Console_6
+ ctrlr control alt keycode 64 = Console_6
+ ctrll keycode 64 = F6
+ ctrll shift keycode 64 = F18
+ ctrll altgr keycode 64 = Console_18
+ ctrll control keycode 64 = F30
+ ctrll shift control keycode 64 = F42
+ ctrll alt keycode 64 = Console_6
+ ctrll control alt keycode 64 = Console_6
+ ctrlr ctrll keycode 64 = F6
+ ctrlr ctrll shift keycode 64 = F18
+ ctrlr ctrll altgr keycode 64 = Console_18
+ ctrlr ctrll control keycode 64 = F30
+ ctrlr ctrll shift control keycode 64 = F42
+ ctrlr ctrll alt keycode 64 = Console_6
+ ctrlr ctrll control alt keycode 64 = Console_6
+keycode 65 = F7 F19 Console_19
+ control keycode 65 = F31
+ shift control keycode 65 = F43
+ alt keycode 65 = Console_7
+ control alt keycode 65 = Console_7
+ ctrlr keycode 65 = F7
+ ctrlr shift keycode 65 = F19
+ ctrlr altgr keycode 65 = Console_19
+ ctrlr control keycode 65 = F31
+ ctrlr shift control keycode 65 = F43
+ ctrlr alt keycode 65 = Console_7
+ ctrlr control alt keycode 65 = Console_7
+ ctrll keycode 65 = F7
+ ctrll shift keycode 65 = F19
+ ctrll altgr keycode 65 = Console_19
+ ctrll control keycode 65 = F31
+ ctrll shift control keycode 65 = F43
+ ctrll alt keycode 65 = Console_7
+ ctrll control alt keycode 65 = Console_7
+ ctrlr ctrll keycode 65 = F7
+ ctrlr ctrll shift keycode 65 = F19
+ ctrlr ctrll altgr keycode 65 = Console_19
+ ctrlr ctrll control keycode 65 = F31
+ ctrlr ctrll shift control keycode 65 = F43
+ ctrlr ctrll alt keycode 65 = Console_7
+ ctrlr ctrll control alt keycode 65 = Console_7
+keycode 66 = F8 F20 Console_20
+ control keycode 66 = F32
+ shift control keycode 66 = F44
+ alt keycode 66 = Console_8
+ control alt keycode 66 = Console_8
+ ctrlr keycode 66 = F8
+ ctrlr shift keycode 66 = F20
+ ctrlr altgr keycode 66 = Console_20
+ ctrlr control keycode 66 = F32
+ ctrlr shift control keycode 66 = F44
+ ctrlr alt keycode 66 = Console_8
+ ctrlr control alt keycode 66 = Console_8
+ ctrll keycode 66 = F8
+ ctrll shift keycode 66 = F20
+ ctrll altgr keycode 66 = Console_20
+ ctrll control keycode 66 = F32
+ ctrll shift control keycode 66 = F44
+ ctrll alt keycode 66 = Console_8
+ ctrll control alt keycode 66 = Console_8
+ ctrlr ctrll keycode 66 = F8
+ ctrlr ctrll shift keycode 66 = F20
+ ctrlr ctrll altgr keycode 66 = Console_20
+ ctrlr ctrll control keycode 66 = F32
+ ctrlr ctrll shift control keycode 66 = F44
+ ctrlr ctrll alt keycode 66 = Console_8
+ ctrlr ctrll control alt keycode 66 = Console_8
+keycode 67 = F9 F21 Console_21
+ control keycode 67 = F33
+ shift control keycode 67 = F45
+ alt keycode 67 = Console_9
+ control alt keycode 67 = Console_9
+ ctrlr keycode 67 = F9
+ ctrlr shift keycode 67 = F21
+ ctrlr altgr keycode 67 = Console_21
+ ctrlr control keycode 67 = F33
+ ctrlr shift control keycode 67 = F45
+ ctrlr alt keycode 67 = Console_9
+ ctrlr control alt keycode 67 = Console_9
+ ctrll keycode 67 = F9
+ ctrll shift keycode 67 = F21
+ ctrll altgr keycode 67 = Console_21
+ ctrll control keycode 67 = F33
+ ctrll shift control keycode 67 = F45
+ ctrll alt keycode 67 = Console_9
+ ctrll control alt keycode 67 = Console_9
+ ctrlr ctrll keycode 67 = F9
+ ctrlr ctrll shift keycode 67 = F21
+ ctrlr ctrll altgr keycode 67 = Console_21
+ ctrlr ctrll control keycode 67 = F33
+ ctrlr ctrll shift control keycode 67 = F45
+ ctrlr ctrll alt keycode 67 = Console_9
+ ctrlr ctrll control alt keycode 67 = Console_9
+keycode 68 = F10 F22 Console_22
+ control keycode 68 = F34
+ shift control keycode 68 = F46
+ alt keycode 68 = Console_10
+ control alt keycode 68 = Console_10
+ ctrlr keycode 68 = F10
+ ctrlr shift keycode 68 = F22
+ ctrlr altgr keycode 68 = Console_22
+ ctrlr control keycode 68 = F34
+ ctrlr shift control keycode 68 = F46
+ ctrlr alt keycode 68 = Console_10
+ ctrlr control alt keycode 68 = Console_10
+ ctrll keycode 68 = F10
+ ctrll shift keycode 68 = F22
+ ctrll altgr keycode 68 = Console_22
+ ctrll control keycode 68 = F34
+ ctrll shift control keycode 68 = F46
+ ctrll alt keycode 68 = Console_10
+ ctrll control alt keycode 68 = Console_10
+ ctrlr ctrll keycode 68 = F10
+ ctrlr ctrll shift keycode 68 = F22
+ ctrlr ctrll altgr keycode 68 = Console_22
+ ctrlr ctrll control keycode 68 = F34
+ ctrlr ctrll shift control keycode 68 = F46
+ ctrlr ctrll alt keycode 68 = Console_10
+ ctrlr ctrll control alt keycode 68 = Console_10
+keycode 69 = Num_Lock
+keycode 70 = Scroll_Lock Show_Memory Show_Registers
+ control keycode 70 = Show_State
+ alt keycode 70 = Scroll_Lock
+keycode 71 = KP_7
+ alt keycode 71 = Ascii_7
+keycode 72 = KP_8
+ alt keycode 72 = Ascii_8
+keycode 73 = KP_9
+ alt keycode 73 = Ascii_9
+keycode 74 = KP_Subtract
+keycode 75 = KP_4
+ alt keycode 75 = Ascii_4
+keycode 76 = KP_5
+ alt keycode 76 = Ascii_5
+keycode 77 = KP_6
+ alt keycode 77 = Ascii_6
+keycode 78 = KP_Add
+keycode 79 = KP_1
+ alt keycode 79 = Ascii_1
+keycode 80 = KP_2
+ alt keycode 80 = Ascii_2
+keycode 81 = KP_3
+ alt keycode 81 = Ascii_3
+keycode 82 = KP_0
+ alt keycode 82 = Ascii_0
+keycode 83 = KP_Period
+ altgr control keycode 83 = Boot
+ control alt keycode 83 = Boot
+keycode 84 = Last_Console
+keycode 85 =
+keycode 86 = less greater bar
+ alt keycode 86 = Meta_less
+keycode 87 = F11 F23 Console_23
+ control keycode 87 = F35
+ shift control keycode 87 = F47
+ alt keycode 87 = Console_11
+ control alt keycode 87 = Console_11
+ ctrlr keycode 87 = F11
+ ctrlr shift keycode 87 = F23
+ ctrlr altgr keycode 87 = Console_23
+ ctrlr control keycode 87 = F35
+ ctrlr shift control keycode 87 = F47
+ ctrlr alt keycode 87 = Console_11
+ ctrlr control alt keycode 87 = Console_11
+ ctrll keycode 87 = F11
+ ctrll shift keycode 87 = F23
+ ctrll altgr keycode 87 = Console_23
+ ctrll control keycode 87 = F35
+ ctrll shift control keycode 87 = F47
+ ctrll alt keycode 87 = Console_11
+ ctrll control alt keycode 87 = Console_11
+ ctrlr ctrll keycode 87 = F11
+ ctrlr ctrll shift keycode 87 = F23
+ ctrlr ctrll altgr keycode 87 = Console_23
+ ctrlr ctrll control keycode 87 = F35
+ ctrlr ctrll shift control keycode 87 = F47
+ ctrlr ctrll alt keycode 87 = Console_11
+ ctrlr ctrll control alt keycode 87 = Console_11
+keycode 88 = F12 F24 Console_24
+ control keycode 88 = F36
+ shift control keycode 88 = F48
+ alt keycode 88 = Console_12
+ control alt keycode 88 = Console_12
+ ctrlr keycode 88 = F12
+ ctrlr shift keycode 88 = F24
+ ctrlr altgr keycode 88 = Console_24
+ ctrlr control keycode 88 = F36
+ ctrlr shift control keycode 88 = F48
+ ctrlr alt keycode 88 = Console_12
+ ctrlr control alt keycode 88 = Console_12
+ ctrll keycode 88 = F12
+ ctrll shift keycode 88 = F24
+ ctrll altgr keycode 88 = Console_24
+ ctrll control keycode 88 = F36
+ ctrll shift control keycode 88 = F48
+ ctrll alt keycode 88 = Console_12
+ ctrll control alt keycode 88 = Console_12
+ ctrlr ctrll keycode 88 = F12
+ ctrlr ctrll shift keycode 88 = F24
+ ctrlr ctrll altgr keycode 88 = Console_24
+ ctrlr ctrll control keycode 88 = F36
+ ctrlr ctrll shift control keycode 88 = F48
+ ctrlr ctrll alt keycode 88 = Console_12
+ ctrlr ctrll control alt keycode 88 = Console_12
+keycode 89 =
+keycode 90 =
+keycode 91 =
+keycode 92 =
+keycode 93 =
+keycode 94 =
+keycode 95 =
+#keycode 96 = KP_Enter
+keycode 96 = AltGr
+keycode 97 = Control
+keycode 98 = KP_Divide
+keycode 99 = VoidSymbol
+ control keycode 99 = Control_backslash
+ alt keycode 99 = Control_backslash
+keycode 100 = Alt
+keycode 101 = Break
+keycode 102 = Find
+keycode 103 = Up
+keycode 104 = Prior
+ shift keycode 104 = Scroll_Backward
+keycode 105 = Left
+ alt keycode 105 = Decr_Console
+keycode 106 = Right
+ alt keycode 106 = Incr_Console
+keycode 107 = Select
+keycode 108 = Down
+keycode 109 = Next
+ shift keycode 109 = Scroll_Forward
+keycode 110 = Insert
+keycode 111 = Remove
+ altgr control keycode 111 = Boot
+ control alt keycode 111 = Boot
+keycode 112 = Macro
+keycode 113 = F13
+keycode 114 = F14
+keycode 115 = Help
+keycode 116 = Do
+keycode 117 = F17
+keycode 118 = KP_MinPlus
+keycode 119 = Pause
+keycode 120 =
+keycode 121 =
+keycode 122 =
+keycode 123 =
+keycode 124 =
+#keycode 125 = AltGr
+keycode 125 =
+keycode 126 = CtrlR_Lock
+keycode 127 = CtrlL_Lock
diff --git a/tests/include40.map b/tests/include40.map
new file mode 100644
index 0000000..ba92b57
--- /dev/null
+++ b/tests/include40.map
@@ -0,0 +1,3 @@
+keycode 17 = w
+
+include "include41.map"
diff --git a/tests/include41.map b/tests/include41.map
new file mode 100644
index 0000000..979bb6f
--- /dev/null
+++ b/tests/include41.map
@@ -0,0 +1 @@
+keycode 18 = e
diff --git a/tests/keymap0.map b/tests/keymap0.map
new file mode 100644
index 0000000..397a1e8
--- /dev/null
+++ b/tests/keymap0.map
@@ -0,0 +1,6 @@
+keycode 16 = q
+keycode 17 = w
+keycode 18 = e
+keycode 19 = r
+keycode 20 = t
+keycode 21 = y
diff --git a/tests/keymap1.map b/tests/keymap1.map
new file mode 100644
index 0000000..2642c87
--- /dev/null
+++ b/tests/keymap1.map
@@ -0,0 +1 @@
+keycode 16 = q Q
diff --git a/tests/keymap2.map b/tests/keymap2.map
new file mode 100644
index 0000000..aa39f5f
--- /dev/null
+++ b/tests/keymap2.map
@@ -0,0 +1,256 @@
+plain keycode 17 = x
+ shift Keycode 17 = x
+ AltGr Keycode 17 = x
+ shift AltGr Keycode 17 = x
+ control Keycode 17 = x
+ shift control Keycode 17 = x
+ AltGr control Keycode 17 = x
+ shift AltGr control Keycode 17 = x
+ Alt Keycode 17 = x
+ shift Alt Keycode 17 = x
+ AltGr Alt Keycode 17 = x
+ shift AltGr Alt Keycode 17 = x
+ control Alt Keycode 17 = x
+ shift control Alt Keycode 17 = x
+ AltGr control Alt Keycode 17 = x
+ shift AltGr control Alt Keycode 17 = x
+ shiftl Keycode 17 = x
+ shift shiftl Keycode 17 = x
+ AltGr shiftl Keycode 17 = x
+ shift AltGr shiftl Keycode 17 = x
+ control shiftl Keycode 17 = x
+ shift control shiftl KeyCode 17 = x
+ AltGr control shiftl KeyCode 17 = x
+ shift AltGr control shiftl KeyCode 17 = x
+ Alt shiftl KeyCode 17 = x
+ shift Alt shiftl KeyCode 17 = x
+ AltGr Alt shiftl KeyCode 17 = x
+ shift AltGr Alt shiftl KeyCode 17 = x
+ control Alt shiftl KeyCode 17 = x
+ shift control Alt shiftl KeyCode 17 = x
+ AltGr control Alt shiftl KeyCode 17 = x
+ shift AltGr control Alt shiftl KeyCode 17 = x
+ shiftr KeyCode 17 = x
+ shift shiftr KEYCODE 17 = x
+ AltGr shiftr KEYCODE 17 = x
+ shift AltGr shiftr KEYCODE 17 = x
+ control shiftr KEYCODE 17 = x
+ shift control shiftr KEYCODE 17 = x
+ AltGr control shiftr KEYCODE 17 = x
+ shift AltGr control shiftr KEYCODE 17 = x
+ Alt shiftr KEYCODE 17 = x
+ shift Alt shiftr KEYCODE 17 = x
+ AltGr Alt shiftr KEYCODE 17 = x
+ shift AltGr Alt shiftr KEYCODE 17 = x
+ control Alt shiftr KEYCODE 17 = x
+ shift control Alt shiftr KEYCODE 17 = x
+ AltGr control Alt shiftr KEYCODE 17 = x
+ shift AltGr control Alt shiftr KEYCODE 17 = x
+ SHIFTL ShiftR KEYCODE 17 = x
+ Shift SHIFTL ShiftR KEYCODE 17 = x
+ AltGr SHIFTL ShiftR KEYCODE 17 = x
+ Shift AltGr SHIFTL ShiftR KEYCODE 17 = x
+ control SHIFTL ShiftR KEYCODE 17 = x
+ Shift control SHIFTL ShiftR KEYCODE 17 = x
+ AltGr control SHIFTL ShiftR KEYCODE 17 = x
+ Shift AltGr control SHIFTL ShiftR KEYCODE 17 = x
+ Alt SHIFTL ShiftR KEYCODE 17 = x
+ Shift Alt SHIFTL ShiftR KEYCODE 17 = x
+ AltGr Alt ShiftL ShiftR KEYCODE 17 = x
+ Shift AltGr Alt ShiftL ShiftR KEYCODE 17 = x
+ control Alt ShiftL SHIFTR KEYCODE 17 = x
+ Shift Control Alt ShiftL SHIFTR KEYCODE 17 = x
+ AltGr CONTROL Alt ShiftL SHIFTR KEYCODE 17 = x
+ Shift AltGr control Alt ShiftL SHIFTR KEYCODE 17 = x
+ ctrll KEYCODE 17 = x
+ shift ctrll KEYCODE 17 = x
+ AltGr ctrll KEYCODE 17 = x
+ shift AltGr ctrll KEYCODE 17 = x
+ Control ctrll KEYCODE 17 = x
+ shift Control ctrll KEYCODE 17 = x
+ AltGr Control ctrll KEYCODE 17 = x
+ shift AltGr Control ctrll KEYCODE 17 = x
+ Alt ctrll keycode 17 = x
+ shift Alt ctrll keycode 17 = x
+ AltGr Alt ctrll keycode 17 = x
+ shift AltGr Alt ctrll keycode 17 = x
+ Control Alt ctrll keycode 17 = x
+ shift Control Alt ctrll keycode 17 = x
+ AltGr Control Alt ctrll keycode 17 = x
+ shift AltGr Control Alt ctrll keycode 17 = x
+ shiftl ctrll keycode 17 = x
+ shift shiftl ctrll keycode 17 = x
+ AltGr shiftl ctrll keycode 17 = x
+ shift AltGr shiftl ctrll keycode 17 = x
+ Control shiftl ctrll keycode 17 = x
+ shift Control shiftl ctrll keycode 17 = x
+ AltGr Control shiftl ctrll keycode 17 = x
+ shift AltGr Control shiftl ctrll keycode 17 = x
+ Alt shiftl ctrll keycode 17 = x
+ shift Alt shiftl ctrll keycode 17 = x
+ AltGr Alt shiftl ctrll keycode 17 = x
+ shift AltGr Alt shiftl ctrll keycode 17 = x
+ Control Alt shiftl ctrll keycode 17 = x
+ shift Control Alt shiftl ctrll keycode 17 = x
+ AltGr Control Alt shiftl ctrll keycode 17 = x
+ shift AltGr Control Alt shiftl ctrll keycode 17 = x
+ shiftr ctrll keycode 17 = x
+ shift shiftr ctrll keycode 17 = x
+ AltGr shiftr ctrll keycode 17 = x
+ shift AltGr shiftr ctrll keycode 17 = x
+ Control shiftr ctrll keycode 17 = x
+ shift Control shiftr ctrll keycode 17 = x
+ AltGr Control shiftr ctrll keycode 17 = x
+ shift AltGr Control shiftr ctrll keycode 17 = x
+ Alt shiftr ctrll keycode 17 = x
+ shift Alt shiftr ctrll keycode 17 = x
+ AltGr Alt shiftr ctrll keycode 17 = x
+ shift AltGr Alt shiftr ctrll keycode 17 = x
+ Control Alt shiftr ctrll keycode 17 = x
+ shift Control Alt shiftr ctrll keycode 17 = x
+ AltGr Control Alt shiftr ctrll keycode 17 = x
+ shift AltGr Control Alt shiftr ctrll keycode 17 = x
+ shiftl shiftr ctrll keycode 17 = x
+ shift shiftl shiftr ctrll keycode 17 = x
+ AltGr shiftl shiftr ctrll keycode 17 = x
+ shift AltGr shiftl shiftr ctrll keycode 17 = x
+ Control shiftl shiftr ctrll keycode 17 = x
+ shift Control shiftl shiftr ctrll keycode 17 = x
+ AltGr Control shiftl shiftr ctrll keycode 17 = x
+ shift AltGr Control shiftl shiftr ctrll keycode 17 = x
+ Alt shiftl shiftr ctrll keycode 17 = x
+ shift Alt shiftl shiftr ctrll keycode 17 = x
+ AltGr Alt shiftl shiftr ctrll keycode 17 = x
+ shift AltGr Alt shiftl shiftr ctrll keycode 17 = x
+ Control Alt shiftl shiftr ctrll keycode 17 = x
+ shift Control Alt shiftl shiftr ctrll keycode 17 = x
+ AltGr Control Alt shiftl shiftr ctrll keycode 17 = x
+ shift AltGr Control Alt shiftl shiftr ctrll keycode 17 = x
+ ctrlr keycode 17 = x
+ shift ctrlr keycode 17 = x
+ AltGr ctrlr keycode 17 = x
+ shift AltGr ctrlr keycode 17 = x
+ Control ctrlr keycode 17 = x
+ shift Control ctrlr keycode 17 = x
+ AltGr Control ctrlr keycode 17 = x
+ shift AltGr Control ctrlr keycode 17 = x
+ Alt ctrlr keycode 17 = x
+ shift Alt ctrlr keycode 17 = x
+ AltGr Alt ctrlr keycode 17 = x
+ shift AltGr Alt ctrlr keycode 17 = x
+ Control Alt ctrlr keycode 17 = x
+ shift Control Alt ctrlr keycode 17 = x
+ AltGr Control Alt ctrlr keycode 17 = x
+ shift AltGr Control Alt ctrlr keycode 17 = x
+ shiftl ctrlr keycode 17 = x
+ shift shiftl ctrlr keycode 17 = x
+ AltGr shiftl ctrlr keycode 17 = x
+ shift AltGr shiftl ctrlr keycode 17 = x
+ Control shiftl ctrlr keycode 17 = x
+ shift Control shiftl ctrlr keycode 17 = x
+ AltGr control shiftl ctrlr keycode 17 = x
+ shift AltGr control shiftl CtrlR keycode 17 = x
+ Alt shiftl CtrlR keycode 17 = x
+ shift Alt shiftl CtrlR keycode 17 = x
+ AltGr Alt shiftl CtrlR keycode 17 = x
+ shift AltGr Alt shiftl CtrlR keycode 17 = x
+ control Alt shiftl CtrlR keycode 17 = x
+ shift control Alt shiftl CTRLR keycode 17 = x
+ AltGr control Alt shiftl CTRLR keycode 17 = x
+ shift AltGr control Alt shiftl CTRLR keycode 17 = x
+ shiftr CTRLR keycode 17 = x
+ shift shiftr CTRLR keycode 17 = x
+ AltGr shiftr CTRLR keycode 17 = x
+ shift AltGr shiftr CTRLR keycode 17 = x
+ control shiftr CTRLR keycode 17 = x
+ shift control shiftr CTRLR keycode 17 = x
+ AltGr control shiftr CTRLR keycode 17 = x
+ shift AltGr control shiftr CTRLR keycode 17 = x
+ Alt shiftr CTRLR keycode 17 = x
+ shift Alt shiftr CTRLR keycode 17 = x
+ AltGr Alt shiftr CTRLR keycode 17 = x
+ shift AltGr Alt shiftr CTRLR keycode 17 = x
+ control Alt shiftr CTRLR keycode 17 = x
+ shift control Alt shiftr CTRLR keycode 17 = x
+ AltGr control Alt shiftr CTRLR keycode 17 = x
+ shift AltGr control Alt shiftr CTRLR keycode 17 = x
+ shiftl shiftr CTRLR keycode 17 = x
+ shift shiftl shiftr CTRLR keycode 17 = x
+ AltGr shiftl shiftr CTRLR keycode 17 = x
+ shift AltGr shiftl shiftr CTRLR keycode 17 = x
+ control shiftl shiftr CTRLR keycode 17 = x
+ shift control shiftl shiftr CTRLR keycode 17 = x
+ AltGr control shiftl shiftr CTRLR keycode 17 = x
+ shift AltGr control shiftl shiftr CTRLR keycode 17 = x
+ Alt shiftl shiftr CTRLR keycode 17 = x
+ shift Alt shiftl shiftr CTRLR keycode 17 = x
+ AltGr Alt shiftl shiftr CTRLR keycode 17 = x
+ shift AltGr Alt shiftl shiftr CTRLR keycode 17 = x
+ control Alt shiftl shiftr CTRLR keycode 17 = x
+ shift control Alt shiftl shiftr CTRLR keycode 17 = x
+ AltGr control Alt shiftl shiftr CTRLR keycode 17 = x
+ shift AltGr control Alt shiftl shiftr CTRLR keycode 17 = x
+ CTRLL CTRLR keycode 17 = x
+ shift CTRLL CTRLR keycode 17 = x
+ AltGr CTRLL CTRLR keycode 17 = x
+ shift AltGr CTRLL CTRLR keycode 17 = x
+ control ctrll ctrlr keycode 17 = x
+ shift control ctrll ctrlr keycode 17 = x
+ AltGr control ctrll ctrlr keycode 17 = x
+ shift AltGr control ctrll ctrlr keycode 17 = x
+ Alt ctrll ctrlr keycode 17 = x
+ shift Alt ctrll ctrlr keycode 17 = x
+ AltGr Alt ctrll ctrlr keycode 17 = x
+ shift AltGr Alt ctrll ctrlr keycode 17 = x
+ control Alt ctrll ctrlr keycode 17 = x
+ shift control Alt ctrll ctrlr keycode 17 = x
+ AltGr control Alt ctrll ctrlr keycode 17 = x
+ shift AltGr control Alt ctrll ctrlr keycode 17 = x
+ shiftl ctrll ctrlr keycode 17 = x
+ shift shiftl ctrll ctrlr keycode 17 = x
+ AltGr shiftl ctrll ctrlr keycode 17 = x
+ shift AltGr shiftl ctrll ctrlr keycode 17 = x
+ control shiftl ctrll ctrlr keycode 17 = x
+ shift control shiftl ctrll ctrlr keycode 17 = x
+ AltGr control shiftl ctrll ctrlr keycode 17 = x
+ shift AltGr control shiftl ctrll ctrlr keycode 17 = x
+ Alt shiftl ctrll ctrlr keycode 17 = x
+ shift Alt shiftl ctrll ctrlr keycode 17 = x
+ AltGr Alt shiftl ctrll ctrlr keycode 17 = x
+ shift AltGr Alt shiftl ctrll ctrlr keycode 17 = x
+ control Alt shiftl ctrll ctrlr keycode 17 = x
+ shift control Alt shiftl ctrll ctrlr keycode 17 = x
+ AltGr control Alt shiftl ctrll ctrlr keycode 17 = x
+ shift AltGr control Alt shiftl ctrll ctrlr keycode 17 = x
+ shiftr ctrll ctrlr keycode 17 = x
+ shift shiftr ctrll ctrlr keycode 17 = x
+ AltGr shiftr ctrll ctrlr keycode 17 = x
+ shift AltGr shiftr ctrll ctrlr keycode 17 = x
+ control shiftr ctrll ctrlr keycode 17 = x
+ shift control shiftr ctrll ctrlr keycode 17 = x
+ AltGr control shiftr ctrll ctrlr keycode 17 = x
+ shift AltGr control shiftr ctrll ctrlr keycode 17 = x
+ Alt shiftr ctrll ctrlr keycode 17 = x
+ shift Alt shiftr ctrll ctrlr keycode 17 = x
+ AltGr Alt shiftr ctrll ctrlr keycode 17 = x
+ shift AltGr Alt shiftr ctrll ctrlr keycode 17 = x
+ control Alt shiftr ctrll ctrlr keycode 17 = x
+ shift control Alt shiftr ctrll ctrlr keycode 17 = x
+ AltGr control Alt shiftr ctrll ctrlr keycode 17 = x
+ shift AltGr control Alt shiftr ctrll ctrlr keycode 17 = x
+ shiftl shiftr ctrll ctrlr keycode 17 = x
+ shift shiftl shiftr ctrll ctrlr keycode 17 = x
+ AltGr shiftl shiftr ctrll ctrlr keycode 17 = x
+ shift AltGr shiftl shiftr ctrll ctrlr keycode 17 = x
+ control shiftl shiftr ctrll ctrlr keycode 17 = x
+ shift control shiftl shiftr ctrll ctrlr keycode 17 = x
+ AltGr control shiftl shiftr ctrll ctrlr keycode 17 = x
+ shift AltGr control shiftl shiftr ctrll ctrlr keycode 17 = x
+ Alt shiftl shiftr ctrll ctrlr keycode 17 = x
+ shift Alt shiftl shiftr ctrll ctrlr keycode 17 = x
+ AltGr Alt shiftl shiftr ctrll ctrlr keycode 17 = x
+ shift AltGr Alt shiftl shiftr ctrll ctrlr keycode 17 = x
+ control Alt shiftl shiftr ctrll ctrlr keycode 17 = x
+ shift control Alt shiftl shiftr ctrll ctrlr keycode 17 = x
+ AltGr control Alt shiftl shiftr ctrll ctrlr keycode 17 = x
+ shift AltGr control Alt shiftl shiftr ctrll ctrlr keycode 17 = x
diff --git a/tests/keymap3.map b/tests/keymap3.map
new file mode 100644
index 0000000..63f0e5d
--- /dev/null
+++ b/tests/keymap3.map
@@ -0,0 +1,26 @@
+plain keycode 17 = q
+ shift Keycode 17 = w
+ AltGr Keycode 17 = e
+ shift AltGr Keycode 17 = r
+ control Keycode 17 = t
+ shift control Keycode 17 = y
+ AltGr control Keycode 17 = u
+ shift AltGr control Keycode 17 = i
+ Alt Keycode 17 = o
+ shift Alt Keycode 17 = p
+ AltGr Alt Keycode 17 = a
+ shift AltGr Alt Keycode 17 = s
+ control Alt Keycode 17 = d
+ shift control Alt Keycode 17 = f
+ AltGr control Alt Keycode 17 = g
+ shift AltGr control Alt Keycode 17 = h
+ shiftl Keycode 17 = j
+ shift shiftl Keycode 17 = k
+ AltGr shiftl Keycode 17 = l
+ shift AltGr shiftl Keycode 17 = z
+ control shiftl Keycode 17 = x
+ shift control shiftl KeyCode 17 = c
+ AltGr control shiftl KeyCode 17 = v
+ shift AltGr control shiftl KeyCode 17 = b
+ Alt shiftl KeyCode 17 = n
+ shift Alt shiftl KeyCode 17 = m
diff --git a/tests/keymap4.map b/tests/keymap4.map
new file mode 100644
index 0000000..2cdc655
--- /dev/null
+++ b/tests/keymap4.map
@@ -0,0 +1,4 @@
+keycode 16 = q
+
+include "include40.map"
+
diff --git a/tests/keymap5.map b/tests/keymap5.map
new file mode 100644
index 0000000..8e427ee
--- /dev/null
+++ b/tests/keymap5.map
@@ -0,0 +1,256 @@
+string F1 = "FUNCTION1"
+string F2 = "FUNCTION2"
+string F3 = "FUNCTION3"
+string F4 = "FUNCTION4"
+string F5 = "FUNCTION5"
+string F6 = "FUNCTION6"
+string F7 = "FUNCTION7"
+string F8 = "FUNCTION8"
+string F9 = "FUNCTION9"
+string F10 = "FUNCTION10"
+string F11 = "FUNCTION11"
+string F12 = "FUNCTION12"
+string F13 = "FUNCTION13"
+string F14 = "FUNCTION14"
+string F15 = "FUNCTION15"
+string F16 = "FUNCTION16"
+string F17 = "FUNCTION17"
+string F18 = "FUNCTION18"
+string F19 = "FUNCTION19"
+string F20 = "FUNCTION20"
+string Find = "FIND"
+string Insert = "INSERT"
+string Remove = "REMOVE"
+string Select = "SELECT"
+string PageUp = "PGUP"
+string PageDown = "PGDOWN"
+string Macro = "MACRO"
+string Help = "HELP"
+string Do = "DO"
+string Pause = "PAUSE"
+string F21 = "FUNCTION21"
+string F22 = "FUNCTION22"
+string F23 = "FUNCTION23"
+string F24 = "FUNCTION24"
+string F25 = "FUNCTION25"
+string F26 = "FUNCTION26"
+string F27 = "FUNCTION27"
+string F28 = "FUNCTION28"
+string F29 = "FUNCTION29"
+string F30 = "FUNCTION30"
+string F31 = "FUNCTION31"
+string F32 = "FUNCTION32"
+string F33 = "FUNCTION33"
+string F34 = "FUNCTION34"
+string F35 = "FUNCTION35"
+string F36 = "FUNCTION36"
+string F37 = "FUNCTION37"
+string F38 = "FUNCTION38"
+string F39 = "FUNCTION39"
+string F40 = "FUNCTION40"
+string F41 = "FUNCTION41"
+string F42 = "FUNCTION42"
+string F43 = "FUNCTION43"
+string F44 = "FUNCTION44"
+string F45 = "FUNCTION45"
+string F46 = "FUNCTION46"
+string F47 = "FUNCTION47"
+string F48 = "FUNCTION48"
+string F49 = "FUNCTION49"
+string F50 = "FUNCTION50"
+string F51 = "FUNCTION51"
+string F52 = "FUNCTION52"
+string F53 = "FUNCTION53"
+string F54 = "FUNCTION54"
+string F55 = "FUNCTION55"
+string F56 = "FUNCTION56"
+string F57 = "FUNCTION57"
+string F58 = "FUNCTION58"
+string F59 = "FUNCTION59"
+string F60 = "FUNCTION60"
+string F61 = "FUNCTION61"
+string F62 = "FUNCTION62"
+string F63 = "FUNCTION63"
+string F64 = "FUNCTION64"
+string F65 = "FUNCTION65"
+string F66 = "FUNCTION66"
+string F67 = "FUNCTION67"
+string F68 = "FUNCTION68"
+string F69 = "FUNCTION69"
+string F70 = "FUNCTION70"
+string F71 = "FUNCTION71"
+string F72 = "FUNCTION72"
+string F73 = "FUNCTION73"
+string F74 = "FUNCTION74"
+string F75 = "FUNCTION75"
+string F76 = "FUNCTION76"
+string F77 = "FUNCTION77"
+string F78 = "FUNCTION78"
+string F79 = "FUNCTION79"
+string F80 = "FUNCTION80"
+string F81 = "FUNCTION81"
+string F82 = "FUNCTION82"
+string F83 = "FUNCTION83"
+string F84 = "FUNCTION84"
+string F85 = "FUNCTION85"
+string F86 = "FUNCTION86"
+string F87 = "FUNCTION87"
+string F88 = "FUNCTION88"
+string F89 = "FUNCTION89"
+string F90 = "FUNCTION90"
+string F91 = "FUNCTION91"
+string F92 = "FUNCTION92"
+string F93 = "FUNCTION93"
+string F94 = "FUNCTION94"
+string F95 = "FUNCTION95"
+string F96 = "FUNCTION96"
+string F97 = "FUNCTION97"
+string F98 = "FUNCTION98"
+string F99 = "FUNCTION99"
+string F100 = "FUNCTION100"
+string F101 = "FUNCTION101"
+string F102 = "FUNCTION102"
+string F103 = "FUNCTION103"
+string F104 = "FUNCTION104"
+string F105 = "FUNCTION105"
+string F106 = "FUNCTION106"
+string F107 = "FUNCTION107"
+string F108 = "FUNCTION108"
+string F109 = "FUNCTION109"
+string F110 = "FUNCTION110"
+string F111 = "FUNCTION111"
+string F112 = "FUNCTION112"
+string F113 = "FUNCTION113"
+string F114 = "FUNCTION114"
+string F115 = "FUNCTION115"
+string F116 = "FUNCTION116"
+string F117 = "FUNCTION117"
+string F118 = "FUNCTION118"
+string F119 = "FUNCTION119"
+string F120 = "FUNCTION120"
+string F121 = "FUNCTION121"
+string F122 = "FUNCTION122"
+string F123 = "FUNCTION123"
+string F124 = "FUNCTION124"
+string F125 = "FUNCTION125"
+string F126 = "FUNCTION126"
+string F127 = "FUNCTION127"
+string F128 = "FUNCTION128"
+string F129 = "FUNCTION129"
+string F130 = "FUNCTION130"
+string F131 = "FUNCTION131"
+string F132 = "FUNCTION132"
+string F133 = "FUNCTION133"
+string F134 = "FUNCTION134"
+string F135 = "FUNCTION135"
+string F136 = "FUNCTION136"
+string F137 = "FUNCTION137"
+string F138 = "FUNCTION138"
+string F139 = "FUNCTION139"
+string F140 = "FUNCTION140"
+string F141 = "FUNCTION141"
+string F142 = "FUNCTION142"
+string F143 = "FUNCTION143"
+string F144 = "FUNCTION144"
+string F145 = "FUNCTION145"
+string F146 = "FUNCTION146"
+string F147 = "FUNCTION147"
+string F148 = "FUNCTION148"
+string F149 = "FUNCTION149"
+string F150 = "FUNCTION150"
+string F151 = "FUNCTION151"
+string F152 = "FUNCTION152"
+string F153 = "FUNCTION153"
+string F154 = "FUNCTION154"
+string F155 = "FUNCTION155"
+string F156 = "FUNCTION156"
+string F157 = "FUNCTION157"
+string F158 = "FUNCTION158"
+string F159 = "FUNCTION159"
+string F160 = "FUNCTION160"
+string F161 = "FUNCTION161"
+string F162 = "FUNCTION162"
+string F163 = "FUNCTION163"
+string F164 = "FUNCTION164"
+string F165 = "FUNCTION165"
+string F166 = "FUNCTION166"
+string F167 = "FUNCTION167"
+string F168 = "FUNCTION168"
+string F169 = "FUNCTION169"
+string F170 = "FUNCTION170"
+string F171 = "FUNCTION171"
+string F172 = "FUNCTION172"
+string F173 = "FUNCTION173"
+string F174 = "FUNCTION174"
+string F175 = "FUNCTION175"
+string F176 = "FUNCTION176"
+string F177 = "FUNCTION177"
+string F178 = "FUNCTION178"
+string F179 = "FUNCTION179"
+string F180 = "FUNCTION180"
+string F181 = "FUNCTION181"
+string F182 = "FUNCTION182"
+string F183 = "FUNCTION183"
+string F184 = "FUNCTION184"
+string F185 = "FUNCTION185"
+string F186 = "FUNCTION186"
+string F187 = "FUNCTION187"
+string F188 = "FUNCTION188"
+string F189 = "FUNCTION189"
+string F190 = "FUNCTION190"
+string F191 = "FUNCTION191"
+string F192 = "FUNCTION192"
+string F193 = "FUNCTION193"
+string F194 = "FUNCTION194"
+string F195 = "FUNCTION195"
+string F196 = "FUNCTION196"
+string F197 = "FUNCTION197"
+string F198 = "FUNCTION198"
+string F199 = "FUNCTION199"
+string F200 = "FUNCTION200"
+string F201 = "FUNCTION201"
+string F202 = "FUNCTION202"
+string F203 = "FUNCTION203"
+string F204 = "FUNCTION204"
+string F205 = "FUNCTION205"
+string F206 = "FUNCTION206"
+string F207 = "FUNCTION207"
+string F208 = "FUNCTION208"
+string F209 = "FUNCTION209"
+string F210 = "FUNCTION210"
+string F211 = "FUNCTION211"
+string F212 = "FUNCTION212"
+string F213 = "FUNCTION213"
+string F214 = "FUNCTION214"
+string F215 = "FUNCTION215"
+string F216 = "FUNCTION216"
+string F217 = "FUNCTION217"
+string F218 = "FUNCTION218"
+string F219 = "FUNCTION219"
+string F220 = "FUNCTION220"
+string F221 = "FUNCTION221"
+string F222 = "FUNCTION222"
+string F223 = "FUNCTION223"
+string F224 = "FUNCTION224"
+string F225 = "FUNCTION225"
+string F226 = "FUNCTION226"
+string F227 = "FUNCTION227"
+string F228 = "FUNCTION228"
+string F229 = "FUNCTION229"
+string F230 = "FUNCTION230"
+string F231 = "FUNCTION231"
+string F232 = "FUNCTION232"
+string F233 = "FUNCTION233"
+string F234 = "FUNCTION234"
+string F235 = "FUNCTION235"
+string F236 = "FUNCTION236"
+string F237 = "FUNCTION237"
+string F238 = "FUNCTION238"
+string F239 = "FUNCTION239"
+string F240 = "FUNCTION240"
+string F241 = "FUNCTION241"
+string F242 = "FUNCTION242"
+string F243 = "FUNCTION243"
+string F244 = "FUNCTION244"
+string F245 = "FUNCTION245"
+string F246 = "FUNCTION246"
diff --git a/tests/keymap6.map b/tests/keymap6.map
new file mode 100644
index 0000000..59b158c
--- /dev/null
+++ b/tests/keymap6.map
@@ -0,0 +1,2 @@
+string F1 = "FUNCTION1"
+string F2 = "FUNCTION2"
diff --git a/tests/libkeymap-bkeymap.c b/tests/libkeymap-bkeymap.c
new file mode 100644
index 0000000..84aa4b6
--- /dev/null
+++ b/tests/libkeymap-bkeymap.c
@@ -0,0 +1,22 @@
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <keymap.h>
+
+int main(int argc, char **argv)
+{
+ struct lk_ctx *ctx;
+ lkfile_t f;
+
+ ctx = lk_init();
+
+ f.pipe = 0;
+ strcpy(f.pathname, argv[1]);
+ f.fd = fopen( argv[1], "r");
+
+ lk_parse_keymap(ctx, &f);
+ lk_dump_bkeymap(ctx, stdout);
+
+ lk_free(ctx);
+ return 0;
+}
diff --git a/tests/libkeymap-charset.c b/tests/libkeymap-charset.c
new file mode 100644
index 0000000..4804afb
--- /dev/null
+++ b/tests/libkeymap-charset.c
@@ -0,0 +1,79 @@
+#include <stdio.h>
+#include <stdlib.h>
+#include <check.h>
+#include <keymap.h>
+
+
+START_TEST(test0)
+{
+ char *s;
+ lkfile_t f;
+ struct lk_ctx *ctx;
+
+ ctx = lk_init();
+ lk_set_log_fn(ctx, NULL, NULL);
+
+ f.pipe = 0;
+ strcpy(f.pathname, "charset-keymap0.map");
+ f.fd = fopen(DATADIR "/charset-keymap0.map", "r");
+
+ fail_if(lk_parse_keymap(ctx, &f) != 0, "Unable to parse keymap");
+
+ s = lk_get_charset(ctx);
+
+ fail_if(strcmp(s, "iso-8859-2"), "Unable to parse charset");
+
+ lk_free(ctx);
+}
+END_TEST
+
+START_TEST(test1)
+{
+ char *s;
+ lkfile_t f;
+ struct lk_ctx *ctx;
+
+ ctx = lk_init();
+ lk_set_log_fn(ctx, NULL, NULL);
+
+ f.pipe = 0;
+ strcpy(f.pathname, "null");
+ f.fd = fopen("/dev/null", "r");
+
+ fail_if(lk_parse_keymap(ctx, &f) != 0, "Unable to parse keymap");
+
+ s = lk_get_charset(ctx);
+
+ fail_if(s != NULL, "Wrong charset");
+
+ lk_free(ctx);
+}
+END_TEST
+
+static Suite *
+libkeymap_suite(void)
+{
+ Suite *s = suite_create("libkeymap");
+ TCase *tc_core = tcase_create(NULL);
+
+ tcase_add_test(tc_core, test0);
+ tcase_add_test(tc_core, test1);
+
+ suite_add_tcase(s, tc_core);
+ return s;
+}
+
+int main(void)
+{
+ int number_failed;
+
+ Suite *s = libkeymap_suite();
+ SRunner *sr = srunner_create (s);
+
+ srunner_run_all(sr, CK_NORMAL);
+
+ number_failed = srunner_ntests_failed(sr);
+ srunner_free (sr);
+
+ return (number_failed == 0) ? EXIT_SUCCESS : EXIT_FAILURE;
+}
diff --git a/tests/libkeymap-dumpkeys.c b/tests/libkeymap-dumpkeys.c
new file mode 100644
index 0000000..6d7ec2c
--- /dev/null
+++ b/tests/libkeymap-dumpkeys.c
@@ -0,0 +1,38 @@
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <keymap.h>
+
+int main(int argc, char **argv)
+{
+ lk_table_shape table;
+ char numeric;
+ struct lk_ctx *ctx;
+ lkfile_t f;
+
+ if (argc == 1) {
+ printf("Usage: %s <keymap> <table_shape> <numeric>\n", argv[0]);
+ return 1;
+ }
+
+ if (!strcasecmp(argv[2], "FULL_TABLE")) table = LK_SHAPE_FULL_TABLE;
+ else if (!strcasecmp(argv[2], "SEPARATE_LINES")) table = LK_SHAPE_SEPARATE_LINES;
+ else if (!strcasecmp(argv[2], "UNTIL_HOLE")) table = LK_SHAPE_UNTIL_HOLE;
+ else table = LK_SHAPE_DEFAULT;
+
+ numeric = (!strcasecmp(argv[3], "TRUE")) ? 1 : 0;
+
+ ctx = lk_init();
+ lk_set_parser_flags(ctx, LK_FLAG_PREFER_UNICODE);
+
+ f.pipe = 0;
+ strcpy(f.pathname, argv[1]);
+ f.fd = fopen( argv[1], "r");
+
+ lk_parse_keymap(ctx, &f);
+ lk_dump_keymap(ctx, stdout, table, numeric);
+ lk_dump_diacs(ctx, stdout);
+
+ lk_free(ctx);
+ return 0;
+}
diff --git a/tests/libkeymap-init.c b/tests/libkeymap-init.c
new file mode 100644
index 0000000..a384c53
--- /dev/null
+++ b/tests/libkeymap-init.c
@@ -0,0 +1,68 @@
+#include <stdio.h>
+#include <stdlib.h>
+#include <check.h>
+#include <keymap.h>
+
+
+START_TEST(test_create_0)
+{
+ struct lk_ctx *ctx;
+
+ ctx = lk_init();
+
+ fail_if(ctx == NULL,
+ "Unable to initialize structure by valid pointer");
+ lk_free(ctx);
+}
+END_TEST
+
+START_TEST(test_free_0)
+{
+ struct lk_ctx *ctx;
+
+ ctx = lk_init();
+
+ fail_if(ctx == NULL,
+ "Unable to initialize structure by valid pointer");
+
+ fail_unless(lk_free(ctx) == 0,
+ "Unable to free by valid pointer");
+}
+END_TEST
+
+START_TEST(test_free_1)
+{
+ fail_if(lk_free(NULL) == 0,
+ "Possible to free NULL pointer");
+}
+END_TEST
+
+
+static Suite *
+libkeymap_suite(void)
+{
+ Suite *s = suite_create("libkeymap");
+ TCase *tc_core = tcase_create(NULL);
+
+ tcase_add_test(tc_core, test_create_0);
+ tcase_add_test(tc_core, test_free_0);
+ tcase_add_test(tc_core, test_free_1);
+
+ suite_add_tcase(s, tc_core);
+ return s;
+}
+
+int main(void)
+{
+ int number_failed;
+
+ Suite *s = libkeymap_suite();
+ SRunner *sr = srunner_create (s);
+
+ srunner_run_all(sr, CK_NORMAL);
+
+ number_failed = srunner_ntests_failed(sr);
+ srunner_free (sr);
+
+ return (number_failed == 0) ? EXIT_SUCCESS : EXIT_FAILURE;
+}
diff --git a/tests/libkeymap-keys.c b/tests/libkeymap-keys.c
new file mode 100644
index 0000000..cbd9477
--- /dev/null
+++ b/tests/libkeymap-keys.c
@@ -0,0 +1,148 @@
+#include <stdio.h>
+#include <stdlib.h>
+#include <check.h>
+#include <keymap.h>
+
+
+START_TEST(test_add_key_0)
+{
+ struct lk_ctx *ctx;
+
+ ctx = lk_init();
+ lk_set_log_fn(ctx, NULL, NULL);
+
+ fail_if(lk_add_key(ctx, 0, NR_KEYS + 1, 0) != 0,
+ "Unable to use index > NR_KEYS");
+
+ fail_if(lk_add_key(ctx, MAX_NR_KEYMAPS + 1, 0, 0) != 0,
+ "Unable to use table > MAX_NR_KEYMAPS");
+
+ lk_free(ctx);
+}
+END_TEST
+
+START_TEST(test_add_key_1)
+{
+ struct lk_ctx *ctx;
+
+ ctx = lk_init();
+ lk_set_log_fn(ctx, NULL, NULL);
+
+ fail_unless(lk_add_key(ctx, 0, 0, 0) == 0,
+ "Unable to add keycode = 0");
+
+ fail_unless(lk_add_key(ctx, 0, 0, 16) == 0,
+ "Unable to add keycode = 16");
+
+ fail_unless(lk_add_key(ctx, 1, 1, K_HOLE) == 0,
+ "Unable to add keycode = K_HOLE");
+
+ lk_free(ctx);
+}
+END_TEST
+
+START_TEST(test_add_key_2)
+{
+ struct lk_ctx *ctx;
+
+ ctx = lk_init();
+ lk_set_log_fn(ctx, NULL, NULL);
+ lk_set_parser_flags(ctx, LK_KEYWORD_ALTISMETA);
+
+ fail_unless(lk_add_key(ctx, 0, 0, 16) == 0,
+ "Unable to add keycode");
+
+ fail_unless(lk_get_key(ctx, 0, 0) == 16,
+ "Unable to get keycode");
+
+ lk_free(ctx);
+}
+END_TEST
+
+START_TEST(test_add_func_0)
+{
+ char *stringvalues[30] = {
+ /* F1 .. F20 */
+ "\033[[A", "\033[[B", "\033[[C", "\033[[D", "\033[[E",
+ "\033[17~", "\033[18~", "\033[19~", "\033[20~", "\033[21~",
+ "\033[23~", "\033[24~", "\033[25~", "\033[26~",
+ "\033[28~", "\033[29~",
+ "\033[31~", "\033[32~", "\033[33~", "\033[34~",
+ /* Find, Insert, Remove, Select, Prior */
+ "\033[1~", "\033[2~", "\033[3~", "\033[4~", "\033[5~",
+ /* Next, Macro, Help, Do, Pause */
+ "\033[6~", 0, 0, 0, 0
+ };
+ int i;
+ struct lk_ctx *ctx;
+
+ ctx = lk_init();
+ lk_set_log_fn(ctx, NULL, NULL);
+
+ for (i = 0; i < 30; i++) {
+ struct kbsentry ke;
+
+ if (!(stringvalues[i]))
+ continue;
+
+ strncpy((char *)ke.kb_string, stringvalues[i],
+ sizeof(ke.kb_string));
+ ke.kb_string[sizeof(ke.kb_string) - 1] = 0;
+ ke.kb_func = i;
+
+ fail_if(lk_add_func(ctx, ke) == -1,
+ "Unable to add function");
+ }
+
+ lk_free(ctx);
+}
+END_TEST
+
+START_TEST(test_add_diacr_0)
+{
+ int i = MAX_DIACR + 10;
+ struct lk_ctx *ctx;
+
+ ctx = lk_init();
+ lk_set_log_fn(ctx, NULL, NULL);
+
+ while (i > 0) {
+ fail_if(lk_add_diacr(ctx, 0, 0, 0) != 0,
+ "Unable to add diacr");
+ i--;
+ }
+
+ lk_free(ctx);
+}
+END_TEST
+
+static Suite *
+libkeymap_suite(void)
+{
+ Suite *s = suite_create("libkeymap");
+ TCase *tc_core = tcase_create(NULL);
+
+ tcase_add_test(tc_core, test_add_key_0);
+ tcase_add_test(tc_core, test_add_key_1);
+ tcase_add_test(tc_core, test_add_key_2);
+ tcase_add_test(tc_core, test_add_func_0);
+ tcase_add_test(tc_core, test_add_diacr_0);
+
+ suite_add_tcase(s, tc_core);
+ return s;
+}
+
+int main(void)
+{
+ int number_failed;
+
+ Suite *s = libkeymap_suite();
+ SRunner *sr = srunner_create (s);
+
+ srunner_run_all(sr, CK_NORMAL);
+
+ number_failed = srunner_ntests_failed(sr);
+ srunner_free (sr);
+
+ return (number_failed == 0) ? EXIT_SUCCESS : EXIT_FAILURE;
+}
diff --git a/tests/libkeymap-kmap.c b/tests/libkeymap-kmap.c
new file mode 100644
index 0000000..a5791f5
--- /dev/null
+++ b/tests/libkeymap-kmap.c
@@ -0,0 +1,84 @@
+#include <stdio.h>
+#include <stdlib.h>
+#include <check.h>
+#include <keymap.h>
+
+
+START_TEST(test_add_map_border)
+{
+ struct lk_ctx *ctx;
+
+ ctx = lk_init();
+ lk_set_log_fn(ctx, NULL, NULL);
+
+ fail_unless(lk_add_map(ctx, MAX_NR_KEYMAPS) == 0,
+ "Unable to define map == MAX_NR_KEYMAPS");
+
+ fail_unless(lk_add_map(ctx, MAX_NR_KEYMAPS*2) == 0,
+ "Unable to define map == MAX_NR_KEYMAPS*2");
+
+ fail_unless(lk_add_map(ctx, 0) == 0,
+ "Unable to define map");
+
+ fail_unless(lk_add_map(ctx, 0) == 0,
+ "Unable to define map");
+
+ lk_free(ctx);
+}
+END_TEST
+
+START_TEST(test_add_map_0)
+{
+ struct lk_ctx *ctx;
+ struct kmapinfo info;
+
+ ctx = lk_init();
+ lk_set_log_fn(ctx, NULL, NULL);
+
+ fail_if(lk_add_map(ctx, 0) != 0, "Unable to define map");
+ lk_get_kmapinfo(ctx, &info);
+ fail_if(info.keymaps != 1, "Wrong keymap number");
+
+ fail_if(lk_add_map(ctx, 0) != 0, "Unable to define map");
+ lk_get_kmapinfo(ctx, &info);
+ fail_if(info.keymaps != 1, "Wrong keymap number");
+
+ fail_if(lk_add_map(ctx, 1) != 0, "Unable to define map");
+ lk_get_kmapinfo(ctx, &info);
+ fail_if(info.keymaps != 2, "Wrong keymap number");
+
+ fail_if(lk_add_map(ctx, 2) != 0, "Unable to define map");
+ lk_get_kmapinfo(ctx, &info);
+ fail_if(info.keymaps != 3, "Wrong keymap number");
+
+ lk_free(ctx);
+}
+END_TEST
+
+static Suite *
+libkeymap_suite(void)
+{
+ Suite *s = suite_create("libkeymap");
+ TCase *tc_core = tcase_create(NULL);
+
+ tcase_add_test(tc_core, test_add_map_border);
+ tcase_add_test(tc_core, test_add_map_0);
+
+ suite_add_tcase(s, tc_core);
+ return s;
+}
+
+int main(void)
+{
+ int number_failed;
+
+ Suite *s = libkeymap_suite();
+ SRunner *sr = srunner_create (s);
+
+ srunner_run_all(sr, CK_NORMAL);
+
+ number_failed = srunner_ntests_failed(sr);
+ srunner_free (sr);
+
+ return (number_failed == 0) ? EXIT_SUCCESS : EXIT_FAILURE;
+}
diff --git a/tests/libkeymap-mktable.c b/tests/libkeymap-mktable.c
new file mode 100644
index 0000000..2fb3691
--- /dev/null
+++ b/tests/libkeymap-mktable.c
@@ -0,0 +1,22 @@
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <keymap.h>
+
+int main(int argc, char **argv)
+{
+ struct lk_ctx *ctx;
+ lkfile_t f;
+
+ ctx = lk_init();
+
+ f.pipe = 0;
+ strcpy(f.pathname, argv[1]);
+ f.fd = fopen( argv[1], "r");
+
+ lk_parse_keymap(ctx, &f);
+ lk_dump_ctable(ctx, stdout);
+
+ lk_free(ctx);
+ return 0;
+}
diff --git a/tests/libkeymap-parse.c b/tests/libkeymap-parse.c
new file mode 100644
index 0000000..e3aa910
--- /dev/null
+++ b/tests/libkeymap-parse.c
@@ -0,0 +1,246 @@
+#include <stdio.h>
+#include <stdlib.h>
+#include <check.h>
+#include <keymap.h>
+
+#include "modifiers.h"
+
+struct modifier {
+ const char *name;
+ const int bit;
+ const char ch;
+};
+
+
+START_TEST(test_parse_0)
+{
+ int c;
+ lkfile_t f;
+ struct lk_ctx *ctx;
+
+ ctx = lk_init();
+ lk_set_log_fn(ctx, NULL, NULL);
+
+ f.pipe = 0;
+ strcpy(f.pathname, "keymap0.map");
+ f.fd = fopen(DATADIR "/keymap0.map", "r");
+
+ fail_if(lk_parse_keymap(ctx, &f) != 0, "Unable to parse keymap");
+
+ c = lk_get_key(ctx, 0, 16);
+ fail_if(KVAL(c) != 'q', "Unable to get keycode 16");
+
+ c = lk_get_key(ctx, 0, 17);
+ fail_if(KVAL(c) != 'w', "Unable to get keycode 17");
+
+ c = lk_get_key(ctx, 0, 18);
+ fail_if(KVAL(c) != 'e', "Unable to get keycode 18");
+
+ c = lk_get_key(ctx, 0, 19);
+ fail_if(KVAL(c) != 'r', "Unable to get keycode 19");
+
+ c = lk_get_key(ctx, 0, 20);
+ fail_if(KVAL(c) != 't', "Unable to get keycode 20");
+
+ c = lk_get_key(ctx, 0, 21);
+ fail_if(KVAL(c) != 'y', "Unable to get keycode 21");
+
+ lk_free(ctx);
+}
+END_TEST
+
+START_TEST(test_parse_1)
+{
+ int c;
+ lkfile_t f;
+ struct lk_ctx *ctx;
+
+ ctx = lk_init();
+ lk_set_log_fn(ctx, NULL, NULL);
+
+ f.pipe = 0;
+ strcpy(f.pathname, "keymap1.map");
+ f.fd = fopen(DATADIR "/keymap1.map", "r");
+
+ fail_if(lk_parse_keymap(ctx, &f) != 0, "Unable to parse keymap");
+
+ c = lk_get_key(ctx, 0, 16);
+ fail_if(KVAL(c) != 'q', "Unable to get keycode");
+
+ c = lk_get_key(ctx, 1, 16);
+ fail_if(KVAL(c) != 'Q', "Unable to get keycode");
+
+ lk_free(ctx);
+}
+END_TEST
+
+START_TEST(test_parse_2)
+{
+ int i = 0;
+ lkfile_t f;
+ struct lk_ctx *ctx;
+
+ ctx = lk_init();
+ lk_set_log_fn(ctx, NULL, NULL);
+
+ f.pipe = 0;
+ strcpy(f.pathname, "keymap2.map");
+ f.fd = fopen(DATADIR "/keymap2.map", "r");
+
+ fail_if(lk_parse_keymap(ctx, &f) != 0, "Unable to parse keymap");
+
+ while (i < MAX_NR_KEYMAPS) {
+ int c = lk_get_key(ctx, i, 17);
+ fail_if(KVAL(c) != 'x', "Unable to get keycode");
+ i++;
+ }
+
+ lk_free(ctx);
+}
+END_TEST
+
+START_TEST(test_parse_3)
+{
+ int i;
+ char str[] = "qwertyuiopasdfghjklzxcvbnm";
+ lkfile_t f;
+ struct lk_ctx *ctx;
+
+ ctx = lk_init();
+ lk_set_log_fn(ctx, NULL, NULL);
+
+ f.pipe = 0;
+ strcpy(f.pathname, "keymap3.map");
+ f.fd = fopen(DATADIR "/keymap3.map", "r");
+
+ fail_if(lk_parse_keymap(ctx, &f) != 0, "Unable to parse keymap");
+
+ for (i = 0; i < 26; i++) {
+ int c = lk_get_key(ctx, i, 17);
+ fail_if(KVAL(c) != str[i], "Unable to get keycode");
+ }
+
+ lk_free(ctx);
+}
+END_TEST
+
+START_TEST(test_parse_4)
+{
+ int c;
+ lkfile_t f;
+ struct lk_ctx *ctx;
+
+ ctx = lk_init();
+ lk_set_log_fn(ctx, NULL, NULL);
+
+ f.pipe = 0;
+ strcpy(f.pathname, "keymap4.map");
+ f.fd = fopen(DATADIR "/keymap4.map", "r");
+
+ fail_if(lk_parse_keymap(ctx, &f) != 0, "Unable to parse keymap");
+
+ c = lk_get_key(ctx, 0, 16);
+ fail_if(KVAL(c) != 'q', "Unable to get keycode");
+
+ c = lk_get_key(ctx, 0, 17);
+ fail_if(KVAL(c) != 'w', "Include40.map failed");
+
+ c = lk_get_key(ctx, 0, 18);
+ fail_if(KVAL(c) != 'e', "Include41.map failed");
+
+ lk_free(ctx);
+}
+END_TEST
+
+START_TEST(test_parse_5)
+{
+ int i;
+ lkfile_t f;
+ struct kbsentry kbs;
+ struct lk_ctx *ctx;
+
+ ctx = lk_init();
+ lk_set_log_fn(ctx, NULL, NULL);
+
+ f.pipe = 0;
+ strcpy(f.pathname, "keymap5.map");
+ f.fd = fopen(DATADIR "/keymap5.map", "r");
+
+ fail_if(lk_parse_keymap(ctx, &f) != 0, "Unable to parse keymap");
+
+ for(i = 0; i < MAX_NR_FUNC; i++) {
+ kbs.kb_func = i;
+ kbs.kb_string[0] = 0;
+ fail_if(lk_get_func(ctx, &kbs) != 0,
+ "Unable to get func %d", i);
+ }
+
+ lk_free(ctx);
+}
+END_TEST
+
+START_TEST(test_parse_6)
+{
+ lkfile_t f;
+ struct kbsentry kbs;
+ struct lk_ctx *ctx;
+
+ ctx = lk_init();
+ lk_set_log_fn(ctx, NULL, NULL);
+
+ f.pipe = 0;
+ strcpy(f.pathname, "keymap6.map");
+ f.fd = fopen(DATADIR "/keymap6.map", "r");
+
+ fail_if(lk_parse_keymap(ctx, &f) != 0, "Unable to parse keymap");
+
+ kbs.kb_func = 0;
+ kbs.kb_string[0] = 0;
+ fail_if(lk_get_func(ctx, &kbs) != 0, "Unable to get func 0");
+
+ kbs.kb_func = 1;
+ kbs.kb_string[0] = 0;
+ fail_if(lk_get_func(ctx, &kbs) != 0, "Unable to get func 1");
+
+ kbs.kb_func = 2;
+ kbs.kb_string[0] = 0;
+ fail_if(lk_get_func(ctx, &kbs) != -1, "Possible to get not alloced func");
+
+ lk_free(ctx);
+}
+END_TEST
+
+static Suite *
+libkeymap_suite(void)
+{
+ Suite *s = suite_create("libkeymap");
+ TCase *tc_core = tcase_create(NULL);
+
+ setenv("LOADKEYS_INCLUDE_PATH", DATADIR, 1);
+
+ tcase_add_test(tc_core, test_parse_0);
+ tcase_add_test(tc_core, test_parse_1);
+ tcase_add_test(tc_core, test_parse_2);
+ tcase_add_test(tc_core, test_parse_3);
+ tcase_add_test(tc_core, test_parse_4);
+ tcase_add_test(tc_core, test_parse_5);
+ tcase_add_test(tc_core, test_parse_6);
+
+ suite_add_tcase(s, tc_core);
+ return s;
+}
+
+int main(void)
+{
+ int number_failed;
+
+ Suite *s = libkeymap_suite();
+ SRunner *sr = srunner_create (s);
+
+ srunner_run_all(sr, CK_NORMAL);
+
+ number_failed = srunner_ntests_failed(sr);
+ srunner_free (sr);
+
+ return (number_failed == 0) ? EXIT_SUCCESS : EXIT_FAILURE;
+}